diff options
author | Alan Modra <amodra@gmail.com> | 2009-09-23 13:54:29 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2009-09-23 13:54:29 +0000 |
commit | 7ee314faa48ba637641861e0288736cb4666f940 (patch) | |
tree | 20e03cb7130dc65e3ad2e741cffd98153f2adb71 /bfd/elf-bfd.h | |
parent | 8a00d39205398a858642a2c727bd2a54d8e49b46 (diff) | |
download | gdb-7ee314faa48ba637641861e0288736cb4666f940.zip gdb-7ee314faa48ba637641861e0288736cb4666f940.tar.gz gdb-7ee314faa48ba637641861e0288736cb4666f940.tar.bz2 |
bfd/
* bfd-in.h (bfd_elf_size_dynamic_sections): Add audit and depaudit
arguments.
* elflink.c (bfd_elf_size_dynamic_sections): Generate DT_AUDIT,
DT_DEPAUDIT from audit/depaudit arguments.
(elf_finalize_dynstr): Finalize DT_AUDIT and DT_DEPAUDIT strtab entries.
(elf_link_add_object_symbols): Set dt_audit target data when finding a
DT_AUDIT.
* bfd-in2.h: Regenerate.
* bfd-elf.h: Add dt_audit to elf_obj_tdata, and elf_dt_audit macro.
ld/
* emultempl/elf32.em (gld${EMULATION_NAME}_add_options): Add --audit,
--depaudit, and -P options.
(gld${EULATION_NAME}_handle_options): Ditto.
(gld${EULATION_NAME}_list_options): Ditto.
(gld${EMULATION_NAME}_append_to_separated_string): New function for
handling rpath-like colon separated strings.
(gld${EMULATION_NAME}_before_allocation): Pass the audit and depaudit
libs to bfd. Propagate DT_AUDIT from needed libs to depaudit.
* ld.texinfo: Document new options.
ld/testsuite/
* ld-elf/audit.exp: New.
* ld-elf/audit.rd: New.
* ld-elf/depaudit.rd: New.
* ld-elf/depaudit2.rd: New.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 3f2d528..7cc420c 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -1503,6 +1503,10 @@ struct elf_obj_tdata one. */ const char *dt_name; + /* The linker emulation needs to know what audit libs + are used by a dynamic object. */ + const char *dt_audit; + /* Records the result of `get_program_header_size'. */ bfd_size_type program_header_size; @@ -1632,6 +1636,7 @@ struct elf_obj_tdata #define elf_local_got_offsets(bfd) (elf_tdata(bfd) -> local_got.offsets) #define elf_local_got_ents(bfd) (elf_tdata(bfd) -> local_got.ents) #define elf_dt_name(bfd) (elf_tdata(bfd) -> dt_name) +#define elf_dt_audit(bfd) (elf_tdata(bfd) -> dt_audit) #define elf_dyn_lib_class(bfd) (elf_tdata(bfd) -> dyn_lib_class) #define elf_bad_symtab(bfd) (elf_tdata(bfd) -> bad_symtab) #define elf_flags_init(bfd) (elf_tdata(bfd) -> flags_init) |