aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKung Hsu <kung@cygnus>1994-07-08 19:36:55 +0000
committerKung Hsu <kung@cygnus>1994-07-08 19:36:55 +0000
commit6f89cd429cdb276e9da1473f485a75a001a3c9b1 (patch)
tree36c9aa7c3fcbd74800fd8043de701fc67adb06d6
parentdb770dfa72e101b6c22fb9c2da4f0d25628dc22f (diff)
downloadgdb-6f89cd429cdb276e9da1473f485a75a001a3c9b1.zip
gdb-6f89cd429cdb276e9da1473f485a75a001a3c9b1.tar.gz
gdb-6f89cd429cdb276e9da1473f485a75a001a3c9b1.tar.bz2
Modified Files:
obj-ecoff.h obj-elf.h * config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB. * config/obj-elf.h: ditto.
-rw-r--r--gas/config/obj-ecoff.h6
-rw-r--r--gas/config/obj-elf.h13
2 files changed, 17 insertions, 2 deletions
diff --git a/gas/config/obj-ecoff.h b/gas/config/obj-ecoff.h
index 2ea5d34..5d7a32d 100644
--- a/gas/config/obj-ecoff.h
+++ b/gas/config/obj-ecoff.h
@@ -36,7 +36,7 @@
#define TARGET_SYMBOL_FIELDS \
struct efdr *ecoff_file; \
struct localsym *ecoff_symbol; \
- char ecoff_undefined;
+ valueT ecoff_extern_size;
/* Modify the ECOFF symbol. */
#define obj_frob_symbol(symp, punt) ecoff_frob_symbol (symp)
@@ -54,4 +54,8 @@ extern void ecoff_frob_file PARAMS ((void));
#define OBJ_PROCESS_STAB(what, string, type, other, desc) \
ecoff_stab ((what), (string), (type), (other), (desc))
+#define OBJ_GENERATE_ASM_LINE_STAB(lineno) \
+ ecoff_generate_asm_line_stab ((lineno))
+
#define EMIT_SECTION_SYMBOLS 0
+#define obj_sec_sym_ok_for_reloc(SEC) 1
diff --git a/gas/config/obj-elf.h b/gas/config/obj-elf.h
index 4af9835..e3ad1b9 100644
--- a/gas/config/obj-elf.h
+++ b/gas/config/obj-elf.h
@@ -51,6 +51,10 @@
#define S_SET_SIZE(S,V) \
(elf_symbol((S)->bsym)->internal_elf_sym.st_size = (V))
+#define S_GET_ALIGN(S) (elf_symbol ((S)->bsym)->internal_elf_sym.st_value)
+#define S_SET_ALIGN(S,V) \
+ (elf_symbol ((S)->bsym)->internal_elf_sym.st_value = (V))
+
extern asection *gdb_section;
/* Copy over the function bit and size of a forwarded symbol. */
@@ -68,6 +72,10 @@ extern void obj_elf_section PARAMS ((int));
extern void obj_elf_previous PARAMS ((int));
extern void obj_elf_version PARAMS ((int));
+/* BFD wants to write the udata field, which is a no-no for the
+ globally defined sections. */
+#define obj_sec_sym_ok_for_reloc(SEC) ((SEC)->owner != 0)
+
/* Stabs go in a separate section. */
#define SEPARATE_STAB_SECTIONS
@@ -90,7 +98,7 @@ extern void obj_elf_init_stab_section PARAMS ((segT));
ELF_TARGET_SYMBOL_FIELDS \
struct efdr *ecoff_file; \
struct localsym *ecoff_symbol; \
- char ecoff_undefined;
+ valueT ecoff_extern_size;
/* We smuggle stabs in ECOFF rather than using a separate section.
The Irix linker can not handle a separate stabs section. */
@@ -99,6 +107,9 @@ extern void obj_elf_init_stab_section PARAMS ((segT));
#define OBJ_PROCESS_STAB(what, string, type, other, desc) \
ecoff_stab ((what), (string), (type), (other), (desc))
+#define OBJ_GENERATE_ASM_LINE_STAB(lineno) \
+ ecoff_generate_asm_line_stab ((lineno))
+
/* ECOFF requires that we call the ecoff_frob_symbol hook. */
#define obj_frob_symbol(symp, punt) ecoff_frob_symbol (symp)