aboutsummaryrefslogtreecommitdiff
path: root/gdb/elfread.c
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1992-07-03 07:08:31 +0000
committerJohn Gilmore <gnu@cygnus>1992-07-03 07:08:31 +0000
commit4c7c6bab1f8ca0ff46795c843e887171f86731d1 (patch)
tree72ace6b3124f007fc7f8992246b932ac75f36b07 /gdb/elfread.c
parent28b6b1ab85e9bd47d47ef77715fc19fe13dd7674 (diff)
downloadgdb-4c7c6bab1f8ca0ff46795c843e887171f86731d1.zip
gdb-4c7c6bab1f8ca0ff46795c843e887171f86731d1.tar.gz
gdb-4c7c6bab1f8ca0ff46795c843e887171f86731d1.tar.bz2
* dbxread.c (process_one_symbol): Ignore N_MAIN, N_ENDM for Solaris.
* partial-stab.h: Ignore N_ENDM. * elfread.c (elf_symtab_read): Ignore symbols that don't have a CODE or DATA section attachment. This eliminates a lot of random values from shared libraries, which screw up the ordinary symbols in the address ranges they happen to overlap. * buildsym.c (define_symbol): Eliminate special tests for function types; move into "function" cases in switch statement. (define_symbol: 'f', 'F', 'P'): Process all parameter types in case they define new type numbers. But ignore them (FIXME). ('k', 'B'): Ignore const and volatile if we see them (FIXME). (read_sun_builtin_type): Add commentary.
Diffstat (limited to 'gdb/elfread.c')
-rw-r--r--gdb/elfread.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 56e3a89..4104d1a 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -274,7 +274,12 @@ elf_symtab_read (abfd, addr, objfile)
}
else
{
- ms_type = mst_unknown;
+ /* FIXME: Solaris2 shared libraries include lots of
+ odd "absolute" and "undefined" symbols, that play
+ hob with actions like finding what function the PC
+ is in. Ignore them if they aren't text or data. */
+ /* ms_type = mst_unknown; */
+ continue; /* Skip this symbol. */
}
/* Pass symbol size field in via BFD. FIXME!!! */
record_minimal_symbol_and_info ((char *) sym -> name,