This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
The resolve path of ld.so does not actually use fp operations but gcc has a nasty habit of using volitile fprs to move/copy structs inline. So a function that is dynamically linked and has float/double parms may find its parametes globbled by plt-fixup on the first call. This is the case with _dl_lookup_symbol_internal in the current current RHEL 3 beta. There are three possible solutions: 1) change the dl-machine.h TRAMPOLINE to save/restore fprs 2-13. This would slow down all dynamic resolves. 2) change gcc to not use fprs for struct copies. This would have negative impact on SPEC benchmarks 3) apply -msoft-float to the compile of the appropriate loader modules so that the dynamic resolve path does not use fprs. For now I would like to go with option 3: 2003-08-26 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/powerpc64/elf/Makefile: New file. -- Steven Munroe sjmunroe@us.ibm.com Linux on PowerPC-64 Development GLIBC for PowerPC-64 Development
diff -urN libc23-cvstip-20030825/sysdeps/powerpc/powerpc64/elf/Makefile libc23/sysdeps/powerpc/powerpc64/elf/Makefile --- libc23-cvstip-20030825/sysdeps/powerpc/powerpc64/elf/Makefile Wed Dec 31 18:00:00 1969 +++ libc23/sysdeps/powerpc/powerpc64/elf/Makefile Mon Aug 25 14:57:54 2003 @@ -0,0 +1,9 @@ +# powerpc64/ELF specific definitions. + +# Need to prevent gcc from using fprs durring dynamic linking. + +CFLAGS-dl-runtime.c := -msoft-float +CFLAGS-dl-lookup.c := -msoft-float +CFLAGS-dl-reloc.c := -msoft-float +CFLAGS-dl-misc.c := -msoft-float +CFLAGS-rtld.c := -msoft-float
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |