All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-oe][PATCH] fuse: Fix linking issues with gold linker
@ 2011-10-20 22:46 Khem Raj
  0 siblings, 0 replies; only message in thread
From: Khem Raj @ 2011-10-20 22:46 UTC (permalink / raw)
  To: openembedded-devel

fuse has problems when linking with gold since it uses version
scripts in a way thats so perticular to bfd ld

/home/kraj/work/angstrom/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv5te-angstrom-linux-gnueabi/gcc/arm-angstrom-linux-gnueabi/4.6.2/ld:
error: symbol __fuse_exited has undefined version
| collect2: ld returned 1 exit status
| make[1]: *** [libfuse.la] Error 1
| make[1]: *** Waiting for unfinished jobs....

For more details

http://blog.flameeyes.eu/2011/06/01/gold-readiness-obstacle-2-base-versioning
http://sources.redhat.com/bugzilla/show_bug.cgi?id=10861
http://comments.gmane.org/gmane.comp.file-systems.fuse.devel/9524
http://www.airs.com/blog/archives/300

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../fuse/fuse-2.8.6/gold-unversioned-symbol.patch  |   60 ++++++++++++++++++++
 meta-oe/recipes-support/fuse/fuse_2.8.6.bb         |    3 +-
 2 files changed, 62 insertions(+), 1 deletions(-)
 create mode 100644 meta-oe/recipes-support/fuse/fuse-2.8.6/gold-unversioned-symbol.patch

diff --git a/meta-oe/recipes-support/fuse/fuse-2.8.6/gold-unversioned-symbol.patch b/meta-oe/recipes-support/fuse/fuse-2.8.6/gold-unversioned-symbol.patch
new file mode 100644
index 0000000..8ee97df
--- /dev/null
+++ b/meta-oe/recipes-support/fuse/fuse-2.8.6/gold-unversioned-symbol.patch
@@ -0,0 +1,60 @@
+Index: fuse-2.8.6/lib/fuse.c
+===================================================================
+--- fuse-2.8.6.orig/lib/fuse.c	2011-09-13 00:23:14.000000000 -0700
++++ fuse-2.8.6/lib/fuse.c	2011-10-19 09:20:27.537099939 -0700
+@@ -3947,11 +3947,11 @@
+ 				      11);
+ }
+ 
+-FUSE_SYMVER(".symver fuse_exited,__fuse_exited@");
+-FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@");
+-FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@");
+-FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@");
+-FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@");
++FUSE_SYMVER(".symver fuse_exited,__fuse_exited@FUSE_UNVERSIONED");
++FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@FUSE_UNVERSIONED");
++FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@FUSE_UNVERSIONED");
++FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@FUSE_UNVERSIONED");
++FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@FUSE_UNVERSIONED");
+ FUSE_SYMVER(".symver fuse_new_compat22,fuse_new@FUSE_2.2");
+ 
+ #endif /* __FreeBSD__ */
+Index: fuse-2.8.6/lib/fuse_mt.c
+===================================================================
+--- fuse-2.8.6.orig/lib/fuse_mt.c	2011-09-13 00:23:14.000000000 -0700
++++ fuse-2.8.6/lib/fuse_mt.c	2011-10-19 09:20:27.537099939 -0700
+@@ -113,4 +113,4 @@
+ 	return fuse_session_loop_mt(fuse_get_session(f));
+ }
+ 
+-FUSE_SYMVER(".symver fuse_loop_mt_proc,__fuse_loop_mt@");
++FUSE_SYMVER(".symver fuse_loop_mt_proc,__fuse_loop_mt@FUSE_UNVERSIONED");
+Index: fuse-2.8.6/lib/fuse_versionscript
+===================================================================
+--- fuse-2.8.6.orig/lib/fuse_versionscript	2011-09-13 00:23:14.000000000 -0700
++++ fuse-2.8.6/lib/fuse_versionscript	2011-10-19 09:20:27.541099939 -0700
+@@ -1,3 +1,6 @@
++FUSE_UNVERSIONED {
++};
++
+ FUSE_2.2 {
+ 	global:
+ 		fuse_destroy;
+Index: fuse-2.8.6/lib/helper.c
+===================================================================
+--- fuse-2.8.6.orig/lib/helper.c	2011-09-13 00:23:14.000000000 -0700
++++ fuse-2.8.6/lib/helper.c	2011-10-19 09:20:27.541099939 -0700
+@@ -409,10 +409,10 @@
+ 	return fuse_mount_compat22(mountpoint, NULL);
+ }
+ 
+-FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@");
++FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@FUSE_UNVERSIONED");
+ FUSE_SYMVER(".symver fuse_setup_compat22,fuse_setup@FUSE_2.2");
+-FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@");
+-FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@");
++FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@FUSE_UNVERSIONED");
++FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@FUSE_UNVERSIONED");
+ FUSE_SYMVER(".symver fuse_main_real_compat22,fuse_main_real@FUSE_2.2");
+ 
+ #endif /* __FreeBSD__ */
diff --git a/meta-oe/recipes-support/fuse/fuse_2.8.6.bb b/meta-oe/recipes-support/fuse/fuse_2.8.6.bb
index ec81a98..15e9206 100644
--- a/meta-oe/recipes-support/fuse/fuse_2.8.6.bb
+++ b/meta-oe/recipes-support/fuse/fuse_2.8.6.bb
@@ -5,10 +5,11 @@ LICENSE = "GPLv2&LGPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
 
-PR = "r0"
+PR = "r1"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/fuse-${PV}.tar.gz \
            file://define_GNU_SOURCE.patch \
+           file://gold-unversioned-symbol.patch \
           "
 
 SRC_URI[md5sum] = "eaa32c8cef56a981656a786f258a002a"
-- 
1.7.5.4




^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2011-10-20 22:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-20 22:46 [meta-oe][PATCH] fuse: Fix linking issues with gold linker Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.