http://sourceware.org/bugzilla/show_bug.cgi?id=15200
Bug #: 15200
Summary: Runtime undefined reference to __exidx_start/_end
Product: binutils
Version: 2.24 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: gold
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Classification: Unclassified
Created attachment 6896
--> http://sourceware.org/bugzilla/attachment.cgi?id=6896
Android plasma test case
We should be able to define a symbol in output even if there is already a
definition in dso, e.g., we should use local exidx in output but not in a
certaion dso.
Attached please find a Android test case and also a possible patch to fix this
problem.
The issue is also reproducible by using gold linker to link against libraries
in Android ndk-r8.
===== REPRODUCE STEP =====
$ readelf -rs plasma.o | grep exidx
...
00000590 00009c1a R_ARM_GOT_BREL 00000000 __exidx_end
00000594 00009d1a R_ARM_GOT_BREL 00000000 __exidx_start
...
154: 00000000 0 NOTYPE WEAK DEFAULT UND __gnu_Unwind_Find_exidx
156: 00000000 0 NOTYPE GLOBAL DEFAULT UND __exidx_end
157: 00000000 0 NOTYPE GLOBAL DEFAULT UND __exidx_start
$ readelf -s libc.so | grep exidx
103: 0000c82c 0 NOTYPE GLOBAL DEFAULT ABS __exidx_end
322: 0000c82c 0 NOTYPE GLOBAL DEFAULT ABS __exidx_start
707: 000084e8 20 FUNC GLOBAL DEFAULT 4 __gnu_Unwind_Find_exidx
115: 0000c82c 0 NOTYPE GLOBAL DEFAULT ABS __exidx_end
334: 0000c82c 0 NOTYPE GLOBAL DEFAULT ABS __exidx_start
719: 000084e8 20 FUNC GLOBAL DEFAULT 4 __gnu_Unwind_Find_exidx
$ arm-linux-androideabi-ld.gold -shared -o libplasma.so plasma.o libc.so
$ readelf -rs libplasma.so | grep exidx
000040a4 00001a15 R_ARM_GLOB_DAT 00000000 __exidx_end
000040a8 00001b15 R_ARM_GLOB_DAT 00000000 __exidx_start
25: 00000000 0 FUNC WEAK DEFAULT UND __gnu_Unwind_Find_exidx
26: 00000000 0 NOTYPE GLOBAL DEFAULT UND __exidx_end
27: 00000000 0 NOTYPE GLOBAL DEFAULT UND __exidx_start
120: 00000000 0 FUNC WEAK DEFAULT UND __gnu_Unwind_Find_exidx
121: 00000000 0 NOTYPE GLOBAL DEFAULT UND __exidx_end
122: 00000000 0 NOTYPE GLOBAL DEFAULT UND __exidx_start
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils