eglibc 2.16
cover eglibc 2.16
This patch adds eglibc 2.16 recipes. I was able to build world on x86 except perf which was failing with 2.15 as well.
I have also build and run core-image-sato on all qemus
I did not remove 2.15 to allow some soak in time.
The following changes since commit 5beb7176d361d4bfa279bbfab5a17b8fe4fa3b73:
netbase: update to ver. 5.0 (2012-07-05 14:18:19 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib kraj/eglibc-2.16
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/eglibc-2.16
Khem Raj (14):
mirrors: Add debian archive snapshot mirrors to search list
gdb: Replace struct siginfo with proper siginfo_t
busybox: Include sys/resource.h for rusage definition
coreutils: Fix build with eglibc 2.16
diffutils: Fix build with eglibc 2.16
udev: Fix build with eglibc 2.16 gettext,m4,augeas,gnutls: Account for removal of gets in eglibc 2.16
bison: Fix for gets being removed from eglibc 2.16 grub,guile,cpio,tar,wget: Fix gnulib for absense of gets in eglibc
boost: Upgrade recipe to 1.50.0
puzzles: Fix checksums
valgrind: Fix build with eglibc 2.16
libpam: Fix build with eglibc 2.16
eglibc: Add recipes for 2.16 release
meta/classes/mirrors.bbclass | 4 +-
meta/recipes-bsp/grub/grub-1.99/remove-gets.patch | 20 +
meta/recipes-bsp/grub/grub_1.99.bb | 3 +-
.../busybox/busybox-1.19.4/sys_resource.patch | 18 +
meta/recipes-core/busybox/busybox_1.19.4.bb | 3 +-
.../coreutils/coreutils-8.14/remove-gets.patch | 23 +
meta/recipes-core/coreutils/coreutils_8.14.bb | 3 +-
.../eglibc/cross-localedef-native_2.16.bb | 44 ++
.../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch | 108 ++++
.../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch | 17 +
.../eglibc-svn-arm-lowlevellock-include-tls.patch | 21 +
.../eglibc_fix_findidx_parameters.patch | 38 ++
.../eglibc/eglibc-2.16/generate-supported.mk | 11 +
.../eglibc/eglibc-2.16/initgroups_keys.patch | 20 +
.../eglibc/eglibc-2.16/ld-search-order.patch | 56 ++
.../eglibc/eglibc-2.16/mips-rld-map-check.patch | 26 +
.../eglibc/eglibc-2.16/multilib_readlib.patch | 17 +
.../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch | 538 ++++++++++++++++++++
.../eglibc/eglibc-2.16/ppc-sqrt_finite.patch | 112 ++++
.../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch | 123 +++++
.../eglibc/eglibc-2.16/rpc-bootstrap.patch | 63 +++
.../eglibc-2.16/use-sysroot-cxx-headers.patch | 42 ++
meta/recipes-core/eglibc/eglibc-initial_2.16.bb | 6 +
meta/recipes-core/eglibc/eglibc-locale_2.16.bb | 1 +
meta/recipes-core/eglibc/eglibc_2.16.bb | 146 ++++++
.../gettext/gettext-0.18.1.1/remove_gets.patch | 58 +++
meta/recipes-core/gettext/gettext_0.18.1.1.bb | 3 +-
meta/recipes-core/udev/udev/include_resource.patch | 31 ++
meta/recipes-core/udev/udev_164.bb | 7 +-
.../recipes-devtools/bison/bison/remove-gets.patch | 20 +
meta/recipes-devtools/bison/bison_2.5.bb | 6 +-
meta/recipes-devtools/gdb/gdb-common.inc | 2 +-
meta/recipes-devtools/gdb/gdb.inc | 1 +
meta/recipes-devtools/gdb/gdb/siginfo_t.patch | 403 +++++++++++++++
.../recipes-devtools/guile/files/remove-gets.patch | 23 +
meta/recipes-devtools/guile/guile_2.0.5.bb | 3 +-
meta/recipes-devtools/m4/m4-1.4.16.inc | 6 +-
meta/recipes-devtools/m4/m4/remove-gets.patch | 21 +
.../valgrind-3.7.0/configure-with-glibc-2.16.patch | 32 ++
meta/recipes-devtools/valgrind/valgrind_3.7.0.bb | 6 +-
.../augeas/augeas/remove-gets.patch | 20 +
meta/recipes-extended/augeas/augeas_0.10.0.bb | 4 +-
.../cpio/cpio-2.11/remove-gets.patch | 20 +
meta/recipes-extended/cpio/cpio_2.11.bb | 5 +-
.../diffutils/diffutils-3.2/remove-gets.patch | 22 +
meta/recipes-extended/diffutils/diffutils_3.2.bb | 6 +-
.../pam/libpam/include-sys-resource.patch | 12 +
meta/recipes-extended/pam/libpam_1.1.5.bb | 6 +-
.../tar/tar-1.26/remove-gets.patch | 20 +
meta/recipes-extended/tar/tar_1.26.bb | 5 +-
.../wget/wget-1.13.4/remove-gets.patch | 23 +
meta/recipes-extended/wget/wget_1.13.4.bb | 3 +-
meta/recipes-sato/puzzles/puzzles_r9561.bb | 5 +-
.../boost/{boost_1.49.0.bb => boost_1.50.0.bb} | 5 +-
.../gnutls/gnutls/remove-gets.patch | 41 ++
meta/recipes-support/gnutls/gnutls_2.12.20.bb | 3 +-
56 files changed, 2254 insertions(+), 31 deletions(-)
create mode 100644 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch
create mode 100644 meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch
create mode 100644 meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch
create mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb
create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb
create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb
create mode 100644 meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch
create mode 100644 meta/recipes-core/udev/udev/include_resource.patch
create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
create mode 100644 meta/recipes-devtools/gdb/gdb/siginfo_t.patch
create mode 100644 meta/recipes-devtools/guile/files/remove-gets.patch
create mode 100644 meta/recipes-devtools/m4/m4/remove-gets.patch
create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch
create mode 100644 meta/recipes-extended/augeas/augeas/remove-gets.patch
create mode 100644 meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch
create mode 100644 meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch
create mode 100644 meta/recipes-extended/pam/libpam/include-sys-resource.patch
create mode 100644 meta/recipes-extended/tar/tar-1.26/remove-gets.patch
create mode 100644 meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch
rename meta/recipes-support/boost/{boost_1.49.0.bb => boost_1.50.0.bb} (53%)
create mode 100644 meta/recipes-support/gnutls/gnutls/remove-gets.patchSignature · 1 line
1.7.9.5
PATCH 1/14 mirrors: Add debian archive snapshot mirrors to search list
I ran across this problem when apt 0.7.14 was not fetchable from regular debian mirrors and existing snapshot mirror did not have it either since we did not use proper syntax so it was not hitting that.
--- meta/classes/mirrors.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
meta/classes/mirrors.bbclass +3 -1
@@ -1,5 +1,7 @@ MIRRORS += "\ -${DEBIAN_MIRROR}/main http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool/ \n \ +${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool \n \ +${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20110127T084257Z/debian/pool \n \ +${DEBIAN_MIRROR} http://snapshot.debian.org/archive/debian-archive/20090802T004153Z/debian/pool \n \ ${DEBIAN_MIRROR} ftp://ftp.de.debian.org/debian/pool \n \ ${DEBIAN_MIRROR} ftp://ftp.au.debian.org/debian/pool \n \ ${DEBIAN_MIRROR} ftp://ftp.cl.debian.org/debian/pool \n \
Signature · 1 line
1.7.9.5
PATCH 2/14 gdb: Replace struct siginfo with proper siginfo_t
Fixes errors like
/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/work/armv5te-oe-linux-gnueabi/gdb-7.4.1-r0.0/gdb-7.4.1/gdb/linux-nat.h:79:18:
error: field 'siginfo' has incomplete type
--- meta/recipes-devtools/gdb/gdb-common.inc | 2 +- meta/recipes-devtools/gdb/gdb.inc | 1 + meta/recipes-devtools/gdb/gdb/siginfo_t.patch | 403 +++++++++++++++++++++++++ 3 files changed, 405 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/gdb/gdb/siginfo_t.patch
meta/recipes-devtools/gdb/gdb-common.inc +1 -1
@@ -12,7 +12,7 @@ LTTNGUST_mips64 = "" LTTNGUST_mips64el = "" LTTNGUST_sh4 = "" -INC_PR = "r0" +INC_PR = "r1" LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \
meta/recipes-devtools/gdb/gdb.inc +1 -0
@@ -5,6 +5,7 @@ inherit gettext SRC_URI += "file://kill_arm_map_symbols.patch \ file://gdbserver-cflags-last.diff;striplevel=0 \ file://renesas-sh-native-support.patch \ + file://siginfo_t.patch \ " #LDFLAGS_append = " -s" #export CFLAGS_append=" -L${STAGING_LIBDIR}"
meta/recipes-devtools/gdb/gdb/siginfo_t.patch new file +403 -0
403 lines not on this page · raw message
Signature · 1 line
1.7.9.5
PATCH 3/14 busybox: Include sys/resource.h for rusage definition
In reply to Khem RajSeen with eglibc 2.16
--- .../busybox/busybox-1.19.4/sys_resource.patch | 18 ++++++++++++++++++ meta/recipes-core/busybox/busybox_1.19.4.bb | 3 ++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch
meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch new file +18 -0
@@ -0,0 +1,18 @@ +rusage needs this include with eglibc 2.16 + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Pending + +Index: busybox-1.19.4/include/libbb.h +=================================================================== +--- busybox-1.19.4.orig/include/libbb.h 2012-07-02 21:41:52.692047712 -0700 ++++ busybox-1.19.4/include/libbb.h 2012-07-02 21:42:24.204049228 -0700 +@@ -46,6 +46,7 @@ + #include <termios.h> + #include <time.h> + #include <sys/param.h> ++#include <sys/resource.h> + #ifdef HAVE_MNTENT_H + # include <mntent.h> + #endif
meta/recipes-core/busybox/busybox_1.19.4.bb +2 -1
@@ -1,5 +1,5 @@ require busybox.inc -PR = "r8" +PR = "r9" SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://B921600.patch \
@@ -8,6 +8,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ file://run-parts.in.usr-bin.patch \ file://watch.in.usr-bin.patch \ file://busybox-udhcpc-no_deconfig.patch \ + file://sys_resource.patch \ file://find-touchscreen.sh \ file://busybox-cron \ file://busybox-httpd \
Signature · 1 line
1.7.9.5
PATCH 4/14 coreutils: Fix build with eglibc 2.16
In reply to Khem Rajeglibc 2.16 has removed gets so we account for that
--- .../coreutils/coreutils-8.14/remove-gets.patch | 23 ++++++++++++++++++++ meta/recipes-core/coreutils/coreutils_8.14.bb | 3 ++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch
meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch new file +23 -0
@@ -0,0 +1,23 @@ +use gets iff its defined. eglibc 2.16 removed gets + +Signed-off-by: Khem Raj <[email protected]> +Upstream-Status: Pending + +Index: coreutils-8.14/lib/stdio.in.h +=================================================================== +--- coreutils-8.14.orig/lib/stdio.in.h 2011-09-24 04:20:48.000000000 -0700 ++++ coreutils-8.14/lib/stdio.in.h 2012-07-03 10:36:19.886296576 -0700 +@@ -713,11 +713,13 @@ + _GL_CXXALIAS_SYS (gets, char *, (char *s)); + # undef gets + # endif ++# if defined gets + _GL_CXXALIASWARN (gets); + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++# endif + #endif + +
meta/recipes-core/coreutils/coreutils_8.14.bb +2 -1
@@ -7,7 +7,7 @@ BUGTRACKER = "http://debbugs.gnu.org/coreutils" LICENSE = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\ file://src/ls.c;startline=5;endline=16;md5=e1a509558876db58fb6667ba140137ad" -PR = "r4" +PR = "r5" DEPENDS = "gmp libcap" DEPENDS_virtclass-native = ""
@@ -15,6 +15,7 @@ inherit autotools gettext SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \ file://remove-usr-local-lib-from-m4.patch \ + file://remove-gets.patch \ " SRC_URI[md5sum] = "bcb135ce553493a45aba01b39eb3920a" SRC_URI[sha256sum] = "0d120817c19292edb19e92ae6b8eac9020e03d51e0af9cb116cf82b65d18b02d"
Signature · 1 line
1.7.9.5
PATCH 5/14 diffutils: Fix build with eglibc 2.16
In reply to Khem Rajeglibc 2.16 has removed gets so we account for that
--- .../diffutils/diffutils-3.2/remove-gets.patch | 22 ++++++++++++++++++++ meta/recipes-extended/diffutils/diffutils_3.2.bb | 6 ++++-- 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch
meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch new file +22 -0
@@ -0,0 +1,22 @@ +check for gets before using it + +Signed-off-by: Khem Raj <[email protected]> +Upstream-Status: Pending +Index: diffutils-3.2/lib/stdio.in.h +=================================================================== +--- diffutils-3.2.orig/lib/stdio.in.h 2011-08-28 04:57:28.000000000 -0700 ++++ diffutils-3.2/lib/stdio.in.h 2012-07-03 10:45:07.518322117 -0700 +@@ -693,11 +693,13 @@ + _GL_CXXALIAS_SYS (gets, char *, (char *s)); + # undef gets + # endif ++# if defined gets + _GL_CXXALIASWARN (gets); + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++# endif + #endif + +
meta/recipes-extended/diffutils/diffutils_3.2.bb +4 -2
@@ -5,9 +5,11 @@ SECTION = "base" LICENSE = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -PR = "r0" +PR = "r1" -SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.gz" +SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.gz \ + file://remove-gets.patch \ + " inherit autotools update-alternatives gettext
Signature · 1 line
1.7.9.5
PATCH 6/14 udev: Fix build with eglibc 2.16
In reply to Khem RajInclude sys/resource.h to get definition ofPRIO_PROCESS
--- meta/recipes-core/udev/udev/include_resource.patch | 31 ++++++++++++++++++++ meta/recipes-core/udev/udev_164.bb | 7 +++-- 2 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-core/udev/udev/include_resource.patch
meta/recipes-core/udev/udev/include_resource.patch new file +31 -0
@@ -0,0 +1,31 @@ +Fixes errors like below with eglibc 2.16 + +libudev/libudev-util-private.c:348:16: error: 'PRIO_PROCESS' undeclared (first use in this function) + +Signed-off-by: Khem Raj <[email protected]> +Upstream-Status: Pending + +Index: udev-164/libudev/libudev-util-private.c +=================================================================== +--- udev-164.orig/libudev/libudev-util-private.c 2010-08-03 02:42:26.000000000 -0700 ++++ udev-164/libudev/libudev-util-private.c 2012-07-03 10:53:35.082346684 -0700 +@@ -21,6 +21,7 @@ + #include <grp.h> + #include <sys/wait.h> + #include <sys/param.h> ++#include <sys/resource.h> + + #include "libudev.h" + #include "libudev-private.h" +Index: udev-164/udev/udevd.c +=================================================================== +--- udev-164.orig/udev/udevd.c 2010-10-13 04:08:29.000000000 -0700 ++++ udev-164/udev/udevd.c 2012-07-03 10:53:19.214345914 -0700 +@@ -43,6 +43,7 @@ + #include <sys/ioctl.h> + #include <sys/inotify.h> + #include <sys/utsname.h> ++#include <sys/resource.h> + + #include "udev.h" + #include "sd-daemon.h"
meta/recipes-core/udev/udev_164.bb +4 -3
@@ -1,8 +1,9 @@ include udev.inc -PR = "r13" - -SRC_URI += "file://udev-166-v4l1-1.patch" +PR = "r14" +SRC_URI += "file://udev-166-v4l1-1.patch \ + file://include_resource.patch \ + " SRC_URI[md5sum] = "fddac2d54761ea34865af9467377ca9f" SRC_URI[sha256sum] = "c12e66280b5e1465f6587a8cfa47d7405c4caa7e52ce5dd13478d04f6ec05e5c"
Signature · 1 line
1.7.9.5
PATCH 7/14 gettext, m4, augeas, gnutls: Account for removal of gets in eglibc 2.16
In reply to Khem RajThese recipes use gnulib which needs this change to use gets when its defined and not otherwise. Until that change goes into gnulib and then all these package upgrade gnulib in their sourcebase we patch them
--- .../gettext/gettext-0.18.1.1/remove_gets.patch | 58 ++++++++++++++++++++ meta/recipes-core/gettext/gettext_0.18.1.1.bb | 3 +- meta/recipes-devtools/m4/m4-1.4.16.inc | 6 +- meta/recipes-devtools/m4/m4/remove-gets.patch | 21 +++++++ .../augeas/augeas/remove-gets.patch | 20 +++++++ meta/recipes-extended/augeas/augeas_0.10.0.bb | 4 +- .../gnutls/gnutls/remove-gets.patch | 41 ++++++++++++++ meta/recipes-support/gnutls/gnutls_2.12.20.bb | 3 +- 8 files changed, 151 insertions(+), 5 deletions(-) create mode 100644 meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch create mode 100644 meta/recipes-devtools/m4/m4/remove-gets.patch create mode 100644 meta/recipes-extended/augeas/augeas/remove-gets.patch create mode 100644 meta/recipes-support/gnutls/gnutls/remove-gets.patch
meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch new file +58 -0
@@ -0,0 +1,58 @@ +eglibc 2.16 has removed gets so we need to check for it +being there before using it. + + +From glibc stdio.h + +The function has been officially removed in ISO C11. This opportunity + is used to also remove it from the GNU feature list. It is now only + available when explicitly using an old ISO C, Unix, or POSIX standard. + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Pending +Index: gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h +=================================================================== +--- gettext-0.18.1.1.orig/gettext-runtime/gnulib-lib/stdio.in.h 2010-05-17 12:56:12.000000000 -0700 ++++ gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h 2012-07-02 22:42:21.292223316 -0700 +@@ -140,8 +140,10 @@ + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ ++#if defined gets + #undef gets + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@ +Index: gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h +=================================================================== +--- gettext-0.18.1.1.orig/gettext-tools/gnulib-lib/stdio.in.h 2010-05-24 02:42:46.000000000 -0700 ++++ gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h 2012-07-02 23:02:33.476281979 -0700 +@@ -140,8 +140,10 @@ + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ ++#if defined gets + #undef gets + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@ +Index: gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h +=================================================================== +--- gettext-0.18.1.1.orig/gettext-tools/libgettextpo/stdio.in.h 2010-05-17 12:58:03.000000000 -0700 ++++ gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h 2012-07-02 23:01:57.440280253 -0700 +@@ -140,8 +140,10 @@ + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ ++#if defined gets + #undef gets + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@
meta/recipes-core/gettext/gettext_0.18.1.1.bb +2 -1
@@ -5,7 +5,7 @@ SECTION = "libs" LICENSE = "GPLv3+ & LGPL-2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -PR = "r14" +PR = "r15" DEPENDS = "libxml2-native gettext-native virtual/libiconv ncurses expat" DEPENDS_virtclass-native = "libxml2-native gettext-minimal-native" PROVIDES = "virtual/libintl virtual/gettext"
@@ -13,6 +13,7 @@ PROVIDES_virtclass-native = "virtual/gettext-native" RCONFLICTS_${PN} = "proxy-libintl" SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \ file://parallel.patch \ + file://remove_gets.patch \ " SRC_URI_append_libc-uclibc = " file://wchar-uclibc.patch \
meta/recipes-devtools/m4/m4-1.4.16.inc +4 -2
@@ -5,8 +5,10 @@ LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\ file://examples/COPYING;md5=fbc986d45b3dae6725c29870dd6b669d" -PR = "r3" -SRC_URI += "file://ac_config_links.patch" +PR = "r4" +SRC_URI += "file://ac_config_links.patch \ + file://remove-gets.patch \ + " SRC_URI[md5sum] = "a5dfb4f2b7370e9d34293d23fd09b280" SRC_URI[sha256sum] = "e9176a35bb13a1b08482359aa554ee8072794f58f00e4827bf0e06b570c827da"
meta/recipes-devtools/m4/m4/remove-gets.patch new file +21 -0
@@ -0,0 +1,21 @@ +eglibc has remove gets starting 2.16 +therefore check for its being there before +undefining it. + +Upstream-Status: Pending +Signed-off-by: Khem Raj <[email protected]> +Index: m4-1.4.16/lib/stdio.in.h +=================================================================== +--- m4-1.4.16.orig/lib/stdio.in.h 2011-03-01 08:39:29.000000000 -0800 ++++ m4-1.4.16/lib/stdio.in.h 2012-07-03 08:32:08.145935928 -0700 +@@ -161,8 +161,10 @@ + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ ++#if defined gets + #undef gets + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@
meta/recipes-extended/augeas/augeas/remove-gets.patch new file +20 -0
@@ -0,0 +1,20 @@ +eglibc 2.16 has remove gets so check for it to be there before using it + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Pending +Index: augeas-0.10.0/gnulib/lib/stdio.in.h +=================================================================== +--- augeas-0.10.0.orig/gnulib/lib/stdio.in.h 2011-03-03 17:07:59.000000000 -0800 ++++ augeas-0.10.0/gnulib/lib/stdio.in.h 2012-07-03 19:46:42.871894833 -0700 +@@ -161,8 +161,10 @@ + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ ++#if defined gets + #undef gets + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@
meta/recipes-extended/augeas/augeas_0.10.0.bb +3 -1
@@ -1,6 +1,8 @@ require augeas.inc -PR = "r2" +SRC_URI += "file://remove-gets.patch \ + " +PR = "r3" SRC_URI[md5sum] = "fe1834e90a066c3208ac0214622c7352" SRC_URI[sha256sum] = "ec111af06186216930176ebe5ecccdf7bf528528aee9acde1d5d70088484afca"
meta/recipes-support/gnutls/gnutls/remove-gets.patch new file +41 -0
41 lines not on this page · raw message
meta/recipes-support/gnutls/gnutls_2.12.20.bb +2 -1
@@ -1,10 +1,11 @@ require gnutls.inc -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" SRC_URI += "file://gnutls-openssl.patch \ file://correct_rpl_gettimeofday_signature.patch \ file://configure-fix.patch \ + file://remove-gets.patch \ " SRC_URI[md5sum] = "f1dea97da5d4dcdbc675720c9aad9ee3"
Signature · 1 line
1.7.9.5
PATCH 8/14 bison: Fix for gets being removed from eglibc 2.16
In reply to Khem Raj--- .../recipes-devtools/bison/bison/remove-gets.patch | 20 ++++++++++++++++++++ meta/recipes-devtools/bison/bison_2.5.bb | 6 ++++-- 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
meta/recipes-devtools/bison/bison/remove-gets.patch new file +20 -0
@@ -0,0 +1,20 @@ +gets has been removed from eglibc 2.16 + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Pending +Index: bison-2.5/lib/stdio.in.h +=================================================================== +--- bison-2.5.orig/lib/stdio.in.h 2012-07-04 09:09:48.336532195 -0700 ++++ bison-2.5/lib/stdio.in.h 2012-07-04 09:10:22.868533884 -0700 +@@ -180,8 +180,10 @@ + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ ++#if defined gets + #undef gets + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@
meta/recipes-devtools/bison/bison_2.5.bb +4 -2
@@ -9,14 +9,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SECTION = "devel" DEPENDS = "bison-native flex-native" -PR = "r1" +PR = "r2" BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \ file://m4.patch \ " SRC_URI = "${BASE_SRC_URI} \ - file://fix_cross_manpage_building.patch " + file://fix_cross_manpage_building.patch \ + file://remove-gets.patch \ + " SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4" SRC_URI[sha256sum] = "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99"
Signature · 1 line
1.7.9.5
PATCH 9/14 grub, guile, cpio, tar, wget: Fix gnulib for absense of gets in eglibc
In reply to Khem Rajeglibc 2.16 does not export gets anymore
--- meta/recipes-bsp/grub/grub-1.99/remove-gets.patch | 20 +++++++++++++++++ meta/recipes-bsp/grub/grub_1.99.bb | 3 ++- .../recipes-devtools/guile/files/remove-gets.patch | 23 ++++++++++++++++++++ meta/recipes-devtools/guile/guile_2.0.5.bb | 3 ++- .../cpio/cpio-2.11/remove-gets.patch | 20 +++++++++++++++++ meta/recipes-extended/cpio/cpio_2.11.bb | 5 ++++- .../tar/tar-1.26/remove-gets.patch | 20 +++++++++++++++++ meta/recipes-extended/tar/tar_1.26.bb | 5 ++++- .../wget/wget-1.13.4/remove-gets.patch | 23 ++++++++++++++++++++ meta/recipes-extended/wget/wget_1.13.4.bb | 3 ++- 10 files changed, 120 insertions(+), 5 deletions(-) create mode 100644 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch create mode 100644 meta/recipes-devtools/guile/files/remove-gets.patch create mode 100644 meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch create mode 100644 meta/recipes-extended/tar/tar-1.26/remove-gets.patch create mode 100644 meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch
meta/recipes-bsp/grub/grub-1.99/remove-gets.patch new file +20 -0
@@ -0,0 +1,20 @@ +ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Pending +Index: grub-1.99/grub-core/gnulib/stdio.in.h +=================================================================== +--- grub-1.99.orig/grub-core/gnulib/stdio.in.h 2010-12-01 06:45:43.000000000 -0800 ++++ grub-1.99/grub-core/gnulib/stdio.in.h 2012-07-04 12:25:02.057099107 -0700 +@@ -140,8 +140,10 @@ + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ ++#if defined gets + #undef gets + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@
meta/recipes-bsp/grub/grub_1.99.bb +2 -1
@@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "autogen-native" RDEPENDS_${PN} = "diffutils freetype" -PR = "r8" +PR = "r9" SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \ file://grub-install.in.patch \
@@ -23,6 +23,7 @@ SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \ file://grub-1.99-gcc-4.7.0-uninitialized-var-errors.patch \ file://grub-1.99-gcc-4.7.0-strict-aliasing-errors.patch \ file://grub-1.99-fix-enable_execute_stack-check.patch \ + file://remove-gets.patch \ file://40_custom" SRC_URI[md5sum] = "ca9f2a2d571b57fc5c53212d1d22e2b5"
meta/recipes-devtools/guile/files/remove-gets.patch new file +23 -0
@@ -0,0 +1,23 @@ +ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Pending +Index: guile-2.0.5/lib/stdio.in.h +=================================================================== +--- guile-2.0.5.orig/lib/stdio.in.h 2012-01-24 03:06:06.000000000 -0800 ++++ guile-2.0.5/lib/stdio.in.h 2012-07-04 12:28:15.617108481 -0700 +@@ -711,11 +711,13 @@ + _GL_CXXALIAS_SYS (gets, char *, (char *s)); + # undef gets + # endif ++# if defined gets + _GL_CXXALIASWARN (gets); + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++# endif + #endif + +
meta/recipes-devtools/guile/guile_2.0.5.bb +2 -1
@@ -20,6 +20,7 @@ SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.gz \ file://guile_2.0.5_fix_sed_error.patch \ file://guile_2.0.5_disable_goops_optimizations.patch \ file://guile_2.0.5_fix_cross_compilation.patch \ + file://remove-gets.patch \ " # file://debian/0001-Change-guile-to-guile-X.Y-for-info-pages.patch
@@ -28,7 +29,7 @@ SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.gz \ SRC_URI[md5sum] = "bcf70d54b44c99cb9acd3f63c5486b4b" SRC_URI[sha256sum] = "2a026ea6cdbc51ca71bcd9787839debfa45ac5db1e26dc00b30ca9b128b10956" -PR = "r1" +PR = "r2" inherit autotools gettext BBCLASSEXTEND = "native"
meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch new file +20 -0
@@ -0,0 +1,20 @@ +ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Pending +Index: cpio-2.11/gnu/stdio.in.h +=================================================================== +--- cpio-2.11.orig/gnu/stdio.in.h 2012-07-04 12:13:43.133066247 -0700 ++++ cpio-2.11/gnu/stdio.in.h 2012-07-04 12:14:10.189067564 -0700 +@@ -138,8 +138,10 @@ + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ ++#if defined gets + #undef gets + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@
meta/recipes-extended/cpio/cpio_2.11.bb +4 -1
@@ -3,7 +3,10 @@ include cpio_v2.inc LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" -PR = "r2" +PR = "r3" + +SRC_URI += "file://remove-gets.patch \ + " SRC_URI[md5sum] = "1112bb6c45863468b5496ba128792f6c" SRC_URI[sha256sum] = "601b1d774cd6e4cd39416203c91ec59dbd65dd27d79d75e1a9b89497ea643978"
meta/recipes-extended/tar/tar-1.26/remove-gets.patch new file +20 -0
@@ -0,0 +1,20 @@ +ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Pending +Index: tar-1.26/gnu/stdio.in.h +=================================================================== +--- tar-1.26.orig/gnu/stdio.in.h 2011-03-12 01:14:33.000000000 -0800 ++++ tar-1.26/gnu/stdio.in.h 2012-07-04 12:18:58.997081535 -0700 +@@ -163,8 +163,10 @@ + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ ++#if defined gets + #undef gets + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++#endif + + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@
meta/recipes-extended/tar/tar_1.26.bb +4 -1
@@ -3,7 +3,10 @@ require tar.inc LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -PR = "r2" +PR = "r3" + +SRC_URI += "file://remove-gets.patch \ + " SRC_URI[md5sum] = "2cee42a2ff4f1cd4f9298eeeb2264519" SRC_URI[sha256sum] = "5a5369f464502a598e938029c310d4b3abd51e6bb8dfd045663e61c8ea9f6d41"
meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch new file +23 -0
@@ -0,0 +1,23 @@ +ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Pending +Index: wget-1.13.4/lib/stdio.in.h +=================================================================== +--- wget-1.13.4.orig/lib/stdio.in.h 2011-09-13 01:15:14.000000000 -0700 ++++ wget-1.13.4/lib/stdio.in.h 2012-07-04 12:22:45.749092515 -0700 +@@ -693,11 +693,13 @@ + _GL_CXXALIAS_SYS (gets, char *, (char *s)); + # undef gets + # endif ++# if defined gets + _GL_CXXALIASWARN (gets); + /* It is very rare that the developer ever has full control of stdin, + so any use of gets warrants an unconditional warning. Assume it is + always declared, since it is required by C89. */ + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); ++# endif + #endif + +
meta/recipes-extended/wget/wget_1.13.4.bb +2 -1
@@ -1,7 +1,8 @@ -PR = "${INC_PR}.2" +PR = "${INC_PR}.3" SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \ file://fix_makefile.patch \ + file://remove-gets.patch \ " SRC_URI[md5sum] = "1df489976a118b9cbe1b03502adbfc27" SRC_URI[sha256sum] = "24c7710bc9f220ce23d8a9e0f5673b0efc1cace62db6de0239b5863ecc934dcd"
Signature · 1 line
1.7.9.5
PATCH 10/14 boost: Upgrade recipe to 1.50.0
In reply to Khem Raj1.49.0 is not buildable with eglibc 2.16 since it exposes a define TIME_UTC which is also used in boost until 1.50.0 when it was renamed to TIME_UTC_ so instead of porting needed patches we upgrade boost to latest release
---
.../boost/{boost_1.49.0.bb => boost_1.50.0.bb} | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
rename meta/recipes-support/boost/{boost_1.49.0.bb => boost_1.50.0.bb} (53%)meta/recipes-support/boost/boost_1.50.0.bb renamed from meta/recipes-support/boost/boost_1.49.0.bb +2 -3
@@ -5,6 +5,5 @@ LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c" PR = "${INC_PR}.0" SRC_URI += "file://arm-intrinsics.patch" - -SRC_URI[md5sum] = "0d202cb811f934282dea64856a175698" -SRC_URI[sha256sum] = "dd748a7f5507a7e7af74f452e1c52a64e651ed1f7263fce438a06641d2180d3c" +SRC_URI[md5sum] = "52dd00be775e689f55a987baebccc462" +SRC_URI[sha256sum] = "c9ace2b8c81fa6703d1d17c7e478de3bc51101c5adbdeb3f6cb72cf3045a8529"
Signature · 1 line
1.7.9.5
PATCH 11/14 puzzles: Fix checksums
In reply to Khem Raj--- meta/recipes-sato/puzzles/puzzles_r9561.bb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
meta/recipes-sato/puzzles/puzzles_r9561.bb +2 -3
@@ -11,9 +11,8 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=453de74d749439762ef4814f7bee1fec" # Upstream updates puzzles.tar.gz for the new release, so checksums seem to be changing regularly right now #SRC_URI = "svn://ixion.tartarus.org/main;module=puzzles;rev=${MOD_PV}" SRC_URI = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${PV}.tar.gz" -SRC_URI[md5sum] = "c86695aebfc95efe1d6241863849101b" -SRC_URI[sha256sum] = "2c20a45189387e3de8804a58bdb4e47ac4bb0f890001a509dfbdc015b5a84b95" - +SRC_URI[md5sum] = "4ffd5eaead1ffba8b865c83b93fb4709" +SRC_URI[sha256sum] = "35e79befa04c61df850384ff6c07b4d154412240b81f637275de383cb7d542d0" S = "${WORKDIR}/${BPN}-${PV}"
Signature · 1 line
1.7.9.5
PATCH 12/14 valgrind: Fix build with eglibc 2.16
In reply to Khem Raj--- .../valgrind-3.7.0/configure-with-glibc-2.16.patch | 32 ++++++++++++++++++++ meta/recipes-devtools/valgrind/valgrind_3.7.0.bb | 6 ++-- 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch
meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch new file +32 -0
@@ -0,0 +1,32 @@ +Add case for glibc 2.16 and correct error message to denote support until 2.16 + +Signed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Pending +Index: valgrind-3.7.0/configure.in +=================================================================== +--- valgrind-3.7.0.orig/configure.in 2012-07-04 12:57:10.557192441 -0700 ++++ valgrind-3.7.0/configure.in 2012-07-04 12:57:58.785194776 -0700 +@@ -788,6 +788,13 @@ + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + ;; ++ 2.16) ++ AC_MSG_RESULT(2.16 family) ++ AC_DEFINE([GLIBC_2_16], 1, [Define to 1 if you're using glibc 2.16.x]) ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ++ ;; + darwin) + AC_MSG_RESULT(Darwin) + AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin]) +@@ -801,7 +808,7 @@ + + *) + AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) +- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.14]) ++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.16]) + AC_MSG_ERROR([or Darwin libc]) + ;; + esac
meta/recipes-devtools/valgrind/valgrind_3.7.0.bb +4 -2
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c46082167a314d785d012a244748d803 \ X11DEPENDS = "virtual/libx11" DEPENDS = "${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}" -PR = "r4" +PR = "r5" SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ file://fix_issue_caused_by_ccache.patch \
@@ -17,7 +17,9 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ file://fixed-perl-path.patch \ file://fix_for_automake_1.11.2.patch \ file://configure-fix.patch \ - file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch" + file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \ + file://configure-with-glibc-2.16.patch \ + " SRC_URI[md5sum] = "a855fda56edf05614f099dca316d1775" SRC_URI[sha256sum] = "5d62c0330f1481fe2c593249192fa68ff454c19c34343978cc9ce91aa324cbf6"
Signature · 1 line
1.7.9.5
PATCH 13/14 libpam: Fix build with eglibc 2.16
In reply to Khem Rajpam_unix_acct.c: In function '_unix_run_verify_binary':
pam_unix_acct.c:97:19: error: storage size of 'rlim' isn't known pam_unix_acct.c:106:19: error: 'RLIMIT_NOFILE' undeclared (first use in this function)
pam_unix_acct.c:106:19: note: each undeclared identifier is reported only once for each function it appears in
--- .../pam/libpam/include-sys-resource.patch | 12 ++++++++++++ meta/recipes-extended/pam/libpam_1.1.5.bb | 6 ++++-- 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-extended/pam/libpam/include-sys-resource.patch
meta/recipes-extended/pam/libpam/include-sys-resource.patch new file +12 -0
@@ -0,0 +1,12 @@ +Index: Linux-PAM-1.1.5/modules/pam_unix/pam_unix_acct.c +=================================================================== +--- Linux-PAM-1.1.5.orig/modules/pam_unix/pam_unix_acct.c 2012-07-04 12:37:44.881136025 -0700 ++++ Linux-PAM-1.1.5/modules/pam_unix/pam_unix_acct.c 2012-07-04 12:38:00.601136785 -0700 +@@ -47,6 +47,7 @@ + #include <time.h> /* for time() */ + #include <errno.h> + #include <sys/wait.h> ++#include <sys/resource.h> + + #include <security/_pam_macros.h> +
meta/recipes-extended/pam/libpam_1.1.5.bb +4 -2
@@ -9,12 +9,14 @@ SECTION = "base" LICENSE = "GPLv2+ | BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=ca0395de9a86191a078b8b79302e3083" -PR = "r3" +PR = "r4" SRC_URI = "https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-${PV}.tar.bz2 \ file://99_pam \ file://pam.d/* \ - file://libpam-xtests.patch" + file://libpam-xtests.patch \ + file://include-sys-resource.patch \ + " SRC_URI_append_libc-uclibc = " file://pam-no-innetgr.patch"
Signature · 1 line
1.7.9.5
Re: [PATCH 13/14] libpam: Fix build with eglibc 2.16
meta/recipes-extended/pam/libpam/include-sys-resource.patch
Quoted 20 lines · Khem Raj
pam_unix_acct.c: In function '_unix_run_verify_binary':
pam_unix_acct.c:97:19: error: storage size of 'rlim' isn't known pam_unix_acct.c:106:19: error: 'RLIMIT_NOFILE' undeclared (first use in this function)
pam_unix_acct.c:106:19: note: each undeclared identifier is reported only once for each function it appears inSigned-off-by Khem Raj <[email protected]>--- .../pam/libpam/include-sys-resource.patch | 12 ++++++++++++ meta/recipes-extended/pam/libpam_1.1.5.bb | 6 ++++-- 2 files changed, 16 insertions(+), 2 deletions(-)create mode 100644
meta/recipes-extended/pam/libpam/include-sys-resource.patchmeta/recipes-extended/pam/libpam/include-sys-resource.patch new file +0
-0@@ -0,0 +1,12 @@
Missed that this needs an Upstream-Status and Signed-off-by along with any more describive info needed
Please fix
Thanks
Sau!
Quoted 34 lines
meta/recipes-extended/pam/libpam/include-sys-resource.patch new file +12
-0+Index: Linux-PAM-1.1.5/modules/pam_unix/pam_unix_acct.c +=================================================================== +--- Linux-PAM-1.1.5.orig/modules/pam_unix/pam_unix_acct.c 2012-07-04 12:37:44.881136025 -0700 ++++ Linux-PAM-1.1.5/modules/pam_unix/pam_unix_acct.c 2012-07-04 12:38:00.601136785 -0700 +@@ -47,6 +47,7 @@ + #include <time.h> /* for time() */ + #include <errno.h> + #include <sys/wait.h> ++#include <sys/resource.h> + + #include <security/_pam_macros.h> +meta/recipes-extended/pam/libpam_1.1.5.bb +4
-2@@ -9,12 +9,14 @@ SECTION = "base" LICENSE = "GPLv2+ | BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=ca0395de9a86191a078b8b79302e3083" -PR = "r3" +PR = "r4" SRC_URI = "https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-${PV}.tar.bz2 \ file://99_pam \ file://pam.d/* \ - file://libpam-xtests.patch" + file://libpam-xtests.patch \ + file://include-sys-resource.patch \ + " SRC_URI_append_libc-uclibc = " file://pam-no-innetgr.patch"
PATCH 14/14 eglibc: Add recipes for 2.16 release
In reply to Khem RajDrop the patches that were either applied
or fixed differenly in 2.16
Add patches to fix ppc spe patches to match
eglibc 2.16
Fix CPPFLAGS to contain correct includepaths
so autoconf cache is generated correctly
--- .../eglibc/cross-localedef-native_2.16.bb | 44 ++ .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch | 108 ++++ .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch | 17 + .../eglibc-svn-arm-lowlevellock-include-tls.patch | 21 + .../eglibc_fix_findidx_parameters.patch | 38 ++ .../eglibc/eglibc-2.16/generate-supported.mk | 11 + .../eglibc/eglibc-2.16/initgroups_keys.patch | 20 + .../eglibc/eglibc-2.16/ld-search-order.patch | 56 ++ .../eglibc/eglibc-2.16/mips-rld-map-check.patch | 26 + .../eglibc/eglibc-2.16/multilib_readlib.patch | 17 + .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch | 538 ++++++++++++++++++++ .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch | 112 ++++ .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch | 123 +++++ .../eglibc/eglibc-2.16/rpc-bootstrap.patch | 63 +++ .../eglibc-2.16/use-sysroot-cxx-headers.patch | 42 ++ meta/recipes-core/eglibc/eglibc-initial_2.16.bb | 6 + meta/recipes-core/eglibc/eglibc-locale_2.16.bb | 1 + meta/recipes-core/eglibc/eglibc_2.16.bb | 146 ++++++ 18 files changed, 1389 insertions(+) create mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb
meta/recipes-core/eglibc/cross-localedef-native_2.16.bb new file +44 -0
@@ -0,0 +1,44 @@ +DESCRIPTION = "Cross locale generation tool for eglibc" +HOMEPAGE = "http://www.eglibc.org/home" +SECTION = "libs" +LICENSE = "LGPL-2.1" + +LIC_DIR = "${WORKDIR}/${EGLIBC_BRANCH}/libc" +LIC_FILES_CHKSUM = "file://${LIC_DIR}/LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9\ + file://${LIC_DIR}/COPYING;md5=393a5ca445f6965873eca0259a17f833 \ + file://${LIC_DIR}/posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ + file://${LIC_DIR}/COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff " + + +inherit native +inherit autotools + +PR = "r0" +SRCREV="19383" +EGLIBC_BRANCH="eglibc-2_16" +SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http " +S = "${WORKDIR}/${EGLIBC_BRANCH}/localedef" + +do_unpack_append() { + bb.build.exec_func('do_move_ports', d) +} + +do_move_ports() { + if test -d ${WORKDIR}/${EGLIBC_BRANCH}/ports ; then + rm -rf ${WORKDIR}/libc/ports + mv ${WORKDIR}/${EGLIBC_BRANCH}/ports ${WORKDIR}/libc/ + fi +} + +EXTRA_OECONF = "--with-glibc=${WORKDIR}/${EGLIBC_BRANCH}/libc" +CFLAGS += "-DNOT_IN_libc=1" + +do_configure () { + ./configure ${EXTRA_OECONF} +} + + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/localedef ${D}${bindir}/cross-localedef +}
meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch new file +108 -0
108 lines not on this page · raw message
meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch new file +17 -0
@@ -0,0 +1,17 @@ +import http://sourceware.org/ml/libc-ports/2007-12/msg00000.html + +Upstream-Status: Pending + +Index: libc/bits/stdio-lock.h +=================================================================== +--- libc.orig/bits/stdio-lock.h 2009-10-28 14:34:19.000000000 -0700 ++++ libc/bits/stdio-lock.h 2009-10-28 14:34:54.000000000 -0700 +@@ -50,6 +50,8 @@ __libc_lock_define_recursive (typedef, _ + _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp)); \ + _IO_flockfile (_fp) + ++# define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp) ++ + # define _IO_release_lock(_fp) \ + _IO_funlockfile (_fp); \ + _IO_cleanup_region_end (0)
meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch new file +21 -0
@@ -0,0 +1,21 @@ +In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21: +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private': +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: warning: implicit declaration of function 'THREAD_GETMEM' +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'THREAD_SELF' undeclared (first use in this function) +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: (Each undeclared identifier is reported only once +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: for each function it appears in.) +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'header' undeclared (first use in this function) +make[4]: *** [/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os] Error 1 + +Upstream-Status: Pending + +--- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h.orig ++++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h +@@ -25,6 +25,7 @@ + #include <atomic.h> + #include <sysdep.h> + #include <kernel-features.h> ++#include <tls.h> + + #define FUTEX_WAIT 0 + #define FUTEX_WAKE 1
meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch new file +38 -0
@@ -0,0 +1,38 @@ +Upstream-Status: backport + +Imported patch from: http://www.eglibc.org/archives/patches/msg01124.html + +Signed-Off-By: Nitin A Kamble <[email protected]> +2012/05/09 + +Index: libc/posix/xregex.c +=================================================================== +--- libc.orig/posix/xregex.c ++++ libc/posix/xregex.c +@@ -2943,7 +2943,7 @@ PREFIX(regex_compile) (const char *ARG_P + _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_INDIRECTWC); + +- idx = findidx ((const wint_t**)&cp); ++ idx = findidx ((const wint_t**)&cp, -1); + if (idx == 0 || cp < (wint_t*) str + c1) + /* This is no valid character. */ + FREE_STACK_RETURN (REG_ECOLLATE); +@@ -3392,7 +3392,7 @@ PREFIX(regex_compile) (const char *ARG_P + indirect = (const int32_t *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); + +- idx = findidx (&cp); ++ idx = findidx (&cp, -1); + if (idx == 0 || cp < str + c1) + /* This is no valid character. */ + FREE_STACK_RETURN (REG_ECOLLATE); +@@ -6363,7 +6363,7 @@ byte_re_match_2_internal (struct re_patt + } + str_buf[i] = TRANSLATE(*(d+i)); + str_buf[i+1] = '\0'; /* sentinel */ +- idx2 = findidx ((const wint_t**)&cp); ++ idx2 = findidx ((const wint_t**)&cp, -1); + } + + /* Update d, however d will be incremented at
meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf new file +0 -0
meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk new file +11 -0
@@ -0,0 +1,11 @@ +#!/usr/bin/make + +include $(IN) + +all: + rm -f $(OUT) + touch $(OUT) + for locale in $(SUPPORTED-LOCALES); do \ + [ $$locale = true ] && continue; \ + echo $$locale | sed 's,/, ,' >> $(OUT); \ + done
meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch new file +20 -0
@@ -0,0 +1,20 @@ +This is needed since initgroups belongs to NET group +so when NET is disabled in eglibc build then it reports +as undefined symbol + +Signed-off-by: Khem Raj <[email protected]> +Upstream-Status: Pending + +Index: libc/nss/getent.c +=================================================================== +--- libc.orig/nss/getent.c 2012-03-09 09:41:57.099581559 -0800 ++++ libc/nss/getent.c 2012-03-09 09:42:13.095582334 -0800 +@@ -898,7 +898,7 @@ + D(group) + D(gshadow) + DN(hosts) +-D(initgroups) ++DN(initgroups) + DN(netgroup) + DN(networks) + D(passwd)
meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch new file +56 -0
56 lines not on this page · raw message
meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch new file +26 -0
@@ -0,0 +1,26 @@ + +On mips target, binutils currently sets DT_MIPS_RLD_MAP to 0 in dynamic +section if a --version-script sets _RLD_MAP to local. This is apparently +a binutils bug, but libc shouldn't segfault in this case. + +see also: http://sourceware.org/bugilla/show_bug.cgi?id=11615 + +Upstream-Status: Pending + +9/19/2010 - added by Qing He <[email protected]> + + +--- +diff -ru glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h glibc-2.10.1/ports/sysdeps/mips/dl-machine.h +--- glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h 2009-05-16 16:36:20.000000000 +0800 ++++ glibc-2.10.1/ports/sysdeps/mips/dl-machine.h 2010-09-19 09:11:53.000000000 +0800 +@@ -70,7 +70,8 @@ + /* If there is a DT_MIPS_RLD_MAP entry in the dynamic section, fill it in + with the run-time address of the r_debug structure */ + #define ELF_MACHINE_DEBUG_SETUP(l,r) \ +-do { if ((l)->l_info[DT_MIPS (RLD_MAP)]) \ ++do { if ((l)->l_info[DT_MIPS (RLD_MAP)] && \ ++ (l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) \ + *(ElfW(Addr) *)((l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) = \ + (ElfW(Addr)) (r); \ + } while (0)
meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch new file +17 -0
@@ -0,0 +1,17 @@ +Upstream-Status: Inappropriate [embedded specific] + +Replace the OECORE_KNOWN_INTERPRETER_NAMES with the value of +variable EGLIBC_KNOWN_INTERPRETER_NAMES. + +Lianhao Lu, 08/01/2011 + +--- libc/elf/readlib.c.orig 2011-08-12 17:05:51.864470837 +0800 ++++ libc/elf/readlib.c 2011-08-12 17:06:39.346942074 +0800 +@@ -52,6 +52,7 @@ + #ifdef SYSDEP_KNOWN_INTERPRETER_NAMES + SYSDEP_KNOWN_INTERPRETER_NAMES + #endif ++ OECORE_KNOWN_INTERPRETER_NAMES + }; + + static struct known_names known_libs[] =
meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch new file +538 -0
538 lines not on this page · raw message
meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch new file +112 -0
112 lines not on this page · raw message
meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch new file +123 -0
123 lines not on this page · raw message
meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch new file +63 -0
63 lines not on this page · raw message
meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch new file +42 -0
42 lines not on this page · raw message
meta/recipes-core/eglibc/eglibc-initial_2.16.bb new file +6 -0
@@ -0,0 +1,6 @@ +require eglibc_${PV}.bb +require eglibc-initial.inc + +do_configure_prepend () { + unset CFLAGS +}
meta/recipes-core/eglibc/eglibc-locale_2.16.bb new file +1 -0
@@ -0,0 +1 @@ +require eglibc-locale.inc
meta/recipes-core/eglibc/eglibc_2.16.bb new file +146 -0
146 lines not on this page · raw message
Signature · 1 line
1.7.9.5
Re: [PATCH 14/14] eglibc: Add recipes for 2.16 release
Quoted 9 lines · Khem Raj
Drop the patches that were either applied
or fixed differenly in 2.16Add patches to fix ppc spe patches to match
eglibc 2.16Fix CPPFLAGS to contain correct includepaths
so autoconf cache is generated correctly
Khem,
Just to let you know that I will be doing builds with this set over the weekend and since we are approaching a Milestone cut date, we will likely wait until after the freeze date before including these changes.
I will keep you posted on my results.
Sau!
Quoted 1,542 lines
Signed-off-by Khem Raj <[email protected]>--- .../eglibc/cross-localedef-native_2.16.bb | 44 ++ .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch | 108 ++++ .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch | 17 + .../eglibc-svn-arm-lowlevellock-include-tls.patch | 21 + .../eglibc_fix_findidx_parameters.patch | 38 ++ .../eglibc/eglibc-2.16/generate-supported.mk | 11 + .../eglibc/eglibc-2.16/initgroups_keys.patch | 20 + .../eglibc/eglibc-2.16/ld-search-order.patch | 56 ++ .../eglibc/eglibc-2.16/mips-rld-map-check.patch | 26 + .../eglibc/eglibc-2.16/multilib_readlib.patch | 17 + .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch | 538 ++++++++++++++++++++ .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch | 112 ++++ .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch | 123 +++++ .../eglibc/eglibc-2.16/rpc-bootstrap.patch | 63 +++ .../eglibc-2.16/use-sysroot-cxx-headers.patch | 42 ++ meta/recipes-core/eglibc/eglibc-initial_2.16.bb | 6 + meta/recipes-core/eglibc/eglibc-locale_2.16.bb | 1 + meta/recipes-core/eglibc/eglibc_2.16.bb | 146 ++++++ 18 files changed, 1389 insertions(+)create mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patchcreate mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb
create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb
create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bbmeta/recipes-core/eglibc/cross-localedef-native_2.16.bb new file +44
-0@@ -0,0 +1,44 @@ +DESCRIPTION = "Cross locale generation tool for eglibc" +HOMEPAGE = "http://www.eglibc.org/home" +SECTION = "libs" +LICENSE = "LGPL-2.1" + +LIC_DIR = "${WORKDIR}/${EGLIBC_BRANCH}/libc" +LIC_FILES_CHKSUM = "file://${LIC_DIR}/LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9\ + file://${LIC_DIR}/COPYING;md5=393a5ca445f6965873eca0259a17f833 \ + file://${LIC_DIR}/posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ + file://${LIC_DIR}/COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff " + + +inherit native +inherit autotools + +PR = "r0" +SRCREV="19383" +EGLIBC_BRANCH="eglibc-2_16" +SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http " +S = "${WORKDIR}/${EGLIBC_BRANCH}/localedef" + +do_unpack_append() { + bb.build.exec_func('do_move_ports', d) +} + +do_move_ports() { + if test -d ${WORKDIR}/${EGLIBC_BRANCH}/ports ; then + rm -rf ${WORKDIR}/libc/ports + mv ${WORKDIR}/${EGLIBC_BRANCH}/ports ${WORKDIR}/libc/ + fi +} + +EXTRA_OECONF = "--with-glibc=${WORKDIR}/${EGLIBC_BRANCH}/libc" +CFLAGS += "-DNOT_IN_libc=1" + +do_configure () { + ./configure ${EXTRA_OECONF} +} + + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${S}/localedef ${D}${bindir}/cross-localedef +}meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch new file +108
-0@@ -0,0 +1,108 @@ +Its controlled by __OPTION_EGLIBC_RTLD_DEBUG +so we should use GLRO_dl_debug_mask + +Singed-off-by: Khem Raj <[email protected]> + +Upstream-Status: Pending +Index: libc/elf/dl-open.c +=================================================================== +--- libc.orig/elf/dl-open.c 2012-03-09 08:54:34.691443995 -0800 ++++ libc/elf/dl-open.c 2012-03-09 08:55:31.275446730 -0800 +@@ -154,7 +154,7 @@ + ns->_ns_main_searchlist->r_list[new_nlist++] = map; + + /* We modify the global scope. Report this. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0)) + _dl_debug_printf ("\nadd %s [%lu] to global scope\n", + map->l_name, map->l_ns); + } +@@ -294,7 +294,7 @@ + _dl_debug_state (); + + /* Print scope information. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0)) + _dl_show_scope (new, 0); + + /* Only do lazy relocation if `LD_BIND_NOW' is not set. */ +@@ -438,7 +438,7 @@ + } + + /* Print scope information. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0)) + _dl_show_scope (imap, from_scope); + } + +Index: libc/ports/sysdeps/mips/dl-lookup.c +=================================================================== +--- libc.orig/ports/sysdeps/mips/dl-lookup.c 2012-03-09 08:54:34.707443996 -0800 ++++ libc/ports/sysdeps/mips/dl-lookup.c 2012-03-09 09:02:36.903467324 -0800 +@@ -111,7 +111,7 @@ + continue; + + /* Print some debugging info if wanted. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SYMBOLS, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SYMBOLS, 0)) + _dl_debug_printf ("symbol=%s; lookup in file=%s [%lu]\n", + undef_name, + map->l_name[0] ? map->l_name : rtld_progname, +@@ -432,7 +432,7 @@ + hash table. */ + if (__builtin_expect (tab->size, 0)) + { +- assert (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK); ++ assert (GLRO_dl_debug_mask & DL_DEBUG_PRELINK); + __rtld_lock_unlock_recursive (tab->lock); + goto success; + } +@@ -681,7 +681,7 @@ + } + + /* Display information if we are debugging. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_FILES, 0)) + _dl_debug_printf ("\ + \nfile=%s [%lu]; needed by %s [%lu] (relocation dependency)\n\n", + map->l_name[0] ? map->l_name : rtld_progname, +@@ -860,7 +860,7 @@ + if (__builtin_expect (current_value.m->l_used == 0, 0)) + current_value.m->l_used = 1; + +- if (__builtin_expect (GLRO(dl_debug_mask) ++ if (__builtin_expect (GLRO_dl_debug_mask + & (DL_DEBUG_BINDINGS|DL_DEBUG_PRELINK), 0)) + _dl_debug_bindings (undef_name, undef_map, ref, + ¤t_value, version, type_class, protected); +@@ -925,7 +925,7 @@ + { + const char *reference_name = undef_map->l_name; + +- if (GLRO(dl_debug_mask) & DL_DEBUG_BINDINGS) ++ if (GLRO_dl_debug_mask & DL_DEBUG_BINDINGS) + { + _dl_debug_printf ("binding file %s [%lu] to %s [%lu]: %s symbol `%s'", + (reference_name[0] +@@ -941,7 +941,7 @@ + _dl_debug_printf_c ("\n"); + } + #ifdef SHARED +- if (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK) ++ if (GLRO_dl_debug_mask & DL_DEBUG_PRELINK) + { + int conflict = 0; + struct sym_val val = { NULL, NULL }; +Index: libc/elf/rtld.c +=================================================================== +--- libc.orig/elf/rtld.c 2012-03-09 09:01:35.159464344 -0800 ++++ libc/elf/rtld.c 2012-03-09 09:01:56.247465364 -0800 +@@ -2198,7 +2198,7 @@ + GLRO(dl_init_all_dirs) = GL(dl_all_dirs); + + /* Print scope information. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0)) + { + _dl_debug_printf ("\nInitial object scopes\n"); +meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch new file +17
-0@@ -0,0 +1,17 @@ +import http://sourceware.org/ml/libc-ports/2007-12/msg00000.html + +Upstream-Status: Pending + +Index: libc/bits/stdio-lock.h +=================================================================== +--- libc.orig/bits/stdio-lock.h 2009-10-28 14:34:19.000000000 -0700 ++++ libc/bits/stdio-lock.h 2009-10-28 14:34:54.000000000 -0700 +@@ -50,6 +50,8 @@ __libc_lock_define_recursive (typedef, _ + _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp)); \ + _IO_flockfile (_fp) + ++# define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp) ++ + # define _IO_release_lock(_fp) \ + _IO_funlockfile (_fp); \ + _IO_cleanup_region_end (0)meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch new file +21
-0@@ -0,0 +1,21 @@ +In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21: +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private': +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: warning: implicit declaration of function 'THREAD_GETMEM' +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'THREAD_SELF' undeclared (first use in this function) +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: (Each undeclared identifier is reported only once +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: for each function it appears in.) +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'header' undeclared (first use in this function) +make[4]: *** [/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os] Error 1 + +Upstream-Status: Pending + +--- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h.orig ++++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h +@@ -25,6 +25,7 @@ + #include <atomic.h> + #include <sysdep.h> + #include <kernel-features.h> ++#include <tls.h> + + #define FUTEX_WAIT 0 + #define FUTEX_WAKE 1meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch new file +38
-0@@ -0,0 +1,38 @@ +Upstream-Status: backport + +Imported patch from: http://www.eglibc.org/archives/patches/msg01124.html + +Signed-Off-By: Nitin A Kamble <[email protected]> +2012/05/09 + +Index: libc/posix/xregex.c +=================================================================== +--- libc.orig/posix/xregex.c ++++ libc/posix/xregex.c +@@ -2943,7 +2943,7 @@ PREFIX(regex_compile) (const char *ARG_P + _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_INDIRECTWC); + +- idx = findidx ((const wint_t**)&cp); ++ idx = findidx ((const wint_t**)&cp, -1); + if (idx == 0 || cp < (wint_t*) str + c1) + /* This is no valid character. */ + FREE_STACK_RETURN (REG_ECOLLATE); +@@ -3392,7 +3392,7 @@ PREFIX(regex_compile) (const char *ARG_P + indirect = (const int32_t *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); + +- idx = findidx (&cp); ++ idx = findidx (&cp, -1); + if (idx == 0 || cp < str + c1) + /* This is no valid character. */ + FREE_STACK_RETURN (REG_ECOLLATE); +@@ -6363,7 +6363,7 @@ byte_re_match_2_internal (struct re_patt + } + str_buf[i] = TRANSLATE(*(d+i)); + str_buf[i+1] = '\0'; /* sentinel */ +- idx2 = findidx ((const wint_t**)&cp); ++ idx2 = findidx ((const wint_t**)&cp, -1); + } + + /* Update d, however d will be incremented atmeta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf new file +0
-0meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk new file +11
-0@@ -0,0 +1,11 @@ +#!/usr/bin/make + +include $(IN) + +all: + rm -f $(OUT) + touch $(OUT) + for locale in $(SUPPORTED-LOCALES); do \ + [ $$locale = true ] && continue; \ + echo $$locale | sed 's,/, ,' >> $(OUT); \ + donemeta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch new file +20
-0@@ -0,0 +1,20 @@ +This is needed since initgroups belongs to NET group +so when NET is disabled in eglibc build then it reports +as undefined symbol + +Signed-off-by: Khem Raj <[email protected]> +Upstream-Status: Pending + +Index: libc/nss/getent.c +=================================================================== +--- libc.orig/nss/getent.c 2012-03-09 09:41:57.099581559 -0800 ++++ libc/nss/getent.c 2012-03-09 09:42:13.095582334 -0800 +@@ -898,7 +898,7 @@ + D(group) + D(gshadow) + DN(hosts) +-D(initgroups) ++DN(initgroups) + DN(netgroup) + DN(networks) + D(passwd)meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch new file +56
-0@@ -0,0 +1,56 @@ +Upstream-Status: Inappropriate [embedded specific] + +The default lib search path order is: + + 1) LD_LIBRARY_PATH + 2) RPATH from the binary + 3) ld.so.cache + 4) default search paths embedded in the linker + +For nativesdk binaries which are being used alongside binaries on a host system, we +need the search paths to firstly search the shipped nativesdk libs but then also +cover the host system. For example we want the host system's libGL and this may be +in a non-standard location like /usr/lib/mesa. The only place the location is know +about is in the ld.so.cache of the host system. + +Since nativesdk has a simple structure and doesn't need to use a cache itself, we +repurpose the cache for use as a last resort in finding host system binaries. This +means we need to switch the order of 3 and 4 above to make this work effectively. + +RP 14/10/2010 + +Index: libc/elf/dl-load.c +=================================================================== +--- libc.orig/elf/dl-load.c ++++ libc/elf/dl-load.c +@@ -2107,6 +2107,15 @@ _dl_map_object (struct link_map *loader, + &loader->l_runpath_dirs, &realname, &fb, loader, + LA_SER_RUNPATH, &found_other_class); + ++ /* try the default path. */ ++ if (fd == -1 ++ && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL ++ || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1)) ++ && rtld_search_dirs.dirs != (void *) -1) ++ fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs, ++ &realname, &fb, l, LA_SER_DEFAULT, &found_other_class); ++ ++ /* Finally try ld.so.cache */ + if (fd == -1 + && (__builtin_expect (! (mode & __RTLD_SECURE), 1) + || ! INTUSE(__libc_enable_secure))) +@@ -2169,14 +2178,6 @@ _dl_map_object (struct link_map *loader, + } + } + +- /* Finally, try the default path. */ +- if (fd == -1 +- && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL +- || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1)) +- && rtld_search_dirs.dirs != (void *) -1) +- fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs, +- &realname, &fb, l, LA_SER_DEFAULT, &found_other_class); +- + /* Add another newline when we are tracing the library loading. */ + if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_LIBS, 0)) + _dl_debug_printf ("\n");meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch new file +26
-0@@ -0,0 +1,26 @@ + +On mips target, binutils currently sets DT_MIPS_RLD_MAP to 0 in dynamic +section if a --version-script sets _RLD_MAP to local. This is apparently +a binutils bug, but libc shouldn't segfault in this case. + +see also: http://sourceware.org/bugilla/show_bug.cgi?id=11615 + +Upstream-Status: Pending + +9/19/2010 - added by Qing He <[email protected]> + + +--- +diff -ru glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h glibc-2.10.1/ports/sysdeps/mips/dl-machine.h +--- glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h 2009-05-16 16:36:20.000000000 +0800 ++++ glibc-2.10.1/ports/sysdeps/mips/dl-machine.h 2010-09-19 09:11:53.000000000 +0800 +@@ -70,7 +70,8 @@ + /* If there is a DT_MIPS_RLD_MAP entry in the dynamic section, fill it in + with the run-time address of the r_debug structure */ + #define ELF_MACHINE_DEBUG_SETUP(l,r) \ +-do { if ((l)->l_info[DT_MIPS (RLD_MAP)]) \ ++do { if ((l)->l_info[DT_MIPS (RLD_MAP)] && \ ++ (l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) \ + *(ElfW(Addr) *)((l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) = \ + (ElfW(Addr)) (r); \ + } while (0)meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch new file +17
-0@@ -0,0 +1,17 @@ +Upstream-Status: Inappropriate [embedded specific] + +Replace the OECORE_KNOWN_INTERPRETER_NAMES with the value of +variable EGLIBC_KNOWN_INTERPRETER_NAMES. + +Lianhao Lu, 08/01/2011 + +--- libc/elf/readlib.c.orig 2011-08-12 17:05:51.864470837 +0800 ++++ libc/elf/readlib.c 2011-08-12 17:06:39.346942074 +0800 +@@ -52,6 +52,7 @@ + #ifdef SYSDEP_KNOWN_INTERPRETER_NAMES + SYSDEP_KNOWN_INTERPRETER_NAMES + #endif ++ OECORE_KNOWN_INTERPRETER_NAMES + }; + + static struct known_names known_libs[] =meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch new file +538
-0@@ -0,0 +1,538 @@ +Upstream-Status: Pending + +2011-03-22 Joseph Myers <[email protected]> + + Merge from SG++ 2.11: + + 2010-10-05 Nathan Froyd <[email protected]> + + Issue #9382 + + * sysdeps/powerpc/powerpc32/603e/: New directory. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/: New directory. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/: New directory. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/7400/: New directory. + * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c: Update. + * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c: Update. + * sysdeps/powerpc/powerpc64/e5500/fpu/Implies: New file. + +Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +=================================================================== +--- /dev/null ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +=================================================================== +--- /dev/null ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +=================================================================== +--- /dev/null ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +=================================================================== +--- /dev/null ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, write to the Free ++ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ++ 02111-1307 USA. */ ++ ++#include <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies +=================================================================== +--- /dev/null ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies +@@ -0,0 +1 @@ ++powerpc/powerpc32/603e/fpu +Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/7400/fpu/Implies +=================================================================== +--- /dev/null ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/7400/fpu/Implies +@@ -0,0 +1 @@ ++powerpc/powerpc32/603e/fpu +Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies +=================================================================== +--- /dev/null ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies +@@ -0,0 +1 @@ ++powerpc/powerpc32/603e/fpu +Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies +=================================================================== +--- /dev/null ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies +@@ -0,0 +1 @@ ++powerpc/powerpc64/e5500/fpu +Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies +=================================================================== +--- /dev/null ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies +@@ -0,0 +1 @@ ++powerpc/powerpc32/603e/fpumeta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch new file +112
-0@@ -0,0 +1,112 @@ +on ppc fixes the errors like below +| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite' +| collect2: ld returned 1 exit status + +Upstream-Status: Pending + +ChangeLog + +2012-01-06 Khem Raj <[email protected]> + + * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c: Add __*_finite alias. + Remove cruft. + * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c: Ditto. + * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c: Ditto. + * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c: Ditto. + +Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 2012-01-06 18:07:42.296909187 -0800 ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 2012-01-06 18:09:22.572914856 -0800 +@@ -39,14 +39,8 @@ + We find the actual square root and half of its reciprocal + simultaneously. */ + +-#ifdef __STDC__ + double + __ieee754_sqrt (double b) +-#else +-double +-__ieee754_sqrt (b) +- double b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -132,3 +126,4 @@ + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 2012-01-06 18:10:37.068917644 -0800 ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 2012-01-06 18:11:33.408920635 -0800 +@@ -37,14 +37,8 @@ + We find the reciprocal square root and use that to compute the actual + square root. */ + +-#ifdef __STDC__ + float + __ieee754_sqrtf (float b) +-#else +-float +-__ieee754_sqrtf (b) +- float b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -99,3 +93,4 @@ + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 2012-01-06 18:11:51.460925644 -0800 ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 2012-01-06 18:12:39.344924405 -0800 +@@ -39,14 +39,8 @@ + We find the actual square root and half of its reciprocal + simultaneously. */ + +-#ifdef __STDC__ + double + __ieee754_sqrt (double b) +-#else +-double +-__ieee754_sqrt (b) +- double b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -132,3 +126,4 @@ + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-01-06 18:13:00.892924586 -0800 ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-01-06 18:15:27.992931106 -0800 +@@ -37,14 +37,8 @@ + We find the reciprocal square root and use that to compute the actual + square root. */ + +-#ifdef __STDC__ + float + __ieee754_sqrtf (float b) +-#else +-float +-__ieee754_sqrtf (b) +- float b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -99,3 +93,4 @@ + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite)meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch new file +123
-0@@ -0,0 +1,123 @@ + __ieee754_sqrt{,f} are now inline functions and call out __slow versions + + +Signed-off-by: Khem Raj <[email protected]> +Upstream-Status: Pending +Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 2012-07-03 22:36:01.172386436 -0700 ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 2012-07-03 23:04:37.396469515 -0700 +@@ -40,7 +40,7 @@ + simultaneously. */ + + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -77,7 +77,7 @@ + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -126,4 +126,12 @@ + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 2012-07-03 22:36:01.172386436 -0700 ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 2012-07-03 23:07:06.260476775 -0700 +@@ -38,7 +38,7 @@ + square root. */ + + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -93,4 +93,10 @@ + } + return f_washf (b); + } ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} + strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 2012-07-03 22:36:01.176386435 -0700 ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 2012-07-03 23:14:16.328497458 -0700 +@@ -40,7 +40,7 @@ + simultaneously. */ + + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -77,7 +77,7 @@ + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -126,4 +126,12 @@ + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-07-03 22:36:01.176386435 -0700 ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-07-03 23:13:52.732496373 -0700 +@@ -38,7 +38,7 @@ + square root. */ + + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -93,4 +93,10 @@ + } + return f_washf (b); + } ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} + strong_alias (__ieee754_sqrtf, __sqrtf_finite)meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch new file +63
-0@@ -0,0 +1,63 @@ +Upstream-Status: Pending +Signed-off-by: Khem Raj <[email protected]> + + +From libc-alpha-return-31199-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org Tue Jul 03 19:54:27 2012 +Return-Path: <libc-alpha-return-31199-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org> +Delivered-To: listarch-libc-alpha at sources dot redhat dot com +Received: (qmail 20151 invoked by alias); 3 Jul 2012 19:54:25 -0000 +Received: (qmail 20139 invoked by uid 22791); 3 Jul 2012 19:54:23 -0000 +X-SWARE-Spam-Status: No, hits=-4.8 required=5.0 + tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,T_RP_MATCHES_RCVD +X-Spam-Check-By: sourceware.org +From: Mike Frysinger <vapier at gentoo dot org> +To: libc-alpha at sourceware dot org +Subject: [PATCH] sunrpc: fix rpc bootstrap builds +Date: Tue, 3 Jul 2012 15:54:11 -0400 +Message-Id: <[email protected]> +Mailing-List: contact libc-alpha-help at sourceware dot org; run by ezmlm +Precedence: bulk +List-Id: <libc-alpha.sourceware.org> +List-Subscribe: <mailto:libc-alpha-subscribe at sourceware dot org> +List-Archive: <http://sourceware.org/ml/libc-alpha/> +List-Post: <mailto:libc-alpha at sourceware dot org> +List-Help: <mailto:libc-alpha-help at sourceware dot org>, <http://sourceware dot org/ml/#faqs> +Sender: libc-alpha-owner at sourceware dot org +Delivered-To: mailing list libc-alpha at sourceware dot org + +If you build & install glibc w/rpc disabled, you no longer have headers in +/usr/include/rpc/ (this is expected). But if you try to build glibc w/rpc +enabled, this gets into a bad state due to the new rpc helpers that get +cross-compiled: + +$ make +... +x86_64-pc-linux-gnu-gcc -m32 -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build \ + -include $objdir/config.h rpc_clntout.c -o $objdir/sunrpc/cross-rpc_clntout.o \ + -MMD -MP -MF $objdir/sunrpc/cross-rpc_clntout.o.dt -MT $objdir/sunrpc/cross-rpc_clntout.o -c +rpc_clntout.c:34:23: fatal error: rpc/types.h: No such file or directory +compilation terminated. +make: *** [$objdir/sunrpc/cross-rpc_clntout.o] Error 1 + +Signed-off-by: Mike Frysinger <[email protected]> + +2012-07-03 Mike Frysinger <[email protected]> + + * sunrpc/rpc_clntout.c: Change <rpc/types.h> to "rpc/types.h". +--- + sunrpc/rpc_clntout.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: libc/sunrpc/rpc_clntout.c +=================================================================== +--- libc.orig/sunrpc/rpc_clntout.c 2012-07-04 16:09:16.000000000 -0700 ++++ libc/sunrpc/rpc_clntout.c 2012-07-04 18:04:34.498085075 -0700 +@@ -31,7 +31,7 @@ + */ + #include <stdio.h> + #include <string.h> +-#include <rpc/types.h> ++#include "rpc/types.h" + #include "rpc_parse.h" + #include "rpc_util.h" + #include "proto.h"meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch new file +42
-0@@ -0,0 +1,42 @@ +build system of glibc currently adds the cxx headers path by detecting +it using provided CXX and expects that they are installed w.r.t to standard +installation location but in OE we install and use cxx headers from target +sysroot therefore that code needs to be adapted for OE + +Upstream-Status: Inappropriate [OE-specific] + +-Khem + + +--- a/configure.in ++++ b/configure.in +@@ -1094,11 +1094,10 @@ if test -n "$sysheaders"; then + -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" + if test -n "$CXX"; then + CXX_SYSINCLUDES= +- cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` && + cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` && + for d in include "$cxxmachine/include"; do +- i=../../../../$d/c++/$cxxversion +- cxxheaders=`$CXX -print-file-name="$i"` && ++ i="$prefix/$d/c++" ++ cxxheaders=`$CXX -print-sysroot`"$i" && + test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" && + CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \ + -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward" +--- a/configure ++++ b/configure +@@ -5618,11 +5618,10 @@ if test -n "$sysheaders"; then + -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" + if test -n "$CXX"; then + CXX_SYSINCLUDES= +- cxxversion=`$CXX -dumpversion 2>&5` && + cxxmachine=`$CXX -dumpmachine 2>&5` && + for d in include "$cxxmachine/include"; do +- i=../../../../$d/c++/$cxxversion +- cxxheaders=`$CXX -print-file-name="$i"` && ++ i="$prefix/$d/c++" ++ cxxheaders=`$CXX -print-sysroot`"$i" && + test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" && + CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \ + -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"meta/recipes-core/eglibc/eglibc-initial_2.16.bb new file +6
-0@@ -0,0 +1,6 @@ +require eglibc_${PV}.bb +require eglibc-initial.inc + +do_configure_prepend () { + unset CFLAGS +}meta/recipes-core/eglibc/eglibc-locale_2.16.bb new file +1
-0@@ -0,0 +1 @@ +require eglibc-locale.incmeta/recipes-core/eglibc/eglibc_2.16.bb new file +146
-0@@ -0,0 +1,146 @@ +require eglibc.inc + +SRCREV = "19383" + +DEPENDS += "gperf-native" +PR = "r0" +PR_append = "+svnr${SRCPV}" + +EGLIBC_BRANCH="eglibc-2_16" +SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http \ + file://eglibc-svn-arm-lowlevellock-include-tls.patch \ + file://IO-acquire-lock-fix.patch \ + file://mips-rld-map-check.patch \ + file://etc/ld.so.conf \ + file://generate-supported.mk \ + file://ppc-sqrt.patch \ + file://multilib_readlib.patch \ + file://use-sysroot-cxx-headers.patch \ + file://ppc-sqrt_finite.patch \ + file://GLRO_dl_debug_mask.patch \ + file://initgroups_keys.patch \ + file://eglibc_fix_findidx_parameters.patch \ + file://ppc_slow_ieee754_sqrt.patch \ + file://rpc-bootstrap.patch \ + " +LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \ + file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ + file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ + file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff " + +SRC_URI_append_virtclass-nativesdk = " file://ld-search-order.patch" +S = "${WORKDIR}/${EGLIBC_BRANCH}/libc" +B = "${WORKDIR}/build-${TARGET_SYS}" + +PACKAGES_DYNAMIC = "libc6*" +RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev" +PROVIDES_${PN}-dbg = "glibc-dbg" + +# the -isystem in bitbake.conf screws up glibc do_stage +BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" +TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}" + +GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN es_CR.ISO-8859-1" + +FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/eglibc-${PV}', '${FILE_DIRNAME}/eglibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" + +# +# For now, we will skip building of a gcc package if it is a uclibc one +# and our build is not a uclibc one, and we skip a glibc one if our build +# is a uclibc build. +# +# See the note in gcc/gcc_3.4.0.oe +# + +python __anonymous () { + import bb, re + uc_os = (re.match('.*uclibc$', d.getVar('TARGET_OS', True)) != None) + if uc_os: + raise bb.parse.SkipPackage("incompatible with target %s" % + d.getVar('TARGET_OS', True)) +} + +export libc_cv_slibdir = "${base_libdir}" + +EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ + --without-cvs --disable-profile \ + --disable-debug --without-gd \ + --enable-clocale=gnu \ + --enable-add-ons \ + --with-headers=${STAGING_INCDIR} \ + --without-selinux \ + --enable-obsolete-rpc \ + ${GLIBC_EXTRA_OECONF}" + +EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}" + +do_unpack_append() { + bb.build.exec_func('do_move_ports', d) +} + +do_move_ports() { + if test -d ${WORKDIR}/${EGLIBC_BRANCH}/ports ; then + rm -rf ${S}/ports + mv ${WORKDIR}/${EGLIBC_BRANCH}/ports ${S}/ + fi +} + +do_patch_append() { + bb.build.exec_func('do_fix_readlib_c', d) +} + +# for mips eglibc now builds syscall tables for all abi's +# so we make sure that we choose right march option which is +# compatible with o32,n32 and n64 abi's +# e.g. -march=mips32 is not compatible with n32 and n64 therefore +# we filter it out in such case -march=from-abi which will be +# mips1 when using o32 and mips3 when using n32/n64 + +TUNE_CCARGS_mips := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}" +TUNE_CCARGS_mipsel := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}" + +do_fix_readlib_c () { + sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c +} + +do_configure () { +# override this function to avoid the autoconf/automake/aclocal/autoheader +# calls for now +# don't pass CPPFLAGS into configure, since it upsets the kernel-headers +# version check and doesn't really help with anything + if [ -z "`which rpcgen`" ]; then + echo "rpcgen not found. Install glibc-devel." + exit 1 + fi + (cd ${S} && gnu-configize) || die "failure in running gnu-configize" + find ${S} -name "configure" | xargs touch + CPPFLAGS="" oe_runconf +} + +rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ + yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ + rusers.x spray.x nfs_prot.x rquota.x key_prot.x" + +do_compile () { + # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging + unset LDFLAGS + base_do_compile + ( + cd ${S}/sunrpc/rpcsvc + for r in ${rpcsvc}; do + h=`echo $r|sed -e's,\.x$,.h,'` + rpcgen -h $r -o $h || bbwarn "unable to generate header for $r" + done + ) + echo "Adjust ldd script" + if [ -n "${RTLDLIST}" ] + then + sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)"\(.*\)"$#\1\2#' + sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)\(.*\)$#\1"${RTLDLIST} \2"#' + fi + +} + +require eglibc-package.inc + +BBCLASSEXTEND = "nativesdk"
Re: [PATCH 14/14] eglibc: Add recipes for 2.16 release
Quoted 8 lines · Saul Wold
Quoted 7 lines · Khem Raj
Drop the patches that were either applied
or fixed differenly in 2.16Add patches to fix ppc spe patches to match
eglibc 2.16
Quoted 7 lines
Quoted 3 lines
Fix CPPFLAGS to contain correct includepaths
so autoconf cache is generated correctlyKhem,
Just to let you know that I will be doing builds with this set over the
weekend and since we are approaching a Milestone cut date, we will likely wait until after the freeze date before including these changes.
Quoted 2 lines
I will keep you posted on my results.
Sure we need more testing on them so they land in good shape My aim is to use 2.16 in 1.3 release
Quoted 4 lines
Sau!
Signed-off-by Khem Raj <[email protected]>
Quoted 12 lines
--- .../eglibc/cross-localedef-native_2.16.bb | 44 ++ .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch | 108 ++++ .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch | 17 + .../eglibc-svn-arm-lowlevellock-include-tls.patch | 21 + .../eglibc_fix_findidx_parameters.patch | 38 ++ .../eglibc/eglibc-2.16/generate-supported.mk | 11 + .../eglibc/eglibc-2.16/initgroups_keys.patch | 20 + .../eglibc/eglibc-2.16/ld-search-order.patch | 56 ++ .../eglibc/eglibc-2.16/mips-rld-map-check.patch | 26 + .../eglibc/eglibc-2.16/multilib_readlib.patch | 17 + .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch | 538
++++++++++++++++++++
Quoted 9 lines
.../eglibc/eglibc-2.16/ppc-sqrt_finite.patch | 112 ++++ .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch | 123 +++++ .../eglibc/eglibc-2.16/rpc-bootstrap.patch | 63 +++ .../eglibc-2.16/use-sysroot-cxx-headers.patch | 42 ++ meta/recipes-core/eglibc/eglibc-initial_2.16.bb | 6 + meta/recipes-core/eglibc/eglibc-locale_2.16.bb | 1 + meta/recipes-core/eglibc/eglibc_2.16.bb | 146 ++++++ 18 files changed, 1389 insertions(+)create mode 100644 meta/recipes-core/eglibc/
cross-localedef-native_2.16.bb
Quoted 1 line
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
Quoted 1 line
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
Quoted 1 line
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
Quoted 1 line
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
Quoted 2 lines
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.confcreate mode 100644 meta/recipes-core/eglibc/eglibc-2.16/
generate-supported.mk
Quoted 1 line
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
Quoted 1 line
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
Quoted 1 line
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
Quoted 1 line
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
Quoted 2 lines
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patchcreate mode 100644
meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
Quoted 1 line
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
Quoted 1 line
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
Quoted 1 line
create mode 100644
meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
Review
Quoted 5 lines
create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb
(quoted diff) +0
-0
cross-localedef-native_2.16.bb
Quoted 12 lines
new file mode 100644
index 0000000..88c701emeta/recipes-core/eglibc/cross-localedef-native_2.16.bb new file +7
-0@@ -0,0 +1,44 @@ +DESCRIPTION = "Cross locale generation tool for eglibc" +HOMEPAGE = "http://www.eglibc.org/home" +SECTION = "libs" +LICENSE = "LGPL-2.1" + +LIC_DIR = "${WORKDIR}/${EGLIBC_BRANCH}/libc" +LIC_FILES_CHKSUM = "file://${LIC_D
Re: [PATCH 14/14] eglibc: Add recipes for 2.16 release
Quoted 17 lines · Khem Raj
Quoted 14 lines · Saul Wold
Quoted 10 lines · Khem Raj
Drop the patches that were either applied
or fixed differenly in 2.16Add patches to fix ppc spe patches to match
eglibc 2.16Fix CPPFLAGS to contain correct includepaths
so autoconf cache is generated correctlyKhem,
Quoted 8 lines
Quoted 5 lines
Just to let you know that I will be doing builds with this set over the weekend and since we are approaching a Milestone cut date, we will likely wait until after the freeze date before including these changes.
I will keep you posted on my results.
Sure we need more testing on them so they land in good shape My aim is to use 2.16 in 1.3 release
btw. I have updated the tree with another patch for gcc-cross-initial that fixes a long standing problem when using gold
as reported by Martin, I will inform the ml if the patches are updated by keep an eye.
Quoted 73 lines
Quoted 73 lines
Sau!
Signed-off-by Khem Raj <[email protected]>--- .../eglibc/cross-localedef-native_2.16.bb | 44 ++ .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch | 108 ++++ .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch | 17 + .../eglibc-svn-arm-lowlevellock-include-tls.patch | 21 + .../eglibc_fix_findidx_parameters.patch | 38 ++ .../eglibc/eglibc-2.16/generate-supported.mk | 11 + .../eglibc/eglibc-2.16/initgroups_keys.patch | 20 + .../eglibc/eglibc-2.16/ld-search-order.patch | 56 ++ .../eglibc/eglibc-2.16/mips-rld-map-check.patch | 26 + .../eglibc/eglibc-2.16/multilib_readlib.patch | 17 + .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch | 538 ++++++++++++++++++++ .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch | 112 ++++ .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch | 123 +++++ .../eglibc/eglibc-2.16/rpc-bootstrap.patch | 63 +++ .../eglibc-2.16/use-sysroot-cxx-headers.patch | 42 ++ meta/recipes-core/eglibc/eglibc-initial_2.16.bb | 6 + meta/recipes-core/eglibc/eglibc-locale_2.16.bb | 1 + meta/recipes-core/eglibc/eglibc_2.16.bb | 146 ++++++ 18 files changed, 1389 insertions(+)create mode 100644
meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.confcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bbmeta/recipes-core/eglibc/cross-localedef-native_2.16.bb new file +7
-0@@ -0,0 +1,44 @@ +DESCRIPTION = "Cross locale generation tool for eglibc" +HOMEPAGE = "http://www.eglibc.org/home" +SECTION = "libs" +LICENSE = "LGPL-2.1" + +LIC_DIR = "${WORKDIR}/${EGLIBC_BRANCH}/libc" +LIC_FILES_CHKSUM = "file://${LIC_D
Quoted 10 lines · Khem Raj
This patch adds eglibc 2.16 recipes. I was able to build world on x86 except perf which was failing with 2.15 as well.
I have also build and run core-image-sato on all qemus
I did not remove 2.15 to allow some soak in time.
The following changes since commit
5beb7176d361d4bfa279bbfab5a17b8fe4fa3b73:netbase: update to ver. 5.0 (2012-07-05 14:18:19 +0100)
Build and runtime tested on armv4t with bfd (om-gta02), but on armv7a (where I have enabled gold) it fails in do_configure already.
*** These critical programs are missing or too old: ld
IIRC I've seen this with older eglibc too, but then it was working again..
BTW: gold on armv4t is still unusable right?
Cheers,
Quoted 125 lines
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribkraj/eglibc-2.16
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/eglibc-2.16Khem Raj (14):
mirrors: Add debian archive snapshot mirrors to search list
gdb: Replace struct siginfo with propersiginfo_t
busybox: Includesys/resource.hfor rusage definition
coreutils: Fix build with eglibc 2.16
diffutils: Fix build with eglibc 2.16
udev: Fix build with eglibc 2.16 gettext,m4,augeas,gnutls: Account for removal of gets in eglibc 2.16
bison: Fix for gets being removed from eglibc 2.16 grub,guile,cpio,tar,wget: Fix gnulib for absense of gets in eglibc
boost: Upgrade recipe to 1.50.0
puzzles: Fix checksums
valgrind: Fix build with eglibc 2.16
libpam: Fix build with eglibc 2.16
eglibc: Add recipes for 2.16 releasemeta/classes/mirrors.bbclass | 4 +- meta/recipes-bsp/grub/grub-1.99/remove-gets.patch | 20 + meta/recipes-bsp/grub/grub_1.99.bb | 3 +- .../busybox/busybox-1.19.4/sys_resource.patch | 18 + meta/recipes-core/busybox/busybox_1.19.4.bb | 3 +- .../coreutils/coreutils-8.14/remove-gets.patch | 23 + meta/recipes-core/coreutils/coreutils_8.14.bb | 3 +- .../eglibc/cross-localedef-native_2.16.bb | 44 ++ .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch | 108 ++++ .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch | 17 + .../eglibc-svn-arm-lowlevellock-include-tls.patch | 21 + .../eglibc_fix_findidx_parameters.patch | 38 ++ .../eglibc/eglibc-2.16/generate-supported.mk | 11 + .../eglibc/eglibc-2.16/initgroups_keys.patch | 20 + .../eglibc/eglibc-2.16/ld-search-order.patch | 56 ++ .../eglibc/eglibc-2.16/mips-rld-map-check.patch | 26 + .../eglibc/eglibc-2.16/multilib_readlib.patch | 17 + .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch | 538 ++++++++++++++++++++ .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch | 112 ++++ .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch | 123 +++++ .../eglibc/eglibc-2.16/rpc-bootstrap.patch | 63 +++ .../eglibc-2.16/use-sysroot-cxx-headers.patch | 42 ++ meta/recipes-core/eglibc/eglibc-initial_2.16.bb | 6 + meta/recipes-core/eglibc/eglibc-locale_2.16.bb | 1 + meta/recipes-core/eglibc/eglibc_2.16.bb | 146 ++++++ .../gettext/gettext-0.18.1.1/remove_gets.patch | 58 +++ meta/recipes-core/gettext/gettext_0.18.1.1.bb | 3 +- meta/recipes-core/udev/udev/include_resource.patch | 31 ++ meta/recipes-core/udev/udev_164.bb | 7 +- .../recipes-devtools/bison/bison/remove-gets.patch | 20 + meta/recipes-devtools/bison/bison_2.5.bb | 6 +- meta/recipes-devtools/gdb/gdb-common.inc | 2 +- meta/recipes-devtools/gdb/gdb.inc | 1 + meta/recipes-devtools/gdb/gdb/siginfo_t.patch | 403 +++++++++++++++ .../recipes-devtools/guile/files/remove-gets.patch | 23 + meta/recipes-devtools/guile/guile_2.0.5.bb | 3 +- meta/recipes-devtools/m4/m4-1.4.16.inc | 6 +- meta/recipes-devtools/m4/m4/remove-gets.patch | 21 + .../valgrind-3.7.0/configure-with-glibc-2.16.patch | 32 ++ meta/recipes-devtools/valgrind/valgrind_3.7.0.bb | 6 +- .../augeas/augeas/remove-gets.patch | 20 + meta/recipes-extended/augeas/augeas_0.10.0.bb | 4 +- .../cpio/cpio-2.11/remove-gets.patch | 20 + meta/recipes-extended/cpio/cpio_2.11.bb | 5 +- .../diffutils/diffutils-3.2/remove-gets.patch | 22 + meta/recipes-extended/diffutils/diffutils_3.2.bb | 6 +- .../pam/libpam/include-sys-resource.patch | 12 + meta/recipes-extended/pam/libpam_1.1.5.bb | 6 +- .../tar/tar-1.26/remove-gets.patch | 20 + meta/recipes-extended/tar/tar_1.26.bb | 5 +- .../wget/wget-1.13.4/remove-gets.patch | 23 + meta/recipes-extended/wget/wget_1.13.4.bb | 3 +- meta/recipes-sato/puzzles/puzzles_r9561.bb | 5 +- .../boost/{boost_1.49.0.bb => boost_1.50.0.bb} | 5 +- .../gnutls/gnutls/remove-gets.patch | 41 ++ meta/recipes-support/gnutls/gnutls_2.12.20.bb | 3 +- 56 files changed, 2254 insertions(+), 31 deletions(-) create mode 100644 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch create mode 100644 meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch create mode 100644 meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch create mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb create mode 100644 meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch create mode 100644 meta/recipes-core/udev/udev/include_resource.patch create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch create mode 100644 meta/recipes-devtools/gdb/gdb/siginfo_t.patch create mode 100644 meta/recipes-devtools/guile/files/remove-gets.patch create mode 100644 meta/recipes-devtools/m4/m4/remove-gets.patch create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch create mode 100644 meta/recipes-extended/augeas/augeas/remove-gets.patch create mode 100644 meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch create mode 100644 meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch create mode 100644 meta/recipes-extended/pam/libpam/include-sys-resource.patch create mode 100644 meta/recipes-extended/tar/tar-1.26/remove-gets.patch create mode 100644 meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch rename meta/recipes-support/boost/{boost_1.49.0.bb => boost_1.50.0.bb} (53%) create mode 100644 meta/recipes-support/gnutls/gnutls/remove-gets.patchSignature · 7 lines
1.7.9.5 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 8 lines · Martin Jansa
Quoted 7 lines · Khem Raj
This patch adds eglibc 2.16 recipes. I was able to build world on x86 except perf which was failing with 2.15 as well.
I have also build and run core-image-sato on all qemus
I did not remove 2.15 to allow some soak in time.
Quoted 8 lines
Quoted 3 lines
The following changes since commit
5beb7176d361d4bfa279bbfab5a17b8fe4fa3b73:netbase: update to ver. 5.0 (2012-07-05 14:18:19 +0100)
Build and runtime tested on armv4t with bfd (om-gta02), but on armv7a (where I have enabled gold) it fails in
do_configurealready.*** These critical programs are missing or too old: ld
which package do you see this issue with ?
glibc itself is not buildable with gold. In OE-Core we use gnu ld for linking eglibc and gold for rest of it.
Quoted 6 lines
IIRC I've seen this with older eglibc too, but then it was working again..
BTW: gold on armv4t is still unusable right?
yes. It still is. I think one option is to try binutils/master, I was close to fixing it before I ran out of time
Quoted 13 lines · Khem Raj
Quoted 12 lines · Martin Jansa
Quoted 10 lines · Khem Raj
This patch adds eglibc 2.16 recipes. I was able to build world on x86 except perf which was failing with 2.15 as well.
I have also build and run core-image-sato on all qemus
I did not remove 2.15 to allow some soak in time.
The following changes since commit
5beb7176d361d4bfa279bbfab5a17b8fe4fa3b73:netbase: update to ver. 5.0 (2012-07-05 14:18:19 +0100)
Quoted 8 lines
Quoted 4 lines
Build and runtime tested on armv4t with bfd (om-gta02), but on armv7a (where I have enabled gold) it fails in
do_configurealready.*** These critical programs are missing or too old: ld
which package do you see this issue with ?
glibc itself is not buildable with gold. In OE-Core we use gnu ld for linking eglibc and gold for rest of it.
eglibc-initial
http://norman-schleicher.de/jenkins/job/shr-core-branches-nokia900-shr-image/lastBuild/console
I was looking in meta/recipes-core/eglibc for switch forcing bfd for it, but I haven't found it neither in 2.15 or 2.16..
Cheers,
Quoted 15 lines
Quoted 7 lines
IIRC I've seen this with older eglibc too, but then it was working again..
BTW: gold on armv4t is still unusable right?
yes. It still is. I think one option is to try binutils/master, I was close to fixing it before I ran out of time
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Quoted 2 lines · Martin Jansa
I was looking in meta/recipes-core/eglibc for switch forcing bfd for it, but I haven't found it neither in 2.15 or 2.16..
STAGINGCC is gcc-cross-intermediate for eglibc and gcc-cross-initial for eglibc-initial
and if you look at gcc-cross-intermediate recipe then it uses
in EXTRA_OECONF
${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)}"
which means it use ld.bfd when ld-is-gold is enabled.
however we need something similar for gcc-cross-initial as well and thats why you see the problem with eglibc-initial
I have created a patch and added it to the pull branch please try that out
especially this one
http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/eglibc-2.16&id=3b68cb3e23138c72e61771c50a4a4b08bb4d0865
Thanks
- -Khem
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk/2CGoACgkQuwUzVZGdMxSiXQCfT+LaNCf9iZAK1tr2fNsX8opW MAIAnihWe8FauLk+y3gmLMHcg8e+MfIf
=m9f1
-----END PGP SIGNATURE-----
Quoted 19 lines · Khem Raj
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1Quoted 2 lines · Martin Jansa
I was looking in meta/recipes-core/eglibc for switch forcing bfd for it, but I haven't found it neither in 2.15 or 2.16..
STAGINGCC is gcc-cross-intermediate for eglibc and gcc-cross-initial for eglibc-initial
and if you look at gcc-cross-intermediate recipe then it uses
in
EXTRA_OECONF${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)}"
which means it use ld.bfd when ld-is-gold is enabled.
Quoted 9 lines
however we need something similar for gcc-cross-initial as well and thats why you see the problem with eglibc-initial
I have created a patch and added it to the pull branch please try that out
especially this one
http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/eglibc-2.16&id=3b68cb3e23138c72e61771c50a4a4b08bb4d0865
yes this helps eglibc-initial:do_configre passed,
Thanks!
Cheers,
Quoted 15 lines
Thanks
- -Khem
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/iEYEARECAAYFAk/2CGoACgkQuwUzVZGdMxSiXQCfT+LaNCf9iZAK1tr2fNsX8opW MAIAnihWe8FauLk+y3gmLMHcg8e+MfIf
=m9f1
-----END PGP SIGNATURE-----_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 16 lines · Khem Raj
This patch adds eglibc 2.16 recipes. I was able to build world on x86 except perf which was failing with 2.15 as well.
I have also build and run core-image-sato on all qemus
I did not remove 2.15 to allow some soak in time.
The following changes since commit
5beb7176d361d4bfa279bbfab5a17b8fe4fa3b73:netbase: update to ver. 5.0 (2012-07-05 14:18:19 +0100)are available in the git repository at:
git://git.openembedded.org/openembedded-core-contribkraj/eglibc-2.16
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/eglibc-2.16
Quoted 16 lines
Khem Raj (14):
mirrors: Add debian archive snapshot mirrors to search list
gdb: Replace struct siginfo with propersiginfo_t
busybox: Includesys/resource.hfor rusage definition
coreutils: Fix build with eglibc 2.16
diffutils: Fix build with eglibc 2.16
udev: Fix build with eglibc 2.16 gettext,m4,augeas,gnutls: Account for removal of gets in eglibc 2.16
bison: Fix for gets being removed from eglibc 2.16 grub,guile,cpio,tar,wget: Fix gnulib for absense of gets in eglibc
boost: Upgrade recipe to 1.50.0
puzzles: Fix checksums
valgrind: Fix build with eglibc 2.16
libpam: Fix build with eglibc 2.16
eglibc: Add recipes for 2.16 release
Merged this branch (along with the other changes) into OE-Core
I dropped the puzzles change in favor of using the SVN version due to the potential of checksums changing again, he rebuilds the tarball daily!
Thanks
Sau!
Quoted 95 lines
meta/classes/mirrors.bbclass | 4 +- meta/recipes-bsp/grub/grub-1.99/remove-gets.patch | 20 + meta/recipes-bsp/grub/grub_1.99.bb | 3 +- .../busybox/busybox-1.19.4/sys_resource.patch | 18 + meta/recipes-core/busybox/busybox_1.19.4.bb | 3 +- .../coreutils/coreutils-8.14/remove-gets.patch | 23 + meta/recipes-core/coreutils/coreutils_8.14.bb | 3 +- .../eglibc/cross-localedef-native_2.16.bb | 44 ++ .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch | 108 ++++ .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch | 17 + .../eglibc-svn-arm-lowlevellock-include-tls.patch | 21 + .../eglibc_fix_findidx_parameters.patch | 38 ++ .../eglibc/eglibc-2.16/generate-supported.mk | 11 + .../eglibc/eglibc-2.16/initgroups_keys.patch | 20 + .../eglibc/eglibc-2.16/ld-search-order.patch | 56 ++ .../eglibc/eglibc-2.16/mips-rld-map-check.patch | 26 + .../eglibc/eglibc-2.16/multilib_readlib.patch | 17 + .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch | 538 ++++++++++++++++++++ .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch | 112 ++++ .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch | 123 +++++ .../eglibc/eglibc-2.16/rpc-bootstrap.patch | 63 +++ .../eglibc-2.16/use-sysroot-cxx-headers.patch | 42 ++ meta/recipes-core/eglibc/eglibc-initial_2.16.bb | 6 + meta/recipes-core/eglibc/eglibc-locale_2.16.bb | 1 + meta/recipes-core/eglibc/eglibc_2.16.bb | 146 ++++++ .../gettext/gettext-0.18.1.1/remove_gets.patch | 58 +++ meta/recipes-core/gettext/gettext_0.18.1.1.bb | 3 +- meta/recipes-core/udev/udev/include_resource.patch | 31 ++ meta/recipes-core/udev/udev_164.bb | 7 +- .../recipes-devtools/bison/bison/remove-gets.patch | 20 + meta/recipes-devtools/bison/bison_2.5.bb | 6 +- meta/recipes-devtools/gdb/gdb-common.inc | 2 +- meta/recipes-devtools/gdb/gdb.inc | 1 + meta/recipes-devtools/gdb/gdb/siginfo_t.patch | 403 +++++++++++++++ .../recipes-devtools/guile/files/remove-gets.patch | 23 + meta/recipes-devtools/guile/guile_2.0.5.bb | 3 +- meta/recipes-devtools/m4/m4-1.4.16.inc | 6 +- meta/recipes-devtools/m4/m4/remove-gets.patch | 21 + .../valgrind-3.7.0/configure-with-glibc-2.16.patch | 32 ++ meta/recipes-devtools/valgrind/valgrind_3.7.0.bb | 6 +- .../augeas/augeas/remove-gets.patch | 20 + meta/recipes-extended/augeas/augeas_0.10.0.bb | 4 +- .../cpio/cpio-2.11/remove-gets.patch | 20 + meta/recipes-extended/cpio/cpio_2.11.bb | 5 +- .../diffutils/diffutils-3.2/remove-gets.patch | 22 + meta/recipes-extended/diffutils/diffutils_3.2.bb | 6 +- .../pam/libpam/include-sys-resource.patch | 12 + meta/recipes-extended/pam/libpam_1.1.5.bb | 6 +- .../tar/tar-1.26/remove-gets.patch | 20 + meta/recipes-extended/tar/tar_1.26.bb | 5 +- .../wget/wget-1.13.4/remove-gets.patch | 23 + meta/recipes-extended/wget/wget_1.13.4.bb | 3 +- meta/recipes-sato/puzzles/puzzles_r9561.bb | 5 +- .../boost/{boost_1.49.0.bb => boost_1.50.0.bb} | 5 +- .../gnutls/gnutls/remove-gets.patch | 41 ++ meta/recipes-support/gnutls/gnutls_2.12.20.bb | 3 +- 56 files changed, 2254 insertions(+), 31 deletions(-)create mode 100644
meta/recipes-bsp/grub/grub-1.99/remove-gets.patch
create mode 100644meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patchcreate mode 100644meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patchcreate mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patchcreate mode 100644meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
create mode 100644meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patchcreate mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb
create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb
create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb
create mode 100644meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patchcreate mode 100644meta/recipes-core/udev/udev/include_resource.patch
create mode 100644meta/recipes-devtools/bison/bison/remove-gets.patch
create mode 100644meta/recipes-devtools/gdb/gdb/siginfo_t.patch
create mode 100644meta/recipes-devtools/guile/files/remove-gets.patch
create mode 100644meta/recipes-devtools/m4/m4/remove-gets.patch
create mode 100644meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patchcreate mode 100644meta/recipes-extended/augeas/augeas/remove-gets.patch
create mode 100644meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch
create mode 100644meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patchcreate mode 100644meta/recipes-extended/pam/libpam/include-sys-resource.patchcreate mode 100644meta/recipes-extended/tar/tar-1.26/remove-gets.patch
create mode 100644meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch
rename meta/recipes-support/boost/{boost_1.49.0.bb => boost_1.50.0.bb} (53%)
create mode 100644meta/recipes-support/gnutls/gnutls/remove-gets.patch