bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/13683] usage tracking by --gc-sections ignores a --defsym mappin


From: amodra at gmail dot com
Subject: [Bug ld/13683] usage tracking by --gc-sections ignores a --defsym mapping
Date: Wed, 22 Feb 2012 02:32:37 +0000

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

--- Comment #10 from Alan Modra <amodra at gmail dot com> 2012-02-22 02:32:37 
UTC ---
Hmm, running lang_do_assignments before lang_gc_sections does change a few
things in the symbol table, leading to some cris-elf testsuite failures.

What's happening is that elf_gc_sweep now sees all the link script defined
symbols, so they become subject to garbage collecting (well, forcing local). 
For the first test that fails, the expected symbol table is

SYMBOL TABLE:
00080074 l    d  .text    00000000 .text
00082078 l    d  .got    00000000 .got
00082078 l     O .got    00000000 _GLOBAL_OFFSET_TABLE_
00080074 g       .text    00000000 _start
00082084 g       *ABS*    00000000 __bss_start
00082084 g       *ABS*    00000000 _edata
000820a0 g       *ABS*    00000000 _end

but we now get

SYMBOL TABLE:
00080074 l    d  .text    00000000 .text
00082078 l    d  .got    00000000 .got
00082084 l       *ABS*    00000000 __bss_start
00082084 l       *ABS*    00000000 _edata
00082078 l     O .got    00000000 _GLOBAL_OFFSET_TABLE_
000820a0 l       *ABS*    00000000 _end
00080074 g       .text    00000000 _start

Note how __bss_start, _edata, _end are now local since no dynamic objects
referred to them.  I don't think that is a great concern, but of course means
tweaking the cris testsuite when/if this patch goes in.

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



reply via email to

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