summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.13/shorten-build-commands.patch82
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.13/use-sysroot-cxx-headers.patch36
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.14/shorten-build-commands.patch82
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.14/use-sysroot-cxx-headers.patch36
-rw-r--r--meta/recipes-core/eglibc/eglibc-testing.inc4
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.13.bb4
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.14.bb4
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
2Source: http://sourceware.org/ml/libc-alpha/2010-03/msg00064.html
3
4This patch scratches an itch. Each individual gcc command in the
5glibc build is over 1K, which means it takes up a good chunk of my
6terminal. Most of that is include paths. Any version of GCC new
7enough to build glibc supports response files, which were added in
82005. So use a response file for the static list of include paths.
9Now the build commands are a lot shorter, and easier to use when
10developing glibc.
11
12Tested on x86_64-linux-gnu. Please apply if acceptable.
13
14--
15Daniel Jacobowitz
16CodeSourcery
17
182010-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
26Upstream-Status: Pending
27
28Index: 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.
45Index: 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
58Index: 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 @@
1build system of glibc currently adds the cxx headers path by detecting
2it using provided CXX and expects that they are installed w.r.t to standard
3installation location but in OE we install and use cxx headers from target
4sysroot therefore that code needs to be adapted for OE
5
6Upstream-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
2Source: http://sourceware.org/ml/libc-alpha/2010-03/msg00064.html
3
4This patch scratches an itch. Each individual gcc command in the
5glibc build is over 1K, which means it takes up a good chunk of my
6terminal. Most of that is include paths. Any version of GCC new
7enough to build glibc supports response files, which were added in
82005. So use a response file for the static list of include paths.
9Now the build commands are a lot shorter, and easier to use when
10developing glibc.
11
12Tested on x86_64-linux-gnu. Please apply if acceptable.
13
14--
15Daniel Jacobowitz
16CodeSourcery
17
182010-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
26Upstream-Status: Pending
27
28Index: 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.
45Index: 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
58Index: 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 @@
1build system of glibc currently adds the cxx headers path by detecting
2it using provided CXX and expects that they are installed w.r.t to standard
3installation location but in OE we install and use cxx headers from target
4sysroot therefore that code needs to be adapted for OE
5
6Upstream-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
73wrapper="${S}/scripts/cross-test-ssh.sh \$target" 71wrapper="${S}/scripts/cross-test-ssh.sh \$target"
74localedef="${STAGING_BINDIR_NATIVE}/cross-localedef --little-endian --uint32-align=4" 72localedef="${STAGING_BINDIR_NATIVE}/cross-localedef --little-endian --uint32-align=4"
75make tests-clean 73make 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
3SRCREV = "15508" 3SRCREV = "15508"
4 4
5DEPENDS += "gperf-native" 5DEPENDS += "gperf-native"
6PR = "r19" 6PR = "r20"
7PR_append = "+svnr${SRCPV}" 7PR_append = "+svnr${SRCPV}"
8 8
9EGLIBC_BRANCH="eglibc-2_13" 9EGLIBC_BRANCH="eglibc-2_13"
10SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http \ 10SRC_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 "
22LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \ 22LIC_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
3SRCREV = "15870" 3SRCREV = "15870"
4 4
5DEPENDS += "gperf-native" 5DEPENDS += "gperf-native"
6PR = "r2" 6PR = "r3"
7PR_append = "+svnr${SRCPV}" 7PR_append = "+svnr${SRCPV}"
8 8
9EGLIBC_BRANCH="eglibc-2_14" 9EGLIBC_BRANCH="eglibc-2_14"
10SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http \ 10SRC_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 "
24LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \ 24LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \
25 file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ 25 file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \