Skip to contentSkip to conversation

poky-tiny: Enable x86-64 to build eglibc correctly

PATCH In review Saul Wold 5 participants 8 messages Aug 30, 2012 – Sep 6, 2012

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

PATCH 1/1 poky-tiny: Enable x86-64 to build eglibc correctly

The libc-libm-big option allows eglibc to correctly configure itself to include the correct math functions for 64bit operations

[YOCTO #2943]

---
 meta-yocto/conf/distro/poky-tiny.conf |    1 +
 1 file changed, 1 insertion(+)
meta-yocto/conf/distro/poky-tiny.conf +1 -0
index 8ae1d85..bfb4432 100644
@@ -63,6 +63,7 @@ ASSUME_PROVIDED += "pkgconfig$"
 # Reconfigure eglibc for a smaller installation
 # Comment out any of the lines below to disable them in the build
 DISTRO_FEATURES_LIBC_TINY = "libc-libm libc-crypt"
+DISTRO_FEATURES_LIBC_TINY_append_x86-64 = " libc-libm-big"
 
 # Required for "who"
 DISTRO_FEATURES_LIBC_MINIMAL = "libc-utmp libc-getlogin"
Signature · 1 line
1.7.9.5
#1 lore raw
Quoted 6 lines · Saul Wold

The libc-libm-big option allows eglibc to correctly configure itself to include the correct math functions for 64bit operations

[YOCTO #2943]

I'm curious, is this needed for other 64 bit platforms, e.g. powerpc64?

Signature · 1 line
Christopher Larson
#2 lore raw
Quoted 9 lines · Chris Larson
Quoted 6 lines · Saul Wold

The libc-libm-big option allows eglibc to correctly configure itself to include the correct math functions for 64bit operations

[YOCTO #2943]

I'm curious, is this needed for other 64 bit platforms, e.g. powerpc64?

Also out of curiosity, what's the use-case for 64-bit userspace in a "tiny" context? I would have thought that you'd generally want x32.

p.

#3 lore raw
Quoted 5 lines · Phil Blundell
Quoted 4 lines · Chris Larson
Quoted 3 lines · Saul Wold

The libc-libm-big option allows eglibc to correctly configure itself to include the correct math functions for 64bit operations

Quoted 9 lines
Quoted 5 lines
Quoted 3 lines

[YOCTO #2943]

I'm curious, is this needed for other 64 bit platforms, e.g. powerpc64?

Also out of curiosity, what's the use-case for 64-bit userspace in a "tiny" context? I would have thought that you'd generally want x32.

I guess its for sake of completeness.

Quoted 8 lines

p.

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#4 lore raw
In reply to Saul Wold
Quoted 15 lines · Saul Wold

The libc-libm-big option allows eglibc to correctly configure itself to include the correct math functions for 64bit operations

[YOCTO #2943]

---
 meta-yocto/conf/distro/poky-tiny.conf |    1 +
 1 file changed, 1 insertion(+)
meta-yocto/conf/distro/poky-tiny.conf +0 -0
index 8ae1d85..bfb4432 100644

meta-yocto/conf/distro/poky-tiny.conf ASSUME_PROVIDED += "pkgconfig$" · line 69

Quoted 7 lines
meta-yocto/conf/distro/poky-tiny.conf +1 -0
@@ -63,6 +63,7 @@ ASSUME_PROVIDED += "pkgconfig$"
 # Reconfigure eglibc for a smaller installation
 # Comment out any of the lines below to disable them in the build
 DISTRO_FEATURES_LIBC_TINY = "libc-libm libc-crypt"
+DISTRO_FEATURES_LIBC_TINY_append_x86-64 = " libc-libm-big"
 
 # Required for "who"
 DISTRO_FEATURES_LIBC_MINIMAL = "libc-utmp libc-getlogin"

there is a bug in eglibc if it cant build without libc-libm-big it should have not caused any undefined symbol failures because all it should have done is not use double precision so your computations will be less accurate.

Quoted 8 lines

--
1.7.9.5

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

author
#5 lore raw
Quoted 21 lines · Khem Raj
Quoted 20 lines · Saul Wold

The libc-libm-big option allows eglibc to correctly configure itself to include the correct math functions for 64bit operations

[YOCTO #2943]

---
  meta-yocto/conf/distro/poky-tiny.conf |    1 +
  1 file changed, 1 insertion(+)
meta-yocto/conf/distro/poky-tiny.conf +1 -0
index 8ae1d85..bfb4432 100644
@@ -63,6 +63,7 @@ ASSUME_PROVIDED += "pkgconfig$"
  # Reconfigure eglibc for a smaller installation
  # Comment out any of the lines below to disable them in the build
  DISTRO_FEATURES_LIBC_TINY = "libc-libm libc-crypt"
+DISTRO_FEATURES_LIBC_TINY_append_x86-64 = " libc-libm-big"
 
Quoted 9 lines

meta-yocto/conf/distro/poky-tiny.conf ASSUME_PROVIDED += "pkgconfig$" · line 69

Quoted 2 lines
meta-yocto/conf/distro/poky-tiny.conf +0 -0
  # Required for "who"
  DISTRO_FEATURES_LIBC_MINIMAL = "libc-utmp libc-getlogin"

there is a bug in eglibc if it cant build without libc-libm-big it should have not caused any undefined symbol failures because all it should have done is not use double precision so your computations will be less accurate.

Khem,

You are correct the problem is that if the libm-big option is not specificed it grabs the dbl-wrap files for some sysdep function, but still uses the dbl-64 functions for others.

Should I file an eglibc bug?

Sau!

Quoted 10 lines
Quoted 8 lines

--
1.7.9.5

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#6 lore raw
Quoted 2 lines · Saul Wold

Should I file an eglibc bug?

yes

#7 lore raw
In reply to Khem Raj
Quoted 21 lines · Khem Raj
Quoted 20 lines · Saul Wold

The libc-libm-big option allows eglibc to correctly configure itself to include the correct math functions for 64bit operations

[YOCTO #2943]

---
 meta-yocto/conf/distro/poky-tiny.conf |    1 +
 1 file changed, 1 insertion(+)
meta-yocto/conf/distro/poky-tiny.conf +1 -0
index 8ae1d85..bfb4432 100644
@@ -63,6 +63,7 @@ ASSUME_PROVIDED += "pkgconfig$"
 # Reconfigure eglibc for a smaller installation
 # Comment out any of the lines below to disable them in the build
 DISTRO_FEATURES_LIBC_TINY = "libc-libm libc-crypt"
+DISTRO_FEATURES_LIBC_TINY_append_x86-64 = " libc-libm-big"
 
Quoted 8 lines

meta-yocto/conf/distro/poky-tiny.conf ASSUME_PROVIDED += "pkgconfig$" · line 69

Quoted 2 lines
meta-yocto/conf/distro/poky-tiny.conf +0 -0
 # Required for "who"
 DISTRO_FEATURES_LIBC_MINIMAL = "libc-utmp libc-getlogin"

there is a bug in eglibc if it cant build without libc-libm-big it should have not caused any undefined symbol failures because all it should have done is not use double precision so your computations will be less accurate.

Agreed.

~200K is significant when we are talking about < 4MB images. However, so long as we track the eglibc bug, I am fine with including this workaround to get things going.

I would ask that a comment be added which calls this out as a workaround for the eglibc bug (a bug number would be great).

Thanks,

Darren

Quoted 15 lines
Quoted 9 lines

--
1.7.9.5

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Technical Lead - Linux Kernel