Skip to contentSkip to conversation

gcc fixes and eglibc update

PATCH In review Khem Raj 2 participants 7 messages Jun 28, 2012

lore
Share & tools
lore

Khem Raj

author
#0 lore raw

cover gcc fixes and eglibc update

This patchset updates eglibc 2.15 to latest (all qemu boot into sato image) fix unpackaged file warning in libgcc
Remove USE_NLS from gcc configure ( depends on a patch from my previous pull )

All uclibc/eglibc images and meta-toolchains build ok and boot ok too.

The following changes since commit f4b5afe46ff018570c1949653eb6995428827f6f:

sanity.bbclass: Increase LAYER_CONF_VERSION to match bblayers change (2012-06-25 17:20:06 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib kraj/toolchain
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/toolchain

Dennis Lan (1):
eglibc: support mipsel little endian, filter out -march=mips32

Khem Raj (3):
libgcc: Remove unpackage unwind.h gcc-configure-sdk,gcc-configure-cross: Dont recompute USE_NLS eglibc-2.15: Update to latest on 2.15 branch

 meta/recipes-core/eglibc/eglibc_2.15.bb           |    3 ++-
 meta/recipes-devtools/gcc/gcc-configure-cross.inc |    2 --
 meta/recipes-devtools/gcc/gcc-configure-sdk.inc   |    4 ----
 meta/recipes-devtools/gcc/libgcc_4.7.bb           |    4 ++++
 4 files changed, 6 insertions(+), 7 deletions(-)
Signature · 1 line
1.7.9.5
author
#1 lore raw

PATCH 1/4 libgcc: Remove unpackage unwind.h

Fixes build warnings like below

WARNING: For recipe libgcc, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/arm-oe-linux-gnueabi/4.7.2/include
WARNING:   /usr/lib/arm-oe-linux-gnueabi/4.7.2/include/unwind.h
---
 meta/recipes-devtools/gcc/libgcc_4.7.bb |    4 ++++
 1 file changed, 4 insertions(+)
meta/recipes-devtools/gcc/libgcc_4.7.bb +4 -0
index 891c03e..55aa03c 100644
@@ -58,6 +58,10 @@ do_install () {
 
 	mv ${D}${libdir}/gcc/* ${D}${libdir}
 	rm -rf ${D}${libdir}/gcc/
+	# unwind.h is installed here which is shipped in gcc-cross
+	# as well as target gcc and they are identical so we dont
+	# ship one with libgcc here
+	rm -rf ${D}${libdir}/${TARGET_SYS}/${BINV}/include
 }
 
 do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_package"
Signature · 1 line
1.7.9.5
author
#2 lore raw

PATCH 2/4 gcc-configure-sdk, gcc-configure-cross: Dont recompute USE_NLS

This was needed because on eglibc based builds we did not define USE_NLS but now we define it in default config to have a valid value so we do not need this here. Moreover it was wrong and was not covering all cases of uclibc triplets

---
 meta/recipes-devtools/gcc/gcc-configure-cross.inc |    2 --
 meta/recipes-devtools/gcc/gcc-configure-sdk.inc   |    4 ----
 2 files changed, 6 deletions(-)
meta/recipes-devtools/gcc/gcc-configure-cross.inc +0 -2
index 3cb3452..243ee55d 100644
@@ -1,7 +1,5 @@
 require gcc-configure-common.inc
 
-USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
-
 EXTRA_OECONF += " --enable-poison-system-directories \
 		"
 
meta/recipes-devtools/gcc/gcc-configure-sdk.inc +0 -4
index 90e20f5..51c0217 100644
@@ -1,9 +1,5 @@
 require gcc-configure-common.inc
 
-# The two lines below conflict, this needs fixing - RP
-USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
-USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibceabi", "no", "", d )}'
-
 EXTRA_OECONF_PATHS = "--with-gxx-include-dir=${SDKPATH}/sysroots/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}${target_includedir}/c++ \
                       --with-build-time-tools=${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}/bin \
                       --with-sysroot=${SDKPATH}/sysroots/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS} \
Signature · 1 line
1.7.9.5
author
#3 lore raw

PATCH 3/4 eglibc: support mipsel little endian, filter out -march=mips32

In reply to Khem Raj

From: Dennis Lan <[email protected]>

Quote for eglibc source:
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

---
 meta/recipes-core/eglibc/eglibc_2.15.bb |    1 +
 1 file changed, 1 insertion(+)
meta/recipes-core/eglibc/eglibc_2.15.bb +1 -0
index e57a112..b2922b4 100644
@@ -101,6 +101,7 @@ do_patch_append() {
 # 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)}"
 
 # We need to ensure that all of the i386 and x86_64 headers are identical
 # to support the multilib case.  We do this by copying headers from x86_64
Signature · 1 line
1.7.9.5
#4 lore raw

Re: [PATCH 3/4] eglibc: support mipsel little endian, filter out -march=mips32

HI Raj:
So this will eventually goes into OE-core, right?
As I see Bruce has no response for the "override scheme"
so mips -> for big endian mips o32 (could be mipseb better?, less confusion) and mipsel -> for little endian mips o32, they in same level, not of one's subset

Dennis

Quoted 35 lines · Khem Raj

From: Dennis Lan <[email protected]>

Quote for eglibc source:
 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

---
 meta/recipes-core/eglibc/eglibc_2.15.bb |    1 +

 1 file changed, 1 insertion(+)
meta/recipes-core/eglibc/eglibc_2.15.bb +0 -0
index e57a112..b2922b4 100644
@@ -101,6 +101,7 @@ do_patch_append() {
  # 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)}"

 # We need to ensure that all of the i386 and x86_64 headers are identical

 # to support the multilib case.  We do this by copying headers from x86_64
--
1.7.9.5

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

author
#5 lore raw

Re: [PATCH 3/4] eglibc: support mipsel little endian, filter out -march=mips32

Quoted 4 lines · Dennis.Yxun

HI Raj:
So this will eventually goes into OE-core, right?
As I see Bruce has no response for the "override scheme"
so mips -> for big endian mips o32 (could be mipseb better?, less

confusion)

Mips has always meant big endian no need to change there

Quoted 16 lines

and mipsel -> for little endian mips o32, they in same level, not of one's subset

Dennis

Quoted 10 lines · Khem Raj

From: Dennis Lan <[email protected]>

Quote for eglibc source:
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

Quoted 6 lines

Review

Quoted 6 lines
---
 meta/recipes-core/eglibc/eglibc_2.15.bb |    1 +
 1 file changed, 1 insertion(+)
(quoted diff) +0 -0

eglibc_2.15.bb

Quoted 7 lines

meta/recipes-core/eglibc/eglibc_2.15.bb do_patch_append() { · line 103

Quoted 7 lines

index e57a112..b2922b4 100644

meta/recipes-core/eglibc/eglibc_2.15.bb +0 -0
@@ -101,6 +101,7 @@ do_patch_append() {
 # mips1 when using o32 and mips3 when using n32/n64
 
 TUNE_CCARGS_mips := "${@oe_filter_out('-march=mips32',

'${TUNE_CCARGS}', d)}"

Quoted 1 line

meta/recipes-core/eglibc/eglibc_2.15.bb do_patch_append() { · line 104

Quoted 1 line
meta/recipes-core/eglibc/eglibc_2.15.bb +1 -0
+TUNE_CCARGS_mipsel := "${@oe_filter_out('-march=mips32',

'${TUNE_CCARGS}', d)}"

Quoted 2 lines

meta/recipes-core/eglibc/eglibc_2.15.bb do_patch_append() { · line 105

Quoted 2 lines
meta/recipes-core/eglibc/eglibc_2.15.bb +0 -0
 # We need to ensure that all of the i386 and x86_64 headers are

identical

Quoted 1 line

meta/recipes-core/eglibc/eglibc_2.15.bb do_patch_append() { · line 106

Quoted 1 line
meta/recipes-core/eglibc/eglibc_2.15.bb +0 -0
 # to support the multilib case.  We do this by copying headers from

x86_64

Quoted 14 lines
Quoted 8 lines
meta/recipes-core/eglibc/eglibc_2.15.bb +0 -1
--

1.7.9.5

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

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

author
#6 lore raw

PATCH 4/4 eglibc-2.15: Update to latest on 2.15 branch

In reply to Khem Raj
---
 meta/recipes-core/eglibc/eglibc_2.15.bb |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/eglibc/eglibc_2.15.bb +1 -1
index b2922b4..7dd9810 100644
@@ -1,6 +1,6 @@
 require eglibc.inc
 
-SRCREV = "17386"
+SRCREV = "19294"
 
 DEPENDS += "gperf-native"
 PR = "r12"
Signature · 1 line
1.7.9.5