X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Fldemul.h;h=ca165ac957046df6acec4b31ae232c18d921bba4;hb=6f028f3c0737f82a91a4b5b5bdde1ea889226026;hp=bc12b3e277061b39f21774403b9b3f7bb4fdf3d2;hpb=1ff6de031241c59d0ff9fa01d3c0a4049b0e97c9;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ldemul.h b/ld/ldemul.h index bc12b3e277..ca165ac957 100644 --- a/ld/ldemul.h +++ b/ld/ldemul.h @@ -1,5 +1,5 @@ /* ld-emul.h - Linker emulation header file - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of the GNU Binutils. @@ -36,6 +36,8 @@ extern void ldemul_after_open (void); extern void ldemul_after_check_relocs (void); +extern void ldemul_before_place_orphans + (void); extern void ldemul_after_allocation (void); extern void ldemul_before_allocation @@ -80,6 +82,8 @@ extern void after_open_default (void); extern void after_check_relocs_default (void); +extern void before_place_orphans_default + (void); extern void after_allocation_default (void); extern void before_allocation_default @@ -108,6 +112,8 @@ extern int ldemul_emit_ctf_early extern void ldemul_examine_strtab_for_ctf (struct ctf_file *, struct elf_sym_strtab *, bfd_size_type, struct elf_strtab_hash *); +extern bfd_boolean ldemul_print_symbol + (struct bfd_link_hash_entry *hash_entry, void *ptr); typedef struct ld_emulation_xfer_struct { /* Run before parsing the command line and script file. @@ -129,6 +135,9 @@ typedef struct ld_emulation_xfer_struct { /* Run after checking relocations. */ void (*after_check_relocs) (void); + /* Run before placing orphans. */ + void (*before_place_orphans) (void); + /* Run after allocating output sections. */ void (*after_allocation) (void); @@ -229,6 +238,12 @@ typedef struct ld_emulation_xfer_struct { bfd_link_callback is invoked by per-target code. */ void (*examine_strtab_for_ctf) (struct ctf_file *, struct elf_sym_strtab *, bfd_size_type, struct elf_strtab_hash *); + + /* Called when printing a symbol to the map file. AIX uses this + hook to flag gc'd symbols. */ + bfd_boolean (*print_symbol) + (struct bfd_link_hash_entry *hash_entry, void *ptr); + } ld_emulation_xfer_type; typedef enum {