aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2009-11-02 11:49:48 +0000
committerAlan Modra <amodra@gmail.com>2009-11-02 11:49:48 +0000
commit4cae74aaa293398e6e3b8519de184a058f5b62c4 (patch)
treec728975e1c162b5f30549476c7ae9fb1d1f7df0e /gas/config
parent3703bab932d537a9a7136e0d4cf1985bc2249259 (diff)
downloadgdb-4cae74aaa293398e6e3b8519de184a058f5b62c4.zip
gdb-4cae74aaa293398e6e3b8519de184a058f5b62c4.tar.gz
gdb-4cae74aaa293398e6e3b8519de184a058f5b62c4.tar.bz2
* ecoff.c (ecoff_symbol_clone_hook): New function.
* ecoff.h (ecoff_symbol_clone_hook): Declare. * obj.h (struct format_ops): Add symbol_clone_hook. * config/obj-aout.c (aout_format_ops): Init new field. * config/obj-coff.c (coff_format_ops): Likewise. * config/obj-ecoff.c (ecoff_format_ops): Likewise. * config/obj-elf.c (elf_format_ops): Likewise. * config/obj-ecoff.h (obj_symbol_clone_hook): Define. * config/obj-multi.h (obj_symbol_clone_hook): Define.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/obj-aout.c3
-rw-r--r--gas/config/obj-coff.c3
-rw-r--r--gas/config/obj-ecoff.c3
-rw-r--r--gas/config/obj-ecoff.h3
-rw-r--r--gas/config/obj-elf.c3
-rw-r--r--gas/config/obj-multi.h5
6 files changed, 15 insertions, 5 deletions
diff --git a/gas/config/obj-aout.c b/gas/config/obj-aout.c
index daba73d..c60cff1 100644
--- a/gas/config/obj-aout.c
+++ b/gas/config/obj-aout.c
@@ -310,7 +310,8 @@ const struct format_ops aout_format_ops =
aout_pop_insert,
0, /* ecoff_set_ext. */
0, /* read_begin_hook. */
- 0 /* symbol_new_hook. */
+ 0, /* symbol_new_hook. */
+ 0 /* symbol_clone_hook. */
};
const pseudo_typeS aout_pseudo_table[] =
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c
index 271b01e..d4fb10d 100644
--- a/gas/config/obj-coff.c
+++ b/gas/config/obj-coff.c
@@ -1930,5 +1930,6 @@ const struct format_ops coff_format_ops =
coff_pop_insert,
0, /* ecoff_set_ext */
coff_obj_read_begin_hook,
- coff_obj_symbol_new_hook
+ coff_obj_symbol_new_hook,
+ coff_obj_symbol_clone_hook
};
diff --git a/gas/config/obj-ecoff.c b/gas/config/obj-ecoff.c
index 5bee7ac..ad9f250 100644
--- a/gas/config/obj-ecoff.c
+++ b/gas/config/obj-ecoff.c
@@ -314,5 +314,6 @@ const struct format_ops ecoff_format_ops =
ecoff_pop_insert,
ecoff_set_ext,
ecoff_read_begin_hook,
- ecoff_symbol_new_hook
+ ecoff_symbol_new_hook,
+ ecoff_symbol_clone_hook
};
diff --git a/gas/config/obj-ecoff.h b/gas/config/obj-ecoff.h
index fae84ae..1d93dd9 100644
--- a/gas/config/obj-ecoff.h
+++ b/gas/config/obj-ecoff.h
@@ -1,6 +1,6 @@
/* ECOFF object file format header file.
Copyright 1993, 1994, 1995, 1996, 1997, 1999, 2002, 2004, 2005,
- 2007 Free Software Foundation, Inc.
+ 2007, 2009 Free Software Foundation, Inc.
Contributed by Cygnus Support.
Written by Ian Lance Taylor <ian@cygnus.com>.
@@ -59,6 +59,7 @@ struct ecoff_sy_obj
/* We use the ECOFF functions as our hooks. */
#define obj_read_begin_hook ecoff_read_begin_hook
#define obj_symbol_new_hook ecoff_symbol_new_hook
+#define obj_symbol_clone_hook ecoff_symbol_clone_hook
/* Record file switches in the ECOFF symbol table. */
#define obj_app_file(name, app) ecoff_new_file (name, app)
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index dfe7ce3..1cc11ec 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -2424,5 +2424,6 @@ const struct format_ops elf_format_ops =
0, /* ecoff_set_ext */
#endif
elf_obj_read_begin_hook,
- elf_obj_symbol_new_hook
+ elf_obj_symbol_new_hook,
+ 0
};
diff --git a/gas/config/obj-multi.h b/gas/config/obj-multi.h
index fe3c3e7..b78e836 100644
--- a/gas/config/obj-multi.h
+++ b/gas/config/obj-multi.h
@@ -81,6 +81,11 @@
? (*this_format->symbol_new_hook) (S) \
: (void) 0)
+#define obj_symbol_clone_hook(N, O) \
+ (this_format->symbol_clone_hook \
+ ? (*this_format->symbol_clone_hook) (N, O) \
+ : (void) 0)
+
#define obj_sec_sym_ok_for_reloc(A) \
(this_format->sec_sym_ok_for_reloc \
? (*this_format->sec_sym_ok_for_reloc) (A) \