Bug 512937
Summary: | Invalid STT_GNU_IFUNC SHN_UNDEF symbols | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jakub Jelinek <jakub> |
Component: | binutils | Assignee: | Nick Clifton <nickc> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | rawhide | CC: | drepper, hongjiu.lu, jakub, jan.kratochvil, jfrieben, nickc, nicolas.mailhot |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2009-07-22 08:37:33 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 473303 |
Description
Jakub Jelinek
2009-07-21 12:37:11 UTC
*** Bug 512078 has been marked as a duplicate of this bug. *** Here is a reproducer in the binutils tree: BINUTILS_OBJ=/usr/src/binutils/obj BINUTILS_SRC=/usr/src/binutils gcc -B$BINUTILS_OBJ/ld/tmpdir/gas/ -I$BINUTILS_SRC/ld/testsuite/ld-ifunc -g -O2 \ -c -fPIC -DWITH_IFUNC -c $BINUTILS_SRC/ld/testsuite/ld-ifunc/lib.c \ -o shared_ifunc.o $BINUTILS_OBJ/ld/ld-new -o libshared_ifunc.so -shared shared_ifunc.o echo 'extern int library_func2 (void);' > test.c echo 'int main (void) { library_func2 (); return 0; }' >> test.c gcc -B $BINUTILS_OBJ/ld/tmpdir/ld/ -o test test.c ./libshared_ifunc.so $BINUTILS_OBJ/binutils/readelf -Ws test | grep IFUNC.*UND echo 'extern int library_func2 (void);' > test2.c echo 'int (*fn) (void) = library_func2;' >> test2.c echo 'int main (void) { fn (); return 0; }' >> test2.c gcc -B $BINUTILS_OBJ/ld/tmpdir/ld/ -o test2 test2.c ./libshared_ifunc.so $BINUTILS_OBJ/binutils/readelf -Ws test2 | grep IFUNC.*UND test2 is what is fatal for gnome-panel, but both cases are wrong, no SHN_UNDEF symbols should be ever STT_GNU_IFUNC, the should be STT_FUNC instead. It is fixed in the Linux binutils 2.19.51.0.13. Thanks, HJ. NickC, please build a new RPM right away. We need it for the mass rebuild. New RPMS should be ready: binutils-2.19.51.0.13-28.fc12.src.rpm Cheers Nick The current linker may be broken: http://sourceware.org/ml/binutils/2009-07/msg00220.html |