summaryrefslogtreecommitdiff
path: root/bfd/cofflink.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/cofflink.c')
-rw-r--r--bfd/cofflink.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/cofflink.c b/bfd/cofflink.c
index bca136445d..27257baa9c 100644
--- a/bfd/cofflink.c
+++ b/bfd/cofflink.c
@@ -392,7 +392,11 @@ coff_link_add_symbols (bfd *abfd,
section = coff_section_from_bfd_index (abfd, sym.n_scnum);
if (! obj_pe (abfd))
value -= section->vma;
- break;
+ /* Treat a symbol from a discarded section as undefined. */
+ if (bfd_is_abs_section (section)
+ || !bfd_is_abs_section (section->output_section))
+ break;
+ /* Fall thru */
case COFF_SYMBOL_UNDEFINED:
flags = 0;