From 0aa9cf965cb61e0ecd6d1614b03306b63bfe8c71 Mon Sep 17 00:00:00 2001 From: Elena Zannoni Date: Fri, 21 Apr 2000 14:24:45 +0000 Subject: [PATCH] 2000-04-21 Elena Zannoni * win32-nat.c (handle_load_dll): Don't treat .text as a special section anymore. * somread.c (som_symfile_offsets): Ditto. * somsolib.c (som_solib_add_solib_objfile): Ditto. --- gdb/ChangeLog | 7 +++++++ gdb/somread.c | 8 +++++++- gdb/somsolib.c | 3 ++- gdb/win32-nat.c | 3 ++- gdb/windows-nat.c | 3 ++- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1ff7e3a..3819c67 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2000-04-21 Elena Zannoni + + * win32-nat.c (handle_load_dll): Don't treat .text as a special + section anymore. + * somread.c (som_symfile_offsets): Ditto. + * somsolib.c (som_solib_add_solib_objfile): Ditto. + Fri Apr 21 16:14:38 2000 Andrew Cagney * MAINTAINERS: Make Jimmy Guo TUI maintainer. diff --git a/gdb/somread.c b/gdb/somread.c index 489a330..bc9a382 100644 --- a/gdb/somread.c +++ b/gdb/somread.c @@ -465,6 +465,7 @@ som_symfile_offsets (objfile, addrs) struct section_addr_info *addrs; { int i; + CORE_ADDR text_addr; objfile->num_sections = SECT_OFF_MAX; objfile->section_offsets = (struct section_offsets *) @@ -474,8 +475,13 @@ som_symfile_offsets (objfile, addrs) offsets from the library, else get them from addrs. */ if (!som_solib_section_offsets (objfile, objfile->section_offsets)) { + for (i = 0; i < SECT_OFF_MAX && addrs->other[i].name; i++) + if (strcmp (addrs->other[i].name, ".text") == 0) + break; + text_addr = addrs->other[i].addr; + for (i = 0; i < SECT_OFF_MAX; i++) - ANOFFSET (objfile->section_offsets, i) = addrs -> text_addr; + ANOFFSET (objfile->section_offsets, i) = text_addr; } } diff --git a/gdb/somsolib.c b/gdb/somsolib.c index cde7f91..5d559a0 100644 --- a/gdb/somsolib.c +++ b/gdb/somsolib.c @@ -290,7 +290,8 @@ som_solib_add_solib_objfile (so, name, from_tty, text_addr) struct section_addr_info section_addrs; memset (§ion_addrs, 0, sizeof (section_addrs)); - section_addrs.text_addr = text_addr; + section_addrs.other[0].name = ".text"; + section_addrs.other[0].addr = text_addr; so->objfile = symbol_file_add (name, from_tty, §ion_addrs, 0, OBJF_SHARED); so->abfd = so->objfile->obfd; diff --git a/gdb/win32-nat.c b/gdb/win32-nat.c index 0a1c427..869876e 100644 --- a/gdb/win32-nat.c +++ b/gdb/win32-nat.c @@ -558,7 +558,8 @@ handle_load_dll (PTR dummy) the offset from 0 of the first byte in an image - because of the file header and the section alignment. */ - section_addrs.text_addr = (int) event->lpBaseOfDll + 0x1000; + section_addrs.other[0].name = ".text"; + section_addrs.other[0].addr = (int) event->lpBaseOfDll + 0x1000; safe_symbol_file_add (dll_name, 0, §ion_addrs, 0, OBJF_SHARED); printf_unfiltered ("%x:%s\n", event->lpBaseOfDll, dll_name); diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index 0a1c427..869876e 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -558,7 +558,8 @@ handle_load_dll (PTR dummy) the offset from 0 of the first byte in an image - because of the file header and the section alignment. */ - section_addrs.text_addr = (int) event->lpBaseOfDll + 0x1000; + section_addrs.other[0].name = ".text"; + section_addrs.other[0].addr = (int) event->lpBaseOfDll + 0x1000; safe_symbol_file_add (dll_name, 0, §ion_addrs, 0, OBJF_SHARED); printf_unfiltered ("%x:%s\n", event->lpBaseOfDll, dll_name); -- 2.7.4