aboutsummaryrefslogtreecommitdiff
path: root/ld/ldemul.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2005-07-15 12:19:15 +0000
committerAlan Modra <amodra@gmail.com>2005-07-15 12:19:15 +0000
commit5e797c2c670d8fe04e417043214c0a1843a18aa3 (patch)
tree638e9ebc78a027a4c7001263978ba0d339ddbd3b /ld/ldemul.h
parenteaae8ded6211112d8b3f31b095433d660bcc5e59 (diff)
downloadfsf-binutils-gdb-5e797c2c670d8fe04e417043214c0a1843a18aa3.zip
fsf-binutils-gdb-5e797c2c670d8fe04e417043214c0a1843a18aa3.tar.gz
fsf-binutils-gdb-5e797c2c670d8fe04e417043214c0a1843a18aa3.tar.bz2
* ldemul.c (ldemul_do_assignments): New function.
(do_assignments_default): New function. * ldemul.h (ldemul_do_assignments): Declare. (do_assignments_default): Declare. (struct ld_emulation_xfer_struct): Add do_assignments. * ldlang.c (lang_do_assignments) Call ldemul_do_assignments. * emultempl/aix.em (ld_*_emulation): Init do_assignments field. * emultempl/armcoff.em: Likewise. * emultempl/beos.em: Likewise. * emultempl/generic.em: Likewise. * emultempl/gld960.em: Likewise. * emultempl/gld960c.em: Likewise. * emultempl/linux.em: Likewise. * emultempl/lnk960.em: Likewise. * emultempl/m68kcoff.em: Likewise. * emultempl/pe.em: Likewise. * emultempl/sunos.em: Likewise. * emultempl/ticoff.em: Likewise. * emultempl/vanilla.em: Likewise. * emultempl/elf32.em: Likewise, to call gld*_provide_init_fini_syms. (gld*_find_exp_assignment): Adjust bfd_elf_record_link_assignment call.
Diffstat (limited to 'ld/ldemul.h')
-rw-r--r--ld/ldemul.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/ld/ldemul.h b/ld/ldemul.h
index 1170c0a..1a42cb6 100644
--- a/ld/ldemul.h
+++ b/ld/ldemul.h
@@ -1,6 +1,6 @@
/* ld-emul.h - Linker emulation header file
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000, 2001,
- 2002, 2003, 2004
+ 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
@@ -35,6 +35,8 @@ extern void ldemul_after_allocation
(void);
extern void ldemul_before_allocation
(void);
+extern void ldemul_do_assignments
+ (void);
extern void ldemul_set_output_arch
(void);
extern char *ldemul_choose_target
@@ -77,6 +79,8 @@ extern void after_allocation_default
(void);
extern void before_allocation_default
(void);
+extern void do_assignments_default
+ (void);
extern void set_output_arch_default
(void);
extern void syslib_default
@@ -117,6 +121,9 @@ typedef struct ld_emulation_xfer_struct {
/* Run before allocating output sections. */
void (*before_allocation) (void);
+ /* Run to set special symbols at the same time as link script syms. */
+ void (*do_assignments) (void);
+
/* Return the appropriate linker script. */
char * (*get_script) (int *isfile);