[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug ld/20022] New: --gc-sections is broken with __start_ and shared library,
hjl.tools at gmail dot com <=