bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/19576] New: bogus code generation with on SunOS with 2.26


From: richard at netbsd dot org
Subject: [Bug gas/19576] New: bogus code generation with on SunOS with 2.26
Date: Sat, 06 Feb 2016 07:01:59 +0000

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    address@hidden
        call    address@hidden
        call    address@hidden
        call    address@hidden
        call    address@hidden

I add the .s file for info

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]