* config/obj-elf.c (elf_frob_file_before_adjust): Remove symbols

made because of .weak, if they are neither defined nor used in any
	way.
This commit is contained in:
Jakub Jelinek
2002-01-28 13:34:39 +00:00
parent 4867be4168
commit 00e6e13d12
2 changed files with 16 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2002-01-28 Jakub Jelinek <jakub@redhat.com>
* config/obj-elf.c (elf_frob_file_before_adjust): Remove symbols
made because of .weak, if they are neither defined nor used in any
way.
2002-01-27 Daniel Jacobowitz <drow@mvista.com> 2002-01-27 Daniel Jacobowitz <drow@mvista.com>
* configure: Regenerated. * configure: Regenerated.

View File

@ -1995,9 +1995,9 @@ elf_frob_file_before_adjust ()
symbolS *symp; symbolS *symp;
for (symp = symbol_rootP; symp; symp = symbol_next (symp)) for (symp = symbol_rootP; symp; symp = symbol_next (symp))
if (symbol_get_obj (symp)->versioned_name) if (!S_IS_DEFINED (symp))
{ {
if (!S_IS_DEFINED (symp)) if (symbol_get_obj (symp)->versioned_name)
{ {
char *p; char *p;
@ -2017,6 +2017,14 @@ elf_frob_file_before_adjust ()
&& symbol_used_in_reloc_p (symp) == 0) && symbol_used_in_reloc_p (symp) == 0)
symbol_remove (symp, &symbol_rootP, &symbol_lastP); symbol_remove (symp, &symbol_rootP, &symbol_lastP);
} }
/* If there was .weak foo, but foo was neither defined nor
used anywhere, remove it. */
else if (S_IS_WEAK (symp)
&& symbol_used_p (symp) == 0
&& symbol_used_in_reloc_p (symp) == 0)
symbol_remove (symp, &symbol_rootP, &symbol_lastP);
} }
} }
} }