diff options
7 files changed, 77 insertions, 171 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-2.13/shorten-build-commands.patch b/meta/recipes-core/eglibc/eglibc-2.13/shorten-build-commands.patch deleted file mode 100644 index 080568d9c2..0000000000 --- a/meta/recipes-core/eglibc/eglibc-2.13/shorten-build-commands.patch +++ /dev/null | |||
| @@ -1,82 +0,0 @@ | |||
| 1 | |||
| 2 | Source: http://sourceware.org/ml/libc-alpha/2010-03/msg00064.html | ||
| 3 | |||
| 4 | This patch scratches an itch. Each individual gcc command in the | ||
| 5 | glibc build is over 1K, which means it takes up a good chunk of my | ||
| 6 | terminal. Most of that is include paths. Any version of GCC new | ||
| 7 | enough to build glibc supports response files, which were added in | ||
| 8 | 2005. So use a response file for the static list of include paths. | ||
| 9 | Now the build commands are a lot shorter, and easier to use when | ||
| 10 | developing glibc. | ||
| 11 | |||
| 12 | Tested on x86_64-linux-gnu. Please apply if acceptable. | ||
| 13 | |||
| 14 | -- | ||
| 15 | Daniel Jacobowitz | ||
| 16 | CodeSourcery | ||
| 17 | |||
| 18 | 2010-03-30 Daniel Jacobowitz <dan@codesourcery.com> | ||
| 19 | |||
| 20 | * Makeconfig (+common-includes): Define. | ||
| 21 | (+includes): Use @$(common-objpfx)includes. | ||
| 22 | * Makefile (postclean): Remove includes and includes.mk. | ||
| 23 | * Makerules ($(common-objpfx)includes.mk): Include and create | ||
| 24 | includes.mk. Create includes. | ||
| 25 | |||
| 26 | Upstream-Status: Pending | ||
| 27 | |||
| 28 | Index: libc/Makeconfig | ||
| 29 | =================================================================== | ||
| 30 | --- libc.orig/Makeconfig 2009-10-13 22:55:12.000000000 -0700 | ||
| 31 | +++ libc/Makeconfig 2010-03-31 16:02:37.120489733 -0700 | ||
| 32 | @@ -678,9 +678,10 @@ endif # $(+cflags) == "" | ||
| 33 | # library source directory, in the include directory, and in the | ||
| 34 | # current directory. | ||
| 35 | +sysdep-includes = $(addprefix -I,$(+sysdep_dirs)) | ||
| 36 | ++common-includes = $(+sysdep-includes) $(includes) $(sysincludes) | ||
| 37 | +includes = -I$(..)include $(if $(subdir),$(objpfx:%/=-I%)) \ | ||
| 38 | - $(+sysdep-includes) $(includes) \ | ||
| 39 | - $(patsubst %/,-I%,$(..)) $(libio-include) -I. $(sysincludes) | ||
| 40 | + @$(common-objpfx)includes \ | ||
| 41 | + $(patsubst %/,-I%,$(..)) $(libio-include) -I. | ||
| 42 | |||
| 43 | # Since libio has several internal header files, we use a -I instead | ||
| 44 | # of many little headers in the include directory. | ||
| 45 | Index: libc/Makefile | ||
| 46 | =================================================================== | ||
| 47 | --- libc.orig/Makefile 2009-12-09 12:06:28.000000000 -0800 | ||
| 48 | +++ libc/Makefile 2010-03-31 16:02:37.132481508 -0700 | ||
| 49 | @@ -247,7 +247,7 @@ parent-mostlyclean: common-mostlyclean # | ||
| 50 | parent-clean: parent-mostlyclean common-clean | ||
| 51 | |||
| 52 | postclean = $(addprefix $(common-objpfx),$(postclean-generated)) \ | ||
| 53 | - $(addprefix $(objpfx),sysd-dirs sysd-rules) \ | ||
| 54 | + $(addprefix $(objpfx),sysd-dirs sysd-rules includes includes.mk) \ | ||
| 55 | $(addprefix $(objpfx),sysd-sorted soversions.mk soversions.i) | ||
| 56 | |||
| 57 | clean: parent-clean | ||
| 58 | Index: libc/Makerules | ||
| 59 | =================================================================== | ||
| 60 | --- libc.orig/Makerules 2009-12-09 12:06:28.000000000 -0800 | ||
| 61 | +++ libc/Makerules 2010-03-31 16:02:37.140481645 -0700 | ||
| 62 | @@ -254,6 +254,20 @@ ifndef sysd-rules-done | ||
| 63 | no_deps=t | ||
| 64 | endif | ||
| 65 | |||
| 66 | +-include $(common-objpfx)includes.mk | ||
| 67 | +ifneq ($(+common-includes),$(saved-includes)) | ||
| 68 | +# Recreate includes.mk (and includes). | ||
| 69 | +includes-force = FORCE | ||
| 70 | +FORCE: | ||
| 71 | +endif | ||
| 72 | +$(common-objpfx)includes.mk: $(includes-force) | ||
| 73 | + -@rm -f $@T $(common-objpfx)includesT | ||
| 74 | + for inc in $(+common-includes); do echo "$$inc"; done \ | ||
| 75 | + > $(common-objpfx)includesT | ||
| 76 | + mv -f $(common-objpfx)includesT $(common-objpfx)includes | ||
| 77 | + echo 'saved-includes := $(+common-includes)' > $@T | ||
| 78 | + mv -f $@T $@ | ||
| 79 | + | ||
| 80 | define o-iterator-doit | ||
| 81 | $(objpfx)%$o: %.S $(before-compile); $$(compile-command.S) | ||
| 82 | endef | ||
diff --git a/meta/recipes-core/eglibc/eglibc-2.13/use-sysroot-cxx-headers.patch b/meta/recipes-core/eglibc/eglibc-2.13/use-sysroot-cxx-headers.patch new file mode 100644 index 0000000000..c06eebfac4 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.13/use-sysroot-cxx-headers.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | build system of glibc currently adds the cxx headers path by detecting | ||
| 2 | it using provided CXX and expects that they are installed w.r.t to standard | ||
| 3 | installation location but in OE we install and use cxx headers from target | ||
| 4 | sysroot therefore that code needs to be adapted for OE | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [OE-specific] | ||
| 7 | |||
| 8 | -Khem | ||
| 9 | |||
| 10 | |||
| 11 | --- a/configure.in | ||
| 12 | +++ b/configure.in | ||
| 13 | @@ -1118,9 +1118,8 @@ if test -n "$sysheaders"; then | ||
| 14 | SYSINCLUDES="$SYSINCLUDES \ | ||
| 15 | -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" | ||
| 16 | if test -n "$CXX"; then | ||
| 17 | - cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` && | ||
| 18 | cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` && | ||
| 19 | - cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" && | ||
| 20 | + cxxheaders=`$CXX -print-sysroot`"$prefix/include/c++" && | ||
| 21 | CXX_SYSINCLUDES="-isystem $cxxheaders \ | ||
| 22 | -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward" | ||
| 23 | fi | ||
| 24 | --- a/configure | ||
| 25 | +++ b/configure | ||
| 26 | @@ -5544,9 +5544,8 @@ if test -n "$sysheaders"; then | ||
| 27 | SYSINCLUDES="$SYSINCLUDES \ | ||
| 28 | -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" | ||
| 29 | if test -n "$CXX"; then | ||
| 30 | - cxxversion=`$CXX -dumpversion 2>&5` && | ||
| 31 | cxxmachine=`$CXX -dumpmachine 2>&5` && | ||
| 32 | - cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" && | ||
| 33 | + cxxheaders=`$CXX -print-sysroot`"$prefix/include/c++" && | ||
| 34 | CXX_SYSINCLUDES="-isystem $cxxheaders \ | ||
| 35 | -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward" | ||
| 36 | fi | ||
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/shorten-build-commands.patch b/meta/recipes-core/eglibc/eglibc-2.14/shorten-build-commands.patch deleted file mode 100644 index 080568d9c2..0000000000 --- a/meta/recipes-core/eglibc/eglibc-2.14/shorten-build-commands.patch +++ /dev/null | |||
| @@ -1,82 +0,0 @@ | |||
| 1 | |||
| 2 | Source: http://sourceware.org/ml/libc-alpha/2010-03/msg00064.html | ||
| 3 | |||
| 4 | This patch scratches an itch. Each individual gcc command in the | ||
| 5 | glibc build is over 1K, which means it takes up a good chunk of my | ||
| 6 | terminal. Most of that is include paths. Any version of GCC new | ||
| 7 | enough to build glibc supports response files, which were added in | ||
| 8 | 2005. So use a response file for the static list of include paths. | ||
| 9 | Now the build commands are a lot shorter, and easier to use when | ||
| 10 | developing glibc. | ||
| 11 | |||
| 12 | Tested on x86_64-linux-gnu. Please apply if acceptable. | ||
| 13 | |||
| 14 | -- | ||
| 15 | Daniel Jacobowitz | ||
| 16 | CodeSourcery | ||
| 17 | |||
| 18 | 2010-03-30 Daniel Jacobowitz <dan@codesourcery.com> | ||
| 19 | |||
| 20 | * Makeconfig (+common-includes): Define. | ||
| 21 | (+includes): Use @$(common-objpfx)includes. | ||
| 22 | * Makefile (postclean): Remove includes and includes.mk. | ||
| 23 | * Makerules ($(common-objpfx)includes.mk): Include and create | ||
| 24 | includes.mk. Create includes. | ||
| 25 | |||
| 26 | Upstream-Status: Pending | ||
| 27 | |||
| 28 | Index: libc/Makeconfig | ||
| 29 | =================================================================== | ||
| 30 | --- libc.orig/Makeconfig 2009-10-13 22:55:12.000000000 -0700 | ||
| 31 | +++ libc/Makeconfig 2010-03-31 16:02:37.120489733 -0700 | ||
| 32 | @@ -678,9 +678,10 @@ endif # $(+cflags) == "" | ||
| 33 | # library source directory, in the include directory, and in the | ||
| 34 | # current directory. | ||
| 35 | +sysdep-includes = $(addprefix -I,$(+sysdep_dirs)) | ||
| 36 | ++common-includes = $(+sysdep-includes) $(includes) $(sysincludes) | ||
| 37 | +includes = -I$(..)include $(if $(subdir),$(objpfx:%/=-I%)) \ | ||
| 38 | - $(+sysdep-includes) $(includes) \ | ||
| 39 | - $(patsubst %/,-I%,$(..)) $(libio-include) -I. $(sysincludes) | ||
| 40 | + @$(common-objpfx)includes \ | ||
| 41 | + $(patsubst %/,-I%,$(..)) $(libio-include) -I. | ||
| 42 | |||
| 43 | # Since libio has several internal header files, we use a -I instead | ||
| 44 | # of many little headers in the include directory. | ||
| 45 | Index: libc/Makefile | ||
| 46 | =================================================================== | ||
| 47 | --- libc.orig/Makefile 2009-12-09 12:06:28.000000000 -0800 | ||
| 48 | +++ libc/Makefile 2010-03-31 16:02:37.132481508 -0700 | ||
| 49 | @@ -247,7 +247,7 @@ parent-mostlyclean: common-mostlyclean # | ||
| 50 | parent-clean: parent-mostlyclean common-clean | ||
| 51 | |||
| 52 | postclean = $(addprefix $(common-objpfx),$(postclean-generated)) \ | ||
| 53 | - $(addprefix $(objpfx),sysd-dirs sysd-rules) \ | ||
| 54 | + $(addprefix $(objpfx),sysd-dirs sysd-rules includes includes.mk) \ | ||
| 55 | $(addprefix $(objpfx),sysd-sorted soversions.mk soversions.i) | ||
| 56 | |||
| 57 | clean: parent-clean | ||
| 58 | Index: libc/Makerules | ||
| 59 | =================================================================== | ||
| 60 | --- libc.orig/Makerules 2009-12-09 12:06:28.000000000 -0800 | ||
| 61 | +++ libc/Makerules 2010-03-31 16:02:37.140481645 -0700 | ||
| 62 | @@ -254,6 +254,20 @@ ifndef sysd-rules-done | ||
| 63 | no_deps=t | ||
| 64 | endif | ||
| 65 | |||
| 66 | +-include $(common-objpfx)includes.mk | ||
| 67 | +ifneq ($(+common-includes),$(saved-includes)) | ||
| 68 | +# Recreate includes.mk (and includes). | ||
| 69 | +includes-force = FORCE | ||
| 70 | +FORCE: | ||
| 71 | +endif | ||
| 72 | +$(common-objpfx)includes.mk: $(includes-force) | ||
| 73 | + -@rm -f $@T $(common-objpfx)includesT | ||
| 74 | + for inc in $(+common-includes); do echo "$$inc"; done \ | ||
| 75 | + > $(common-objpfx)includesT | ||
| 76 | + mv -f $(common-objpfx)includesT $(common-objpfx)includes | ||
| 77 | + echo 'saved-includes := $(+common-includes)' > $@T | ||
| 78 | + mv -f $@T $@ | ||
| 79 | + | ||
| 80 | define o-iterator-doit | ||
| 81 | $(objpfx)%$o: %.S $(before-compile); $$(compile-command.S) | ||
| 82 | endef | ||
diff --git a/meta/recipes-core/eglibc/eglibc-2.14/use-sysroot-cxx-headers.patch b/meta/recipes-core/eglibc/eglibc-2.14/use-sysroot-cxx-headers.patch new file mode 100644 index 0000000000..c06eebfac4 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.14/use-sysroot-cxx-headers.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | build system of glibc currently adds the cxx headers path by detecting | ||
| 2 | it using provided CXX and expects that they are installed w.r.t to standard | ||
| 3 | installation location but in OE we install and use cxx headers from target | ||
| 4 | sysroot therefore that code needs to be adapted for OE | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [OE-specific] | ||
| 7 | |||
| 8 | -Khem | ||
| 9 | |||
| 10 | |||
| 11 | --- a/configure.in | ||
| 12 | +++ b/configure.in | ||
| 13 | @@ -1118,9 +1118,8 @@ if test -n "$sysheaders"; then | ||
| 14 | SYSINCLUDES="$SYSINCLUDES \ | ||
| 15 | -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" | ||
| 16 | if test -n "$CXX"; then | ||
| 17 | - cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` && | ||
| 18 | cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` && | ||
| 19 | - cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" && | ||
| 20 | + cxxheaders=`$CXX -print-sysroot`"$prefix/include/c++" && | ||
| 21 | CXX_SYSINCLUDES="-isystem $cxxheaders \ | ||
| 22 | -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward" | ||
| 23 | fi | ||
| 24 | --- a/configure | ||
| 25 | +++ b/configure | ||
| 26 | @@ -5544,9 +5544,8 @@ if test -n "$sysheaders"; then | ||
| 27 | SYSINCLUDES="$SYSINCLUDES \ | ||
| 28 | -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`" | ||
| 29 | if test -n "$CXX"; then | ||
| 30 | - cxxversion=`$CXX -dumpversion 2>&5` && | ||
| 31 | cxxmachine=`$CXX -dumpmachine 2>&5` && | ||
| 32 | - cxxheaders=`$CXX -print-file-name=../../../../include/c++/`"$cxxversion" && | ||
| 33 | + cxxheaders=`$CXX -print-sysroot`"$prefix/include/c++" && | ||
| 34 | CXX_SYSINCLUDES="-isystem $cxxheaders \ | ||
| 35 | -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward" | ||
| 36 | fi | ||
diff --git a/meta/recipes-core/eglibc/eglibc-testing.inc b/meta/recipes-core/eglibc/eglibc-testing.inc index 2cd7c6ab14..c30409fb94 100644 --- a/meta/recipes-core/eglibc/eglibc-testing.inc +++ b/meta/recipes-core/eglibc/eglibc-testing.inc | |||
| @@ -66,10 +66,8 @@ fi | |||
| 66 | echo "# we test using cross compiler from real sysroot therefore override the" > ${B}/configparms | 66 | echo "# we test using cross compiler from real sysroot therefore override the" > ${B}/configparms |
| 67 | echo "# definitions that come from ${B}/config.make" >> ${B}/configparms | 67 | echo "# definitions that come from ${B}/config.make" >> ${B}/configparms |
| 68 | 68 | ||
| 69 | echo "CC = ${CC}" >> ${B}/configparms | 69 | fgrep tcbootstrap ${B}/config.make > ${B}/configparms |
| 70 | echo "CXX = ${CXX}" >> ${B}/configparms | ||
| 71 | sed -i -e "s/\-tcbootstrap//g" ${B}/configparms | 70 | sed -i -e "s/\-tcbootstrap//g" ${B}/configparms |
| 72 | |||
| 73 | wrapper="${S}/scripts/cross-test-ssh.sh \$target" | 71 | wrapper="${S}/scripts/cross-test-ssh.sh \$target" |
| 74 | localedef="${STAGING_BINDIR_NATIVE}/cross-localedef --little-endian --uint32-align=4" | 72 | localedef="${STAGING_BINDIR_NATIVE}/cross-localedef --little-endian --uint32-align=4" |
| 75 | make tests-clean | 73 | make tests-clean |
diff --git a/meta/recipes-core/eglibc/eglibc_2.13.bb b/meta/recipes-core/eglibc/eglibc_2.13.bb index 9d3ec85af6..8555985335 100644 --- a/meta/recipes-core/eglibc/eglibc_2.13.bb +++ b/meta/recipes-core/eglibc/eglibc_2.13.bb | |||
| @@ -3,14 +3,13 @@ require eglibc.inc | |||
| 3 | SRCREV = "15508" | 3 | SRCREV = "15508" |
| 4 | 4 | ||
| 5 | DEPENDS += "gperf-native" | 5 | DEPENDS += "gperf-native" |
| 6 | PR = "r19" | 6 | PR = "r20" |
| 7 | PR_append = "+svnr${SRCPV}" | 7 | PR_append = "+svnr${SRCPV}" |
| 8 | 8 | ||
| 9 | EGLIBC_BRANCH="eglibc-2_13" | 9 | EGLIBC_BRANCH="eglibc-2_13" |
| 10 | SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http \ | 10 | SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http \ |
| 11 | file://eglibc-svn-arm-lowlevellock-include-tls.patch \ | 11 | file://eglibc-svn-arm-lowlevellock-include-tls.patch \ |
| 12 | file://IO-acquire-lock-fix.patch \ | 12 | file://IO-acquire-lock-fix.patch \ |
| 13 | file://shorten-build-commands.patch \ | ||
| 14 | file://mips-rld-map-check.patch \ | 13 | file://mips-rld-map-check.patch \ |
| 15 | file://stack-protector-test.patch \ | 14 | file://stack-protector-test.patch \ |
| 16 | file://armv4-eabi-compile-fix.patch \ | 15 | file://armv4-eabi-compile-fix.patch \ |
| @@ -18,6 +17,7 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http | |||
| 18 | file://generate-supported.mk \ | 17 | file://generate-supported.mk \ |
| 19 | file://ppc-sqrt.patch \ | 18 | file://ppc-sqrt.patch \ |
| 20 | file://multilib_readlib.patch \ | 19 | file://multilib_readlib.patch \ |
| 20 | file://use-sysroot-cxx-headers.patch \ | ||
| 21 | " | 21 | " |
| 22 | LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \ | 22 | LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \ |
| 23 | file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ | 23 | file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ |
diff --git a/meta/recipes-core/eglibc/eglibc_2.14.bb b/meta/recipes-core/eglibc/eglibc_2.14.bb index 8553106766..ad2161e1dd 100644 --- a/meta/recipes-core/eglibc/eglibc_2.14.bb +++ b/meta/recipes-core/eglibc/eglibc_2.14.bb | |||
| @@ -3,14 +3,13 @@ require eglibc.inc | |||
| 3 | SRCREV = "15870" | 3 | SRCREV = "15870" |
| 4 | 4 | ||
| 5 | DEPENDS += "gperf-native" | 5 | DEPENDS += "gperf-native" |
| 6 | PR = "r2" | 6 | PR = "r3" |
| 7 | PR_append = "+svnr${SRCPV}" | 7 | PR_append = "+svnr${SRCPV}" |
| 8 | 8 | ||
| 9 | EGLIBC_BRANCH="eglibc-2_14" | 9 | EGLIBC_BRANCH="eglibc-2_14" |
| 10 | SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http \ | 10 | SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http \ |
| 11 | file://eglibc-svn-arm-lowlevellock-include-tls.patch \ | 11 | file://eglibc-svn-arm-lowlevellock-include-tls.patch \ |
| 12 | file://IO-acquire-lock-fix.patch \ | 12 | file://IO-acquire-lock-fix.patch \ |
| 13 | file://shorten-build-commands.patch \ | ||
| 14 | file://mips-rld-map-check.patch \ | 13 | file://mips-rld-map-check.patch \ |
| 15 | file://stack-protector-test.patch \ | 14 | file://stack-protector-test.patch \ |
| 16 | file://armv4-eabi-compile-fix.patch \ | 15 | file://armv4-eabi-compile-fix.patch \ |
| @@ -20,6 +19,7 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http | |||
| 20 | file://multilib_readlib.patch \ | 19 | file://multilib_readlib.patch \ |
| 21 | file://eglibc-rpc-export-again.patch \ | 20 | file://eglibc-rpc-export-again.patch \ |
| 22 | file://glibc-2.14-libdl-crash.patch \ | 21 | file://glibc-2.14-libdl-crash.patch \ |
| 22 | file://use-sysroot-cxx-headers.patch \ | ||
| 23 | " | 23 | " |
| 24 | LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \ | 24 | LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \ |
| 25 | file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ | 25 | file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ |
