aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1992-02-27 19:22:41 +0000
committerSteve Chamberlain <sac@cygnus>1992-02-27 19:22:41 +0000
commite7b4046cbfb5d78d6e41864da763c8ffaf09f23e (patch)
treeb82e328ab0a7c79ab11d8ef5930084f53006cb17
parent3e6e09c068dfd31facc4a9f964dfa76f9ba9e3cd (diff)
downloadgdb-e7b4046cbfb5d78d6e41864da763c8ffaf09f23e.zip
gdb-e7b4046cbfb5d78d6e41864da763c8ffaf09f23e.tar.gz
gdb-e7b4046cbfb5d78d6e41864da763c8ffaf09f23e.tar.bz2
Don't core dump if no output section available for a symbol
-rw-r--r--bfd/ChangeLog3
-rw-r--r--bfd/aoutx.h15
2 files changed, 15 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d3e36e7..e8f1935 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -2,7 +2,8 @@ Thu Feb 27 09:24:56 1992 Steve Chamberlain (sac at thepub.cygnus.com)
* aoutx.h (translate_from_native_sym_flags): when creating an
alias symbol, fill in the section as undefined, rather than
- leaving it blank
+ leaving it blank. If an output section can't be found for a
+ symbol, then don't core dump.
Wed Feb 26 19:40:59 1992 Steve Chamberlain (sac at thepub.cygnus.com)
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index 4fc8cd7..95c1a92 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -951,8 +951,19 @@ DEFUN(translate_to_native_sym_flags,(sym_pointer, cache_ptr, abfd),
sym_pointer->e_type[0] = (N_UNDF | N_EXT);
}
else {
- bfd_error_vector.nonrepresentable_section(abfd,
- bfd_get_output_section(cache_ptr)->name);
+ if (cache_ptr->section->output_section)
+ {
+
+ bfd_error_vector.nonrepresentable_section(abfd,
+ bfd_get_output_section(cache_ptr)->name);
+ }
+ else
+ {
+ bfd_error_vector.nonrepresentable_section(abfd,
+ cache_ptr->section->name);
+
+ }
+
}
/* Turn the symbol from section relative to absolute again */