From 4aac632ee9db7d3ff11e6ee1ca4f487ac6868e46 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 12 Feb 2007 11:18:11 +0000 Subject: * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs with a zero symbol index. --- bfd/ChangeLog | 5 +++++ bfd/elflink.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'bfd') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 5dcf47b..605c795 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 2007-02-12 Alan Modra + * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs + with a zero symbol index. + +2007-02-12 Alan Modra + * elflink.c (bfd_elf_discard_info): Tidy setting of "eh". 2007-02-05 Dave Brolley diff --git a/bfd/elflink.c b/bfd/elflink.c index 0b40641..d76faae 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -6769,7 +6769,10 @@ evaluate_complex_relocation_symbols (bfd * input_bfd, index = ELF32_R_SYM (rel->r_info); if (bed->s->arch_size == 64) index >>= 24; - + + if (index == STN_UNDEF) + continue; + if (index < locsymcount) { /* The symbol is local. */ -- cgit v1.1