mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 18:44:20 +08:00
2000-05-14 H.J. Lu (hjl@gnu.org)
* objcopy.c (filter_symbols): Don't strip global symbols in relocatable object files.
This commit is contained in:
parent
4132022df1
commit
d812147943
@ -1,3 +1,8 @@
|
||||
2000-05-14 H.J. Lu (hjl@gnu.org)
|
||||
|
||||
* objcopy.c (filter_symbols): Don't strip global symbols in
|
||||
relocatable object files.
|
||||
|
||||
2000-05-14 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
* size.c (usage): Associate short options with corresponding long
|
||||
|
@ -556,6 +556,8 @@ filter_symbols (abfd, obfd, osyms, isyms, symcount)
|
||||
{
|
||||
register asymbol **from = isyms, **to = osyms;
|
||||
long src_count = 0, dst_count = 0;
|
||||
int relocatable = (abfd->flags & (HAS_RELOC | EXEC_P | DYNAMIC))
|
||||
== HAS_RELOC;
|
||||
|
||||
for (; src_count < symcount; src_count++)
|
||||
{
|
||||
@ -610,6 +612,9 @@ filter_symbols (abfd, obfd, osyms, isyms, symcount)
|
||||
&& ((*bfd_get_section (sym)->symbol_ptr_ptr)->flags
|
||||
& BSF_KEEP) != 0))
|
||||
keep = 1;
|
||||
else if (relocatable /* Relocatable file. */
|
||||
&& (flags & (BSF_GLOBAL | BSF_WEAK)) != 0)
|
||||
keep = 1;
|
||||
else if ((flags & BSF_GLOBAL) != 0 /* Global symbol. */
|
||||
|| (flags & BSF_WEAK) != 0
|
||||
|| bfd_is_und_section (bfd_get_section (sym))
|
||||
|
Loading…
Reference in New Issue
Block a user