From 5dc74605b07a9fdc015562f3d0c76072fc98d473 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Fri, 21 Jul 1995 04:26:39 +0000 Subject: [PATCH] * somread.c (som_symtab_read): Add unsatisfied common symbols to the minimal symbol table. All common symbols are "unsatisfied" when -E is passed to the linker. mentor-7462 --- gdb/ChangeLog | 6 ++++++ gdb/somread.c | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 59dda573849..3f5caf32a43 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +Thu Jul 20 22:22:34 1995 Jeff Law (law@snake.cs.utah.edu) + + * somread.c (som_symtab_read): Add unsatisfied common symbols to + the minimal symbol table. All common symbols are "unsatisfied" + when -E is passed to the linker. + Thu Jul 20 15:04:57 1995 Fred Fish * top.c (show_endian): Cast first arg of printf_unfiltered to diff --git a/gdb/somread.c b/gdb/somread.c index bee059d281a..c2ebf143125 100644 --- a/gdb/somread.c +++ b/gdb/somread.c @@ -286,6 +286,23 @@ som_symtab_read (abfd, objfile, section_offsets) } break; + /* This can happen for common symbols when -E is passed to the + final link. No idea _why_ that would make the linker force + common symbols to have an SS_UNSAT scope, but it does. */ + case SS_UNSAT: + switch (bufp->symbol_type) + { + case ST_STORAGE: + symname = bufp->name.n_strx + stringtab; + bufp->symbol_value += data_offset; + ms_type = mst_data; + break; + + default: + continue; + } + break; + default: continue; } -- 2.30.2