From c7d4c4c8ce0763a9a8eb6a72f6496436decfa9ca Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Thu, 4 Nov 1993 23:03:03 +0000 Subject: * dbxread.c (process_one_symbol): Do relocate 'S' symbols by the text offset (revert 12 Oct 93 change). --- gdb/dbxread.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'gdb/dbxread.c') diff --git a/gdb/dbxread.c b/gdb/dbxread.c index 2642b62..e5ac069 100644 --- a/gdb/dbxread.c +++ b/gdb/dbxread.c @@ -1787,9 +1787,17 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile) p = strchr (name, ':'); if (p != 0 && p[1] == 'S') { - /* The linker relocated it. There used to be a kludge here - to add the text offset, but that will break if we ever - start using the text offset (currently it is always zero). */ + /* The linker relocated it. We don't want to add an + elfstab_offset_sections-type offset, but we *do* want + to add whatever solib.c passed to symbol_file_add as + addr (this is known to affect SunOS4, and I suspect ELF + too). Since elfstab_offset_sections currently does not + muck with the text offset (there is no Ttext.text + symbol), we can get addr from the text offset. If + elfstab_offset_sections ever starts dealing with the + text offset, and we still need to do this, we need to + invent a SECT_OFF_ADDR_KLUDGE or something. */ + valu += ANOFFSET (section_offsets, SECT_OFF_TEXT); goto define_a_symbol; } /* Since it's not the kludge case, re-dispatch to the right handler. */ -- cgit v1.1