2001-02-18 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_input_bfd): Ignore invalid section symbol index.
This commit is contained in:
parent
47eee8a91c
commit
ea412e04e5
@ -1,3 +1,8 @@
|
|||||||
|
2001-02-18 H.J. Lu <hjl@gnu.org>
|
||||||
|
|
||||||
|
* elflink.h (elf_link_input_bfd): Ignore invalid section symbol
|
||||||
|
index.
|
||||||
|
|
||||||
2001-02-18 Kazu Hirata <kazu@hxi.com>
|
2001-02-18 Kazu Hirata <kazu@hxi.com>
|
||||||
|
|
||||||
* vms-misc.c: Fix formatting.
|
* vms-misc.c: Fix formatting.
|
||||||
|
@ -5515,14 +5515,24 @@ elf_link_input_bfd (finfo, input_bfd)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
name = NULL;
|
||||||
if (isym->st_shndx == SHN_UNDEF)
|
if (isym->st_shndx == SHN_UNDEF)
|
||||||
isec = bfd_und_section_ptr;
|
{
|
||||||
|
isec = bfd_und_section_ptr;
|
||||||
|
name = isec->name;
|
||||||
|
}
|
||||||
else if (isym->st_shndx > 0 && isym->st_shndx < SHN_LORESERVE)
|
else if (isym->st_shndx > 0 && isym->st_shndx < SHN_LORESERVE)
|
||||||
isec = section_from_elf_index (input_bfd, isym->st_shndx);
|
isec = section_from_elf_index (input_bfd, isym->st_shndx);
|
||||||
else if (isym->st_shndx == SHN_ABS)
|
else if (isym->st_shndx == SHN_ABS)
|
||||||
isec = bfd_abs_section_ptr;
|
{
|
||||||
|
isec = bfd_abs_section_ptr;
|
||||||
|
name = isec->name;
|
||||||
|
}
|
||||||
else if (isym->st_shndx == SHN_COMMON)
|
else if (isym->st_shndx == SHN_COMMON)
|
||||||
isec = bfd_com_section_ptr;
|
{
|
||||||
|
isec = bfd_com_section_ptr;
|
||||||
|
name = isec->name;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Who knows? */
|
/* Who knows? */
|
||||||
@ -5541,7 +5551,18 @@ elf_link_input_bfd (finfo, input_bfd)
|
|||||||
|
|
||||||
/* Save away all section symbol values. */
|
/* Save away all section symbol values. */
|
||||||
if (isec != NULL)
|
if (isec != NULL)
|
||||||
isec->symbol->value = isym->st_value;
|
{
|
||||||
|
if (name)
|
||||||
|
{
|
||||||
|
if (isec->symbol->value != isym->st_value)
|
||||||
|
(*_bfd_error_handler)
|
||||||
|
(_("%s: invalid section symbol index 0x%x (%s) ingored"),
|
||||||
|
bfd_get_filename (input_bfd), isym->st_shndx,
|
||||||
|
name);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
isec->symbol->value = isym->st_value;
|
||||||
|
}
|
||||||
|
|
||||||
/* If this is a discarded link-once section symbol, update
|
/* If this is a discarded link-once section symbol, update
|
||||||
it's value to that of the kept section symbol. The
|
it's value to that of the kept section symbol. The
|
||||||
|
Loading…
Reference in New Issue
Block a user