aboutsummaryrefslogtreecommitdiff
path: root/bfd/libelf.h
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/libelf.h')
-rw-r--r--bfd/libelf.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/bfd/libelf.h b/bfd/libelf.h
index 748e482..84f79bb 100644
--- a/bfd/libelf.h
+++ b/bfd/libelf.h
@@ -375,14 +375,29 @@ struct elf_sym_extra
typedef struct elf_sym_extra Elf_Sym_Extra;
+/* Information stored for each BFD section in an ELF file. This
+ structure is allocated by elf_new_section_hook. */
+
struct bfd_elf_section_data {
+ /* The ELF header for this section. */
Elf_Internal_Shdr this_hdr;
+ /* The ELF header for the reloc section associated with this
+ section, if any. */
Elf_Internal_Shdr rel_hdr;
- int this_idx, rel_idx;
+ /* The ELF section number of this section. Only used for an output
+ file. */
+ int this_idx;
+ /* The ELF section number of the reloc section associated with this
+ section, if any. Only used for an output file. */
+ int rel_idx;
+ /* Used by the backend linker to store the symbol hash table entries
+ associated with relocs against global symbols. */
struct elf_link_hash_entry **rel_hashes;
+ /* A pointer to the unswapped external relocs; this may be NULL. */
+ PTR relocs;
};
+
#define elf_section_data(sec) ((struct bfd_elf_section_data*)sec->used_by_bfd)
-#define shdr_name(abfd,shdr) (elf_shstrtab (abfd)->tab + (shdr)->sh_name)
#define get_elf_backend_data(abfd) \
((struct elf_backend_data *) (abfd)->xvec->backend_data)