/* 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.
(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
(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
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.
/* 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);
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 {