(elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss symbol.
This commit is contained in:
parent
ad1fc92a0f
commit
34c67f14b0
2 changed files with 3 additions and 8 deletions
|
@ -2,6 +2,8 @@
|
|||
|
||||
* elf32-metag.c: Use bfd_get_linker_section to get SEC_LINKER_CREATED
|
||||
sections.
|
||||
(elf_metag_adjust_dynamic_symbol): Don't error on zero size dynbss
|
||||
symbol.
|
||||
|
||||
2013-02-08 Yufeng Zhang <yufeng.zhang@arm.com>
|
||||
|
||||
|
|
|
@ -2570,13 +2570,6 @@ elf_metag_adjust_dynamic_symbol (struct bfd_link_info *info,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
if (eh->size == 0)
|
||||
{
|
||||
(*_bfd_error_handler) (_("dynamic variable `%s' is zero size"),
|
||||
hh->eh.root.root.string);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* We must allocate the symbol in our .dynbss section, which will
|
||||
become part of the .bss section of the executable. There will be
|
||||
an entry for this symbol in the .dynsym section. The dynamic
|
||||
|
@ -2592,7 +2585,7 @@ elf_metag_adjust_dynamic_symbol (struct bfd_link_info *info,
|
|||
/* We must generate a COPY reloc to tell the dynamic linker to
|
||||
copy the initial value out of the dynamic object and into the
|
||||
runtime process image. */
|
||||
if ((eh->root.u.def.section->flags & SEC_ALLOC) != 0)
|
||||
if ((eh->root.u.def.section->flags & SEC_ALLOC) != 0 && eh->size != 0)
|
||||
{
|
||||
htab->srelbss->size += sizeof (Elf32_External_Rela);
|
||||
eh->needs_copy = 1;
|
||||
|
|
Loading…
Add table
Reference in a new issue