diff options
Diffstat (limited to 'meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch')
-rw-r--r-- | meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch b/meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch new file mode 100644 index 000000000..d47f692c0 --- /dev/null +++ b/meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch | |||
@@ -0,0 +1,92 @@ | |||
1 | fuse: Fix linking issues with gold linker | ||
2 | |||
3 | fuse has problems when linking with gold since it uses version | ||
4 | scripts in a way thats so perticular to bfd ld | ||
5 | |||
6 | /home/kraj/work/angstrom/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv5te-angstrom-linux-gnueabi/gcc/arm-angstro | ||
7 | error: symbol __fuse_exited has undefined version | ||
8 | | collect2: ld returned 1 exit status | ||
9 | | make[1]: *** [libfuse.la] Error 1 | ||
10 | | make[1]: *** Waiting for unfinished jobs.... | ||
11 | |||
12 | For more details | ||
13 | |||
14 | http://blog.flameeyes.eu/2011/06/01/gold-readiness-obstacle-2-base-versioning | ||
15 | http://sources.redhat.com/bugzilla/show_bug.cgi?id=10861 | ||
16 | http://comments.gmane.org/gmane.comp.file-systems.fuse.devel/9524 | ||
17 | http://www.airs.com/blog/archives/300 | ||
18 | |||
19 | Upstream-Status: Pending | ||
20 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
21 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
22 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
23 | --- | ||
24 | lib/fuse.c | 10 +++++----- | ||
25 | lib/fuse_mt.c | 2 +- | ||
26 | lib/fuse_versionscript | 3 +++ | ||
27 | lib/helper.c | 6 +++--- | ||
28 | 4 files changed, 12 insertions(+), 9 deletions(-) | ||
29 | |||
30 | diff --git a/lib/fuse.c b/lib/fuse.c | ||
31 | index 067d0dc..6d27711 100644 | ||
32 | --- a/lib/fuse.c | ||
33 | +++ b/lib/fuse.c | ||
34 | @@ -4873,11 +4873,11 @@ struct fuse *fuse_new_compat1(int fd, int flags, | ||
35 | 11); | ||
36 | } | ||
37 | |||
38 | -FUSE_SYMVER(".symver fuse_exited,__fuse_exited@"); | ||
39 | -FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@"); | ||
40 | -FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@"); | ||
41 | -FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@"); | ||
42 | -FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@"); | ||
43 | +FUSE_SYMVER(".symver fuse_exited,__fuse_exited@FUSE_UNVERSIONED"); | ||
44 | +FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@FUSE_UNVERSIONED"); | ||
45 | +FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@FUSE_UNVERSIONED"); | ||
46 | +FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@FUSE_UNVERSIONED"); | ||
47 | +FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@FUSE_UNVERSIONED"); | ||
48 | FUSE_SYMVER(".symver fuse_new_compat22,fuse_new@FUSE_2.2"); | ||
49 | |||
50 | #endif /* __FreeBSD__ || __NetBSD__ */ | ||
51 | diff --git a/lib/fuse_mt.c b/lib/fuse_mt.c | ||
52 | index f6dbe71..fd5ac23 100644 | ||
53 | --- a/lib/fuse_mt.c | ||
54 | +++ b/lib/fuse_mt.c | ||
55 | @@ -119,4 +119,4 @@ int fuse_loop_mt(struct fuse *f) | ||
56 | return res; | ||
57 | } | ||
58 | |||
59 | -FUSE_SYMVER(".symver fuse_loop_mt_proc,__fuse_loop_mt@"); | ||
60 | +FUSE_SYMVER(".symver fuse_loop_mt_proc,__fuse_loop_mt@FUSE_UNVERSIONED"); | ||
61 | diff --git a/lib/fuse_versionscript b/lib/fuse_versionscript | ||
62 | index 8d91887..de16ab2 100644 | ||
63 | --- a/lib/fuse_versionscript | ||
64 | +++ b/lib/fuse_versionscript | ||
65 | @@ -1,3 +1,6 @@ | ||
66 | +FUSE_UNVERSIONED { | ||
67 | +}; | ||
68 | + | ||
69 | FUSE_2.2 { | ||
70 | global: | ||
71 | fuse_destroy; | ||
72 | diff --git a/lib/helper.c b/lib/helper.c | ||
73 | index b644012..c5349bf 100644 | ||
74 | --- a/lib/helper.c | ||
75 | +++ b/lib/helper.c | ||
76 | @@ -436,10 +436,10 @@ int fuse_mount_compat1(const char *mountpoint, const char *args[]) | ||
77 | return fuse_mount_compat22(mountpoint, NULL); | ||
78 | } | ||
79 | |||
80 | -FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@"); | ||
81 | +FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@FUSE_UNVERSIONED"); | ||
82 | FUSE_SYMVER(".symver fuse_setup_compat22,fuse_setup@FUSE_2.2"); | ||
83 | -FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@"); | ||
84 | -FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@"); | ||
85 | +FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@FUSE_UNVERSIONED"); | ||
86 | +FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@FUSE_UNVERSIONED"); | ||
87 | FUSE_SYMVER(".symver fuse_main_real_compat22,fuse_main_real@FUSE_2.2"); | ||
88 | |||
89 | #endif /* __FreeBSD__ || __NetBSD__ */ | ||
90 | -- | ||
91 | 1.8.1.2 | ||
92 | |||