Skip to contentSkip to conversation

Redefine LINKER_HASH_STYLE and uclibc fixes

PATCH Superseded Khem Raj 2 participants 8 messages Aug 16, 2011 – Aug 17, 2011

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Khem Raj

author
#0 lore raw

cover Redefine LINKER_HASH_STYLE and uclibc fixes

with this patchset, fix the uclibc image fallouts with various recent recipe updates

Modify the way we pass linker hash style so it can be used in multiple methods.

Pass information about default linker hash style to gcc configure so that it passes the right flags to runtime libraries builds e.g. libgcc libstdc++ etc.

The following changes since commit 3e872751690135178afb3a3f147bd002112c1bac:

tcf-agent: Add openssl to DEPENDS (2011-08-16 15:29:09 -0700)

are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib kraj/linker-hash-choice
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/linker-hash-choice

Khem Raj (5):
conf,recipes: Redefine LINKER_HASH_STYLE
gcc-4.6: Use --with-linker-hash-style configure option
task-core-tools: Use LTTNGUST variable instead of hardcoding
lttng-ust
gdb: Add lttng-ust to DEPENDS only for eglibc
tcf-agent: Add openssl to DEPENDS

 meta/conf/bitbake.conf                           |    4 ++--
 meta/conf/distro/include/tcmode-default.inc      |    6 +++++-
 meta/recipes-core/tasks/task-core-tools.bb       |    6 +++---
 meta/recipes-core/uclibc/uclibc.inc              |    2 +-
 meta/recipes-devtools/gcc/gcc-4.6.inc            |    3 ++-
 meta/recipes-devtools/gdb/gdb-common.inc         |   11 +++++++++--
 meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb |    4 ++--
 7 files changed, 24 insertions(+), 12 deletions(-)
Signature · 1 line
1.7.5.4
author
#1 lore raw

PATCH 1/5 conf,recipes: Redefine LINKER_HASH_STYLE

LINKER_HASH_STYLE is not set to either sysv or gnu depending upon architecture e.g. mips does not support gnu hash style among the supported architectures so we make sure its set to 'sysv' form mips

Linker flags are munged to adhere to renamed variable

Third option is to set it to 'both' we do
not do that by default but user can still set it

---
 meta/conf/bitbake.conf                      |    4 ++--
 meta/conf/distro/include/tcmode-default.inc |    6 +++++-
 meta/recipes-core/uclibc/uclibc.inc         |    2 +-
 3 files changed, 8 insertions(+), 4 deletions(-)
meta/conf/bitbake.conf +2 -2
index b309516..58a604a 100644
@@ -475,9 +475,9 @@ BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \
                     -Wl,-rpath-link,${STAGING_DIR_HOST}${base_libdir} \
                     -Wl,-rpath,${base_libdir} -Wl,-O1"
 
-TARGET_LINK_HASH_STYLE ??= ""
+LINKER_HASH_STYLE ??= "gnu"
 export LDFLAGS = "${TARGET_LDFLAGS}"
-export TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE}"
+export TARGET_LDFLAGS = "-Wl,-O1 -Wl,--hash-style=${LINKER_HASH_STYLE}"
 #export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${libdir} \
 #                         -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir} \
 #                         -Wl,-O1"
meta/conf/distro/include/tcmode-default.inc +5 -1
index 0d0af38..60f99ac 100644
@@ -63,5 +63,9 @@ PREFERRED_VERSION_gzip-native ?= "1.4"
 
 # Setup suitable toolchain flags
 require conf/distro/include/as-needed.inc
-TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][bb.data.getVar('TARGET_ARCH', d, True) in ['mips', 'mipsel', 'mips64', 'mips64el']]}"
 
+# mips does not support GNU hash style therefore we hard assign them
+LINKER_HASH_STYLE_mips = "sysv"
+LINKER_HASH_STYLE_mipsel = "sysv"
+LINKER_HASH_STYLE_mips64 = "sysv"
+LINKER_HASH_STYLE_mips64el = "sysv"
meta/recipes-core/uclibc/uclibc.inc +1 -1
index 222c34f..ab10f1b 100644
@@ -201,5 +201,5 @@ do_configure() {
 
 do_install() {
         oe_runmake PREFIX=${D} install
-        oe_runmake PREFIX=${D} "SSP_ALL_CFLAGS=${TARGET_LINK_HASH_STYLE}" install_utils
+        oe_runmake PREFIX=${D} "SSP_ALL_CFLAGS=-Wl,--hash-style=${LINKER_HASH_STYLE}" install_utils
 }
Signature · 1 line
1.7.5.4
author
#2 lore raw

PATCH 2/5 gcc-4.6: Use --with-linker-hash-style configure option

Depending upon what hash style is in use this uses the right flag for setting the hash style type. This fixes the QA errors about missing GNU hash style reported in gcc-runtime build particularly libgcc

---
 meta/recipes-devtools/gcc/gcc-4.6.inc |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
meta/recipes-devtools/gcc/gcc-4.6.inc +2 -1
index 0a148b4..fffb779 100644
@@ -1,6 +1,6 @@
 require gcc-common.inc
 
-PR = "r7"
+PR = "r8"
 
 # Third digit in PV should be incremented after a minor release
 # happens from this branch on gcc e.g. currently its 4.6.0
@@ -90,6 +90,7 @@ EXTRA_OECONF_BASE = " --enable-lto \
 			--disable-bootstrap \
 			--disable-libgomp \
 			--disable-libmudflap \
+			--with-linker-hash-style=${LINKER_HASH_STYLE} \
 			--enable-cheaders=c_global "
 
 EXTRA_OECONF_INITIAL = "--disable-libmudflap \
Signature · 1 line
1.7.5.4
author
#3 lore raw

PATCH 3/5 task-core-tools: Use LTTNGUST variable instead of hardcoding lttng-ust

In reply to Khem Raj

This helps build on uclibc where lttng-ust is not included

---
 meta/recipes-core/tasks/task-core-tools.bb |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
meta/recipes-core/tasks/task-core-tools.bb +3 -3
index b0eb7d4..11ea723 100644
@@ -6,7 +6,7 @@ DESCRIPTION = "Tools tasks for OE-Core"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
                     file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-PR = "r10"
+PR = "r11"
 
 PACKAGES = "\
     task-core-tools-debug \
@@ -76,8 +76,8 @@ LTTNGUST_libc-uclibc = ""
 # MIPS.
 RDEPENDS_task-core-tools-profile_append_qemux86 = " valgrind lttng-ust ${SYSTEMTAP}"
 RDEPENDS_task-core-tools-profile_append_qemux86-64 = " ${LTTNGUST} ${SYSTEMTAP}"
-RDEPENDS_task-core-tools-profile_append_qemuppc = " lttng-ust ${SYSTEMTAP}"
-RDEPENDS_task-core-tools-profile_append_qemuarm = " lttng-ust"
+RDEPENDS_task-core-tools-profile_append_qemuppc = " ${LTTNGUST} ${SYSTEMTAP}"
+RDEPENDS_task-core-tools-profile_append_qemuarm = " ${LTTNGUST}"
 
 RDEPENDS_task-core-tools-testapps = "\
     blktool \
Signature · 1 line
1.7.5.4
author
#4 lore raw

PATCH 4/5 gdb: Add lttng-ust to DEPENDS only for eglibc

In reply to Khem Raj
---
 meta/recipes-devtools/gdb/gdb-common.inc |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)
meta/recipes-devtools/gdb/gdb-common.inc +9 -2
index df6c70f..9879e97 100644
@@ -2,9 +2,16 @@ DESCRIPTION = "gdb - GNU debugger"
 HOMEPAGE = "http://www.gnu.org/software/gdb/"
 LICENSE="GPLv3+"
 SECTION = "devel"
-DEPENDS = "ncurses readline elfutils lttng-ust"
+DEPENDS = "ncurses readline elfutils ${LTTNGUST}"
 
-INC_PR = "r2"
+LTTNGUST = "lttng-ust"
+LTTNGUST_libc-uclibc = ""
+LTTNGUST_mips = ""
+LTTNGUST_mipsel = ""
+LTTNGUST_mips64 = ""
+LTTNGUST_mips64el = ""
+
+INC_PR = "r3"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
 		file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \
Signature · 1 line
1.7.5.4
author
#5 lore raw

PATCH 5/5 tcf-agent: Add openssl to DEPENDS

In reply to Khem Raj

It ends in errors like below otherwise

| framework/channel_tcp.c:34:27: fatal error: openssl/ssl.h: No such file or directory

| compilation terminated.
| make: *** [obj/GNU/Linux/arm/Debug/framework/channel_tcp.o] Error 1
| make: *** Waiting for unfinished jobs....
| + die 'oe_runmake failed'
| + bbfatal 'oe_runmake failed'
| + echo 'ERROR: oe_runmake failed'
| ERROR: oe_runmake failed
| + exit 1
---
 meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb +2 -2
index 3f97f69..37591c2 100644
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://../epl-v10.html;md5=7aa4215a330a0a4f6a1cbf8da1a0879f
 
 SRCREV = "1855"
 PV = "0.0+svnr${SRCPV}"
-PR = "r0"
+PR = "r1"
 
 SRC_URI = "svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk;module=agent;proto=http \
            http://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk/epl-v10.html;name=epl \
@@ -19,7 +19,7 @@ SRC_URI = "svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk;module=ag
 SRC_URI[epl.md5sum] = "7aa4215a330a0a4f6a1cbf8da1a0879f"
 SRC_URI[epl.sha256sum] = "4fd64aeed340d62a64a8da4b371efe0f6d0d745f4d2dbefacba86c646d36bc72"
 
-DEPENDS = "util-linux"
+DEPENDS = "util-linux openssl"
 RDEPENDS_${PN} = "bash"
 
 S = "${WORKDIR}/agent"
Signature · 1 line
1.7.5.4
#6 lore raw

Re: [PATCH 5/5] tcf-agent: Add openssl to DEPENDS

Khem Raj wrote on 2011-08-17:

Quoted 41 lines

It ends in errors like below otherwise

| framework/channel_tcp.c:34:27: fatal error: openssl/ssl.h: No such file or directory

| compilation terminated.
| make: *** [obj/GNU/Linux/arm/Debug/framework/channel_tcp.o] Error 1
| make: *** Waiting for unfinished jobs....
| + die 'oe_runmake failed'
| + bbfatal 'oe_runmake failed'
| + echo 'ERROR: oe_runmake failed'
| ERROR: oe_runmake failed
| + exit 1
---
 meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
(quoted diff) +0 -0

b/meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb index 3f97f69..37591c2 100644 --- a/meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb +++ b/meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://../epl-v10.html;md5=7aa4215a330a0a4f6a1cbf8da1a0879f

SRCREV = "1855"
PV = "0.0+svnr${SRCPV}"

meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb +1 -1
-PR = "r0"
+PR = "r1"
 
 SRC_URI =

"svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk;module=ag ent;p roto=http \

http://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk/epl-v10.h
tml;na me=epl \ @@ -19,7 +19,7 @@ SRC_URI = "svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk;module=ag
SRC_URI[epl.md5sum] = "7aa4215a330a0a4f6a1cbf8da1a0879f" SRC_URI[epl.sha256sum] =
"4fd64aeed340d62a64a8da4b371efe0f6d0d745f4d2dbefacba86c646d36bc7 2"

meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb SRC_URI = "svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk;module=ag · line 25

Quoted 5 lines
meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb +1 -1
-DEPENDS = "util-linux"
+DEPENDS = "util-linux openssl"
 RDEPENDS_${PN} = "bash"
 
 S = "${WORKDIR}/agent"

Hi, I have sent out the same patch 8+ hours ago. :-)

Thanks,
-- Dexuan

author
#7 lore raw

Re: [PATCH 5/5] tcf-agent: Add openssl to DEPENDS

Quoted 42 lines · Dexuan

Khem Raj wrote on 2011-08-17:

Quoted 41 lines

It ends in errors like below otherwise

| framework/channel_tcp.c:34:27: fatal error: openssl/ssl.h: No such file or directory

| compilation terminated.
| make: *** [obj/GNU/Linux/arm/Debug/framework/channel_tcp.o] Error 1
| make: *** Waiting for unfinished jobs....
| + die 'oe_runmake failed'
| + bbfatal 'oe_runmake failed'
| + echo 'ERROR: oe_runmake failed'
| ERROR: oe_runmake failed
| + exit 1

---
 meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb |    4 ++--

 1 files changed, 2 insertions(+), 2 deletions(-)
(quoted diff) +0 -0

b/meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb index 3f97f69..37591c2 100644 --- a/meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb +++ b/meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://../epl-v10.html;md5=7aa4215a330a0a4f6a1cbf8da1a0879f

 SRCREV = "1855"
 PV = "0.0+svnr${SRCPV}"

meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb +1 -1
-PR = "r0"
+PR = "r1"

 SRC_URI = "svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk;module=ag ent;p roto=http \

http://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk/epl-v10.h
tml;na me=epl \ @@ -19,7 +19,7 @@ SRC_URI = "svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk;module=ag SRC_URI[epl.md5sum] = "7aa4215a330a0a4f6a1cbf8da1a0879f" SRC_URI[epl.sha256sum] = "4fd64aeed340d62a64a8da4b371efe0f6d0d745f4d2dbefacba86c646d36bc7 2"

Quoted 6 lines
Quoted 5 lines
meta/recipes-devtools/tcf-agent/tcf-agent_svn.bb +1 -1
-DEPENDS = "util-linux"
+DEPENDS = "util-linux openssl"

 RDEPENDS_${PN} = "bash"

 S = "${WORKDIR}/agent"

Hi, I have sent out the same patch 8+ hours ago. :-)

thanks for doing that

Quoted 11 lines

Thanks,
-- Dexuan

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