bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/20022] New: --gc-sections is broken with __start_ and shared lib


From: hjl.tools at gmail dot com
Subject: [Bug ld/20022] New: --gc-sections is broken with __start_ and shared library
Date: Fri, 29 Apr 2016 12:17:32 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=20022

            Bug ID: 20022
           Summary: --gc-sections is broken with __start_ and shared
                    library
           Product: binutils
           Version: 2.27 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ld
          Assignee: unassigned at sourceware dot org
          Reporter: hjl.tools at gmail dot com
  Target Milestone: ---

When a __start_ symbol is defined both .o and .so, --gc-sections
drops the definition on .o:

address@hidden gc-4]$ cat a.s
.globl _start
_start:
        .dc.a   __start__foo
        .dc.a   bar
        .section        _foo,"aw",%progbits
foo:
        .ascii "This is "
address@hidden gc-4]$ cat c.s
.globl bar
bar:
        .dc.a   __start__foo
        .section        _foo,"aw",%progbits
foo:
        .ascii "This is "
address@hidden gc-4]$ make
gcc  -B./ -fdata-sections -c -o a.o a.s
gcc  -B./ -fdata-sections -c -o c.o c.s
./ld -shared --gc-sections -o c.so c.o
./ld --gc-sections -o x a.o c.so
./ld: warning: type and size of dynamic symbol `__start__foo' are not defined
./ld: warning: type and size of dynamic symbol `bar' are not defined
./ld -o y a.o c.so
./ld: warning: type and size of dynamic symbol `bar' are not defined
objdump -s -j _foo y

y:     file format elf64-x86-64

Contents of section _foo:
 600338 54686973 20697320                    This is         
objdump -s -j _foo x

x:     file format elf64-x86-64

objdump: section '_foo' mentioned in a -j option, but not found in any input
file
Makefile:11: recipe for target 'all' failed
make: *** [all] Error 1
address@hidden gc-4]$

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