diff options
author | Ian Lance Taylor <ian@airs.com> | 1993-10-12 21:16:14 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1993-10-12 21:16:14 +0000 |
commit | d5a30a087906af9f2375949ce0c4baaba366a3e6 (patch) | |
tree | e875ab320c34f3671b3cb2269a2f7bb40f06bebb /bfd/libelf.h | |
parent | e718498b08e7e649251fdf3c55d6fee9d7bc8a7c (diff) | |
download | gdb-d5a30a087906af9f2375949ce0c4baaba366a3e6.zip gdb-d5a30a087906af9f2375949ce0c4baaba366a3e6.tar.gz gdb-d5a30a087906af9f2375949ce0c4baaba366a3e6.tar.bz2 |
* elf32-mips.c: Extensive additions to do relocations and to
handle MIPS specific sections.
* libelf.h (elf_backend_data): Pass fourth argument to
elf_backend_section_from_bfd_section to permit it to control the
section index to use.
(elf_obj_tdata): Add gp and gp_size fields.
(elf_gp, elf_gp_size): New accessor macros.
* elfcode.h: Removed a number of unused local variables.
(elf_fake_sections): Clear section header before calling
elf_backend_fake_sections, not after.
(prep_headers): Return true at end.
(elf_section_from_bfd_section): Pass retval argument to
elf_backend_section_from_bfd_section.
* elf32-hppa.c (elf32_hppa_backend_section_from_bfd_section):
Accept and ignore new retval argument.
* bfd.c: Include libelf.h.
(bfd_set_gp_size): Handle ELF targets.
* Makefile.in (bfd.o): Depends upon libelf.h.
(elf32-mips.o): Depends upon $(INCDIR)/elf/mips.h.
Diffstat (limited to 'bfd/libelf.h')
-rw-r--r-- | bfd/libelf.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/libelf.h b/bfd/libelf.h index f9cfa1a..187c51a 100644 --- a/bfd/libelf.h +++ b/bfd/libelf.h @@ -71,7 +71,7 @@ struct elf_backend_data boolean (*elf_backend_section_processing) PARAMS ((bfd *, Elf32_Internal_Shdr *)); boolean (*elf_backend_section_from_shdr) PARAMS ((bfd *, Elf32_Internal_Shdr *, char *)); boolean (*elf_backend_fake_sections) PARAMS ((bfd *, Elf32_Internal_Shdr *, asection *)); - boolean (*elf_backend_section_from_bfd_section) PARAMS ((bfd *, Elf32_Internal_Shdr *, asection *)); + boolean (*elf_backend_section_from_bfd_section) PARAMS ((bfd *, Elf32_Internal_Shdr *, asection *, int *)); }; struct elf_sym_extra @@ -130,6 +130,8 @@ struct elf_obj_tdata file_ptr next_file_pos; void *prstatus; /* The raw /proc prstatus structure */ void *prpsinfo; /* The raw /proc prpsinfo structure */ + bfd_vma gp; /* The gp value (MIPS only, for now) */ + int gp_size; /* The gp size (MIPS only, for now) */ }; #define elf_tdata(bfd) ((bfd) -> tdata.elf_obj_data) @@ -146,6 +148,8 @@ struct elf_obj_tdata #define core_prstatus(bfd) (elf_tdata(bfd) -> prstatus) #define obj_symbols(bfd) (elf_tdata(bfd) -> symbols) #define obj_internal_syms(bfd) (elf_tdata(bfd) -> internal_syms) +#define elf_gp(bfd) (elf_tdata(bfd) -> gp) +#define elf_gp_size(bfd) (elf_tdata(bfd) -> gp_size) extern char * elf_string_from_elf_section PARAMS ((bfd *, unsigned, unsigned)); extern char * elf_get_str_section PARAMS ((bfd *, unsigned)); |