diff options
author | Alan Modra <amodra@gmail.com> | 2001-10-09 06:05:17 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2001-10-09 06:05:17 +0000 |
commit | dbb410c3e20602a6d4be32a6833a9b7f5b0f1ae9 (patch) | |
tree | 235b9a47bbaa9e8704d51a4d32cd09ad5b2cfa74 /bfd/bfd-in2.h | |
parent | ddb26835359dd46ef225f8e8bb475f68db3ac452 (diff) | |
download | gdb-dbb410c3e20602a6d4be32a6833a9b7f5b0f1ae9.zip gdb-dbb410c3e20602a6d4be32a6833a9b7f5b0f1ae9.tar.gz gdb-dbb410c3e20602a6d4be32a6833a9b7f5b0f1ae9.tar.bz2 |
* elf-bfd.h (struct bfd_elf_section_data): Add "group" and
"next_in_group". Fix gp and gp_size comments.
* elf.c (union elf_internal_group): New.
(setup_group): New function.
(_bfd_elf_make_section_from_shdr): Set BFD flags for SHT_GROUP.
Call setup_group for SHF_GROUP sections.
(bfd_section_from_shdr): Build a BFD section for SHT_GROUP.
(elf_fake_sections): Set header type for SEC_GROUP, and header
flags for sections in a group.
(set_group_contents): New function.
(_bfd_elf_compute_section_file_positions): Call it.
(assign_section_numbers): Set sh_link for SHT_GROUP.
* elflink.h (gc_mark_hook): Handle section groups.
* elfxx-target.h: Add SEC_GROUP to applicable_flags.
* section.c (SEC_GROUP): Define.
(struct sec): Comment fixes.
* bfd-in2.h: Regenerate.
* elf.c (bfd_elf_print_symbol): Formatting fix; migrate expression
out of function args.
(_bfd_elf_canonicalize_reloc): Similarly.
(_bfd_elf_get_symtab): Here too.
(_bfd_elf_canonicalize_dynamic_symtab): And here.
* elfcode.h (elf_slurp_symbol_table): Don't recalculate size for
bfd_bread, and remove unnecessary cast.
Diffstat (limited to 'bfd/bfd-in2.h')
-rw-r--r-- | bfd/bfd-in2.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index c040bba..fcdd1db 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -983,7 +983,7 @@ typedef struct sec int id; - /* Which section is it; 0..nth. */ + /* Which section in the bfd; 0..n-1 as sections are created in a bfd. */ int index; @@ -1098,9 +1098,10 @@ typedef struct sec objects are to be further relocated. */ #define SEC_EXCLUDE 0x40000 - /* The contents of this section are to be sorted by the - based on the address specified in the associated symbol - table. */ + /* The contents of this section are to be sorted based on the sum of + the symbol and addend values specified by the associated relocation + entries. Entries without associated relocation entries will be + appended to the end of the section in an unspecified order. */ #define SEC_SORT_ENTRIES 0x80000 /* When linking, duplicate sections of the same name should be @@ -1167,6 +1168,9 @@ typedef struct sec size entries. */ #define SEC_STRINGS 0x40000000 + /* This section contains data about section groups. */ +#define SEC_GROUP 0x80000000 + /* End of section flags. */ /* Some internal packed boolean fields. */ @@ -1187,7 +1191,8 @@ typedef struct sec /* A mark flag used by some linker backends for garbage collection. */ unsigned int gc_mark : 1; - /* Used by the ELF code to mark sections which have been allocated to segments. */ + /* Used by the ELF code to mark sections which have been allocated + to segments. */ unsigned int segment_mark : 1; /* End of internal packed boolean fields. */ |