This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/14376] glibc-2.16 strdup Illegal Instruction on sparc64


http://sourceware.org/bugzilla/show_bug.cgi?id=14376

--- Comment #9 from Jan Engelhardt <jengelh at inai dot de> 2012-09-17 21:15:24 UTC ---
binutils is 2.22, so objdump output should be accurate. I upgraded to
gdb-7.4.50.20120603 now so that it has also used the 2.22 tools during build.
(Previously gdb-7.1 was used.)

This changes things only minimally. __strdup has become __GI___strdup in gdb
printouts, but it still shows a call to _Qp_xtoq@plt+64 rather than memcpy in
the disassembly of (__GI___)strdup.
But I do not think gdb is at fault here - since the SIGILL also happens without
it. It seems as if the resolver is botched.

Calling memcpy() from in main() properly executes the memcpy function, i.e.
will call __memcpy_niagara1. The problem really only seems to affect references
to IFUNCs from within libc.so itself.


Login account could be provided, if you would want to have a peek at this.

-- 
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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]