aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-elf.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2000-01-26 22:48:31 +0000
committerAlan Modra <amodra@gmail.com>2000-01-26 22:48:31 +0000
commit4c63da97a708e211a7141e29082ab589cbdbcb12 (patch)
tree358dbdc4c6eaed6b8a498fa02100a861d33849fd /gas/config/obj-elf.h
parentf743149ecb74d161c7be3171d36bafc805473ebc (diff)
downloadgdb-4c63da97a708e211a7141e29082ab589cbdbcb12.zip
gdb-4c63da97a708e211a7141e29082ab589cbdbcb12.tar.gz
gdb-4c63da97a708e211a7141e29082ab589cbdbcb12.tar.bz2
This set of patches add support for aout emulation on the x86
assembler. ie. You will be able to do "as --em=i386aout" on an x86 linux-elf assembler to generate aout format object files, rather than using a separate assembler. The aout emulation is enabled by giving "--enable-targets=i386-linuxaout" to configure. Oh yeah, there's a couple of fixes too. Error messages shouldn't be passed to printf in the format arg just in case someone puts a `%' in the message.
Diffstat (limited to 'gas/config/obj-elf.h')
-rw-r--r--gas/config/obj-elf.h26
1 files changed, 23 insertions, 3 deletions
diff --git a/gas/config/obj-elf.h b/gas/config/obj-elf.h
index 0d16ca2..722c5fd 100644
--- a/gas/config/obj-elf.h
+++ b/gas/config/obj-elf.h
@@ -1,5 +1,5 @@
/* ELF object file format.
- Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 1999
+ Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -53,6 +53,12 @@ extern int alpha_flag_mdebug;
#endif /* MIPS_STABS_ELF */
#endif /* TC_MIPS */
+#ifdef OBJ_MAYBE_ECOFF
+#ifndef ECOFF_DEBUGGING
+#define ECOFF_DEBUGGING 1
+#endif
+#endif
+
/* Additional information we keep for each symbol. */
struct elf_obj_sy
{
@@ -106,10 +112,14 @@ extern void elf_begin PARAMS ((void));
(elf_symbol (symbol_get_bfdsym (S))->internal_elf_sym.st_value = (V))
#endif
-#define S_GET_OTHER(S) \
- (elf_symbol (symbol_get_bfdsym (S))->internal_elf_sym.st_other)
+int elf_s_get_other PARAMS ((symbolS *));
+#ifndef S_GET_OTHER
+#define S_GET_OTHER(S) (elf_s_get_other (S))
+#endif
+#ifndef S_SET_OTHER
#define S_SET_OTHER(S,V) \
(elf_symbol (symbol_get_bfdsym (S))->internal_elf_sym.st_other = (V))
+#endif
extern asection *gdb_section;
@@ -141,6 +151,16 @@ extern void obj_elf_text PARAMS ((int));
#define obj_sec_sym_ok_for_reloc(SEC) ((SEC)->owner != 0)
#endif
+void elf_obj_read_begin_hook PARAMS ((void));
+#ifndef obj_read_begin_hook
+#define obj_read_begin_hook elf_obj_read_begin_hook
+#endif
+
+void elf_obj_symbol_new_hook PARAMS ((symbolS *));
+#ifndef obj_symbol_new_hook
+#define obj_symbol_new_hook elf_obj_symbol_new_hook
+#endif
+
/* When setting one symbol equal to another, by default we probably
want them to have the same "size", whatever it means in the current
context. */