2000-04-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com>

* symfile.h (struct section_addr_info ): Remove fields for special
 	treatment of .text, .data and .bss sections.

	* solib.c (symbol_add_stub): The special field text_addr is not
 	available anymore. Search for the .text field the hard way.

	* symfile.c (build_section_addr_info_from_section_table): Don't
 	fill in {text, data, bss}_addr any more.
	(default_symfile_offsets): Don't use {text, data, bss}_addr fields
 	to fill in section_offsets for objfile.
	(syms_from_objfile): Don't deal with {text, data, bss}_addr as a
 	special case anymore.
        (add_symbol_file_command): Ditto.
This commit is contained in:
Elena Zannoni 2000-04-17 16:09:04 +00:00
parent 4da95fc42d
commit e7cf9df194
4 changed files with 31 additions and 87 deletions

View file

@ -1155,6 +1155,8 @@ symbol_add_stub (arg)
register struct so_list *so = (struct so_list *) arg; /* catch_errs bogon */
CORE_ADDR text_addr = 0;
struct section_addr_info *sap;
int i;
asection *text_section;
/* Have we already loaded this shared object? */
ALL_OBJFILES (so->objfile)
@ -1183,7 +1185,14 @@ symbol_add_stub (arg)
sap = build_section_addr_info_from_section_table (so->sections,
so->sections_end);
sap->text_addr = text_addr;
/* Look for the index for the .text section in the sap structure. */
text_section = bfd_get_section_by_name (so->abfd, ".text");
for (i = 0; i < MAX_SECTIONS && sap->other[i].name; i++)
if (sap->other[i].sectindex == text_section->index)
break;
sap->other[i].addr = text_addr;
so->objfile = symbol_file_add (so->so_name, so->from_tty,
sap, 0, OBJF_SHARED);
free_section_addr_info (sap);