Patchwork [v2] elfutils: fix for dso link change in recent ld

login
register
mail settings
Submitter Christopher Larson
Date Dec. 29, 2011, 10:14 p.m.
Message ID <1325196879-11092-1-git-send-email-kergoth@gmail.com>
Download mbox | patch
Permalink /patch/17783/
State Accepted
Commit 5d776e20b99db7eae307ca794ad58ac402c9eadf
Headers show

Comments

Christopher Larson - Dec. 29, 2011, 10:14 p.m.
From: Christopher Larson <chris_larson@mentor.com>

This patch makes the link to the dependencies of libdw explicit, as recent ld
no longer implicitly links them. See
http://lists.fedoraproject.org/pipermail/devel/2010-March/133601.html as
a similar example of the error message you can encounter without this patch,
and https://fedoraproject.org/wiki/UnderstandingDSOLinkChange and
https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking for more
details.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
---
 .../elfutils/elfutils/dso-link-change.patch        |   32 ++++++++++++++++++++
 meta/recipes-devtools/elfutils/elfutils_0.148.bb   |    5 ++-
 2 files changed, 35 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch
Saul Wold - Jan. 4, 2012, 12:02 a.m.
On 12/29/2011 02:14 PM, Christopher Larson wrote:
> From: Christopher Larson<chris_larson@mentor.com>
>
> This patch makes the link to the dependencies of libdw explicit, as recent ld
> no longer implicitly links them. See
> http://lists.fedoraproject.org/pipermail/devel/2010-March/133601.html as
> a similar example of the error message you can encounter without this patch,
> and https://fedoraproject.org/wiki/UnderstandingDSOLinkChange and
> https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking for more
> details.
>
> Signed-off-by: Christopher Larson<chris_larson@mentor.com>
> ---
>   .../elfutils/elfutils/dso-link-change.patch        |   32 ++++++++++++++++++++
>   meta/recipes-devtools/elfutils/elfutils_0.148.bb   |    5 ++-
>   2 files changed, 35 insertions(+), 2 deletions(-)
>   create mode 100644 meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch
>
> diff --git a/meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch b/meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch
> new file mode 100644
> index 0000000..d0cd3ed
> --- /dev/null
> +++ b/meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch
> @@ -0,0 +1,32 @@
> +Upstream-Status: Pending
> +
> +# This patch makes the link to the dependencies of libdw explicit, as recent
> +# ld no longer implicitly links them. See
> +# http://lists.fedoraproject.org/pipermail/devel/2010-March/133601.html as
> +# a similar example of the error message you can encounter without this patch,
> +# and https://fedoraproject.org/wiki/UnderstandingDSOLinkChange and
> +# https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking for more
> +# details.
> +
> +--- elfutils-0.148.orig/src/Makefile.am
> ++++ elfutils-0.148/src/Makefile.am
> +@@ -86,7 +86,7 @@ libdw = ../libdw/libdw.a $(zip_LIBS) $(l
> + libelf = ../libelf/libelf.a
> + else
> + libasm = ../libasm/libasm.so
> +-libdw = ../libdw/libdw.so
> ++libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
> + libelf = ../libelf/libelf.so
> + endif
> + libebl = ../libebl/libebl.a
> +--- elfutils-0.148.orig/tests/Makefile.am
> ++++ elfutils-0.148/tests/Makefile.am
> +@@ -172,7 +172,7 @@ libdw = ../libdw/libdw.a $(zip_LIBS) $(l
> + libelf = ../libelf/libelf.a
> + libasm = ../libasm/libasm.a
> + else
> +-libdw = ../libdw/libdw.so
> ++libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
> + libelf = ../libelf/libelf.so
> + libasm = ../libasm/libasm.so
> + endif
> diff --git a/meta/recipes-devtools/elfutils/elfutils_0.148.bb b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
> index 0f4e8ca..710959a 100644
> --- a/meta/recipes-devtools/elfutils/elfutils_0.148.bb
> +++ b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
> @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3\
>                       file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417"
>   DEPENDS = "libtool bzip2 zlib"
>
> -PR = "r4"
> +PR = "r5"
>
>   SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/elfutils-${PV}.tar.bz2"
>
> @@ -29,7 +29,8 @@ SRC_URI += "\
>   	file://elfutils-fsize.patch \
>   	file://remove-unused.patch \
>   	file://mempcpy.patch \
> -	file://fix_for_gcc-4.7.patch\
> +	file://fix_for_gcc-4.7.patch \
> +	file://dso-link-change.patch \
>   "
>   # Only apply when building uclibc based target recipe
>   SRC_URI_append_libc-uclibc = " ${@['', 'file://uclibc-support.patch']['${PN}' == '${BPN}']}"

Merged to OE-Core

Thanks
	Sau!

Patch

diff --git a/meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch b/meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch
new file mode 100644
index 0000000..d0cd3ed
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch
@@ -0,0 +1,32 @@ 
+Upstream-Status: Pending
+
+# This patch makes the link to the dependencies of libdw explicit, as recent
+# ld no longer implicitly links them. See
+# http://lists.fedoraproject.org/pipermail/devel/2010-March/133601.html as
+# a similar example of the error message you can encounter without this patch,
+# and https://fedoraproject.org/wiki/UnderstandingDSOLinkChange and
+# https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking for more
+# details.
+
+--- elfutils-0.148.orig/src/Makefile.am
++++ elfutils-0.148/src/Makefile.am
+@@ -86,7 +86,7 @@ libdw = ../libdw/libdw.a $(zip_LIBS) $(l
+ libelf = ../libelf/libelf.a
+ else
+ libasm = ../libasm/libasm.so
+-libdw = ../libdw/libdw.so
++libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
+ libelf = ../libelf/libelf.so
+ endif
+ libebl = ../libebl/libebl.a
+--- elfutils-0.148.orig/tests/Makefile.am
++++ elfutils-0.148/tests/Makefile.am
+@@ -172,7 +172,7 @@ libdw = ../libdw/libdw.a $(zip_LIBS) $(l
+ libelf = ../libelf/libelf.a
+ libasm = ../libasm/libasm.a
+ else
+-libdw = ../libdw/libdw.so
++libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
+ libelf = ../libelf/libelf.so
+ libasm = ../libasm/libasm.so
+ endif
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.148.bb b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
index 0f4e8ca..710959a 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.148.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
@@ -6,7 +6,7 @@  LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3\
                     file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417"
 DEPENDS = "libtool bzip2 zlib"
 
-PR = "r4"
+PR = "r5"
 
 SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/elfutils-${PV}.tar.bz2"
 
@@ -29,7 +29,8 @@  SRC_URI += "\
 	file://elfutils-fsize.patch \
 	file://remove-unused.patch \
 	file://mempcpy.patch \
-	file://fix_for_gcc-4.7.patch\
+	file://fix_for_gcc-4.7.patch \
+	file://dso-link-change.patch \
 "
 # Only apply when building uclibc based target recipe
 SRC_URI_append_libc-uclibc = " ${@['', 'file://uclibc-support.patch']['${PN}' == '${BPN}']}"