aboutsummaryrefslogtreecommitdiff
path: root/ld/ldemul.h
diff options
context:
space:
mode:
Diffstat (limited to 'ld/ldemul.h')
-rw-r--r--ld/ldemul.h30
1 files changed, 20 insertions, 10 deletions
diff --git a/ld/ldemul.h b/ld/ldemul.h
index 5efe4aa..0b9653e 100644
--- a/ld/ldemul.h
+++ b/ld/ldemul.h
@@ -109,9 +109,11 @@ extern void ldemul_extra_map_file_text
extern int ldemul_emit_ctf_early
(void);
/* Called from per-target code to examine the strtab and symtab. */
-extern void ldemul_examine_strtab_for_ctf
- (struct ctf_dict *, struct elf_sym_strtab *, bfd_size_type,
- struct elf_strtab_hash *);
+extern void ldemul_acquire_strings_for_ctf
+ (struct ctf_dict *, struct elf_strtab_hash *);
+extern void ldemul_new_dynsym_for_ctf
+ (struct ctf_dict *, int symidx, struct elf_internal_sym *);
+
extern bfd_boolean ldemul_print_symbol
(struct bfd_link_hash_entry *hash_entry, void *ptr);
@@ -230,14 +232,22 @@ typedef struct ld_emulation_xfer_struct {
int (*emit_ctf_early)
(void);
- /* Called to examine the string and symbol table late enough in linking that
- they are finally laid out. If emit_ctf_early returns true, this is not
- called and ldemul_maybe_emit_ctf() emits CTF in 'early' mode: otherwise, it
- waits until 'late'. (Late mode needs explicit support at per-target link
- time to get called at all). If set, called by ld when the examine_strtab
+ /* Called to examine the string table late enough in linking that it is
+ finally laid out. If emit_ctf_early returns true, this is not called, and
+ ldemul_maybe_emit_ctf emits CTF in 'early' mode: otherwise, it waits
+ until 'late'. (Late mode needs explicit support at per-target link time to
+ get called at all). If set, called by ld when the examine_strtab
bfd_link_callback is invoked by per-target code. */
- void (*examine_strtab_for_ctf) (struct ctf_dict *, struct elf_sym_strtab *,
- bfd_size_type, struct elf_strtab_hash *);
+ void (*acquire_strings_for_ctf) (struct ctf_dict *, struct elf_strtab_hash *);
+
+ /* Called when a new symbol is added to the dynamic symbol table. If
+ emit_ctf_early returns true, this is not called, and ldemul_maybe_emit_ctf
+ emits CTF in 'early' mode: otherwise, it waits until 'late'. (Late mode
+ needs explicit support at per-target link time to get called at all). If
+ set, called by ld when the ctf_new_symbol bfd_link_callback is invoked by
+ per-target code. Called with a NULL symbol when no further symbols will be
+ provided. */
+ void (*new_dynsym_for_ctf) (struct ctf_dict *, int, struct elf_internal_sym *);
/* Called when printing a symbol to the map file. AIX uses this
hook to flag gc'd symbols. */