https://sourceware.org/bugzilla/show_bug.cgi?id=19576
Bug ID: 19576 Summary: bogus code generation with on SunOS with 2.26 Product: binutils Version: 2.26 Status: NEW Severity: critical Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: richard at netbsd dot org Target Milestone: --- Created attachment 8958 --> https://sourceware.org/bugzilla/attachment.cgi?id=8958&action=edit intermediate assembler file Having applied the patch for gas/19520 backported to 2.26 release tarball and used with pkgsrc gcc49, I'm noticing issues when building either pkgsrc modular-xorg-server or modular-xorg-xephyr 1.18.0 on SunOS 5.11 (illumos distribution OmniOS) 32-bit i386 with dtrace enabled With gas from binutils 2.25.1 things build just fine. The symptom is the following during link (with sun linker): > CCLD Xorg > Undefined first referenced > symbol in file > ree ../../dix/dix.O > ld: fatal: symbol referencing errors. No output written to Xorg > collect2: error: ld returned 1 exit status after digging in to see the problem, I was able to isolate the issue with the module dix/resource.c, setting '-save-temps -v'. The intermediates (.i and .s) are, as hoped, identical in the test runs, only the generated .o is different. listing the symbols from the 'bad' file: gnm -lug .libs/resource.o U __assert_c99 resource.c:0 U _CallCallbacks resource.c:0 U _GLOBAL_OFFSET_TABLE_ resource.c:0 U clients resource.c:0 U CloseFont U currentMaxClients resource.c:0 U DeletePassiveGrab U DeleteWindow U dixDestroyPixmap U ErrorF resource.c:0 U FatalError resource.c:0 U FreeClientPixels U FreeColormap U FreeCursor U FreeGC U HandleSaveSet resource.c:0 U LimitClients resource.c:0 U LookupResourceName resource.c:0 U malloc resource.c:0 U MarkClientException resource.c:0 U NoopDDA U noPanoramiXExtension resource.c:0 U OtherClientGone U ree resource.c:0 U RegisterResourceName resource.c:0 U serverClient resource.c:0 U XaceHook resource.c:0 U xreallocarray resource.c:0 which differs from the 'good' one generated with 2.25.1 only with 'free()': 12d11 < U free resource.c:0 24a24 > U ree resource.c:0 disabling dtrace fixes the problem. To note, dtrace generates symbols of the sort: grep dtrace resource.s call __dtrace_Xserver___resource__alloc@PLT call __dtrace_Xserver___resource__free@PLT call __dtrace_Xserver___resource__free@PLT call __dtrace_Xserver___resource__free@PLT call __dtrace_Xserver___resource__free@PLT I add the .s file for info -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils