diff options
author | Elena Zannoni <ezannoni@kwikemart.cygnus.com> | 2000-05-04 16:52:34 +0000 |
---|---|---|
committer | Elena Zannoni <ezannoni@kwikemart.cygnus.com> | 2000-05-04 16:52:34 +0000 |
commit | b8fbeb1874605f3dfe03e0b3ced670f6308b95f5 (patch) | |
tree | ba47cc4aeefd9f6fd6515a2a4f5fe296511d6bf3 /gdb/objfiles.h | |
parent | 70d1b0e82047b6bb257d95311fce2689dae98074 (diff) | |
download | gdb-b8fbeb1874605f3dfe03e0b3ced670f6308b95f5.zip gdb-b8fbeb1874605f3dfe03e0b3ced670f6308b95f5.tar.gz gdb-b8fbeb1874605f3dfe03e0b3ced670f6308b95f5.tar.bz2 |
Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* objfiles.h (SECT_OFF_DATA, SECT_OFF_TEXT, SECT_OFF_BSS,
SECT_OFF_RODATA): Define as functions of OBJFILE. Add
sect_index_text, sect_index_data, sect_index_rodata,
sect_index_bss to objfile structure.
* gdb-stabs.h (SECT_OFF_DATA, SECT_OFF_TEXT, SECT_OFF_BSS,
SECT_OFF_RODATA): Remove.
* objfiles.c (allocate_objfile): Initialize
sect_index_{text,data,bss,rodata} to -1, for error detection.
* symfile.c (default_symfile_offsets): Initialize
sect_index_{text,data,bss,rodata} from bfd information.
* xcoffread.c (xcoff_symfile_offsets): Ditto.
* somread.c (som_symfile_offsets): Initialize
sect_index_{text,data,bss,rodata}.
* coffread.c, dbxread.c, elfread.c, hp-psymtab-read.c,
hp-symtab-read.c, hpread.c, mdebugread.c, minsyms.c,
mipsread.c, objfiles.c, os9kread.c, pa64solib.c, partial-stab.h,
remote-os9k.c, remote-vx.c, remote.c, rs6000-nat.c, somsolib.c,
stabsread.c, symfile.c, xcoffread.c:
Update use of SECT_OFF_{TEXT,DATA,BSS,RODATA} to depend on the
current objfile.
* xcoffread.c: Add new field objfile to find_targ_sec_arg.
Diffstat (limited to 'gdb/objfiles.h')
-rw-r--r-- | gdb/objfiles.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gdb/objfiles.h b/gdb/objfiles.h index d1bd4da..b24894a 100644 --- a/gdb/objfiles.h +++ b/gdb/objfiles.h @@ -372,6 +372,18 @@ struct objfile struct section_offsets *section_offsets; int num_sections; + /* Indexes in the section_offsets array. These are initialized by the + *_symfile_offsets() family of functions (som_symfile_offsets, + xcoff_symfile_offsets, default_symfile_offsets). In theory they + should correspond to the section indexes used by bfd for the + current objfile. The exception to this for the time being is the + SOM version. */ + + int sect_index_text; + int sect_index_data; + int sect_index_bss; + int sect_index_rodata; + /* These pointers are used to locate the section table, which among other things, is used to map pc addresses into sections. SECTIONS points to the first entry in the table, and @@ -584,4 +596,20 @@ is_in_import_list PARAMS ((char *, struct objfile *)); ALL_OBJFILES (objfile) \ ALL_OBJFILE_OSECTIONS (objfile, osect) +#define SECT_OFF_DATA(objfile) \ + ((objfile->sect_index_data == -1) ? \ + (internal_error ("sect_index_data not initialized"), -1) : objfile->sect_index_data) + +#define SECT_OFF_RODATA(objfile) \ + ((objfile->sect_index_rodata == -1) ? \ + (internal_error ("sect_index_rodata not initialized"), -1) : objfile->sect_index_rodata) + +#define SECT_OFF_TEXT(objfile) \ + ((objfile->sect_index_text == -1) ? \ + (internal_error ("sect_index_text not initialized"), -1) : objfile->sect_index_text) + +#define SECT_OFF_BSS(objfile) \ + ((objfile->sect_index_bss == -1) ? \ + (internal_error ("sect_index_bss not initialized"), -1) : objfile->sect_index_bss) + #endif /* !defined (OBJFILES_H) */ |