[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/15200] Runtime undefined reference to __exidx_start/_end
From: |
petechou at gmail dot com |
Subject: |
[Bug gold/15200] Runtime undefined reference to __exidx_start/_end |
Date: |
Thu, 07 Mar 2013 02:39:59 +0000 |
http://sourceware.org/bugzilla/show_bug.cgi?id=15200
--- Comment #3 from pete <petechou at gmail dot com> 2013-03-07 02:39:59 UTC ---
Hello,
Let me describe this issue again. The runtime undefined reference is because:
1. Using ld.gold to link against libraries (say libc.so) in android ndk-r8, and
those libraries are probably generated by ld.bfd.
$ readelf -s /tmp/android-ndk-r8/platforms/android-14/arch-arm/usr/lib/libc.so
| grep exidx
106: 0000cf44 0 NOTYPE GLOBAL DEFAULT ABS __exidx_end
334: 0000cf44 0 NOTYPE GLOBAL DEFAULT ABS __exidx_start
730: 000089a8 20 FUNC GLOBAL DEFAULT 4 __gnu_Unwind_Find_exidx
118: 0000cf44 0 NOTYPE GLOBAL DEFAULT ABS __exidx_end
346: 0000cf44 0 NOTYPE GLOBAL DEFAULT ABS __exidx_start
742: 000089a8 20 FUNC GLOBAL DEFAULT 4 __gnu_Unwind_Find_exidx
2. Running the library on a newer version (say 4.2) of Android system, and
there are no __exidx_start/_end symbols in the libraries, e.g, libc.so.
$ readelf -s $AOSP/out/target/product/generic/system/lib/libc.so | grep exidx
882: 0000e929 4 FUNC GLOBAL DEFAULT 7 __gnu_Unwind_Find_exidx
891: 00000000 0 FUNC GLOBAL DEFAULT UND dl_unwind_find_exidx
So, it's fine to generate dynamic relocations for undefined symbols, but I
think section/segment symbols in output probably should be defined locally
anyway, if we're going to define them. Using section/segment definition in
DT_NEEDED doesn't seem to be the correct behavior?
BTW, I also checked ld.bfd also defines __exidx_start/_end locally.
$ arm-linux-androideabi-ld.bfd -shared -o libplasma.so plasma.o libc.so
$ readelf -s libplasma.so | grep exidx
3: 00003980 0 NOTYPE LOCAL DEFAULT ABS __exidx_end
4: 00003858 0 NOTYPE LOCAL DEFAULT ABS __exidx_start
64: 00000000 0 FUNC WEAK DEFAULT UND __gnu_Unwind_Find_exidx
119: 00003980 0 NOTYPE LOCAL DEFAULT ABS __exidx_end
121: 00003858 0 NOTYPE LOCAL DEFAULT ABS __exidx_start
185: 00000000 0 FUNC WEAK DEFAULT UND __gnu_Unwind_Find_exidx
Any comment about the issue and the patch?
-
Thanks,
Pete
--
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 gold/15200] Runtime undefined reference to __exidx_start/_end,
petechou at gmail dot com <=
- [Bug gold/15200] Runtime undefined reference to __exidx_start/_end, dougkwan at google dot com, 2013/03/06
- [Bug gold/15200] Runtime undefined reference to __exidx_start/_end, petechou at gmail dot com, 2013/03/07
- [Bug gold/15200] Runtime undefined reference to __exidx_start/_end, dougkwan at google dot com, 2013/03/07
- [Bug gold/15200] Runtime undefined reference to __exidx_start/_end, petechou at gmail dot com, 2013/03/07
- [Bug gold/15200] Runtime undefined reference to __exidx_start/_end, dougkwan at google dot com, 2013/03/07
- [Bug gold/15200] Runtime undefined reference to __exidx_start/_end, petechou at gmail dot com, 2013/03/12
- [Bug gold/15200] Runtime undefined reference to __exidx_start/_end, dougkwan at google dot com, 2013/03/12
- [Bug gold/15200] Runtime undefined reference to __exidx_start/_end, petechou at gmail dot com, 2013/03/19
- [Bug gold/15200] Runtime undefined reference to __exidx_start/_end, ian at airs dot com, 2013/03/19
- [Bug gold/15200] Runtime undefined reference to __exidx_start/_end, ian at airs dot com, 2013/03/19