From 6f89cd429cdb276e9da1473f485a75a001a3c9b1 Mon Sep 17 00:00:00 2001 From: Kung Hsu Date: Fri, 8 Jul 1994 19:36:55 +0000 Subject: [PATCH] Modified Files: obj-ecoff.h obj-elf.h * config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB. * config/obj-elf.h: ditto. --- gas/config/obj-ecoff.h | 6 +++++- gas/config/obj-elf.h | 13 ++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/gas/config/obj-ecoff.h b/gas/config/obj-ecoff.h index 2ea5d34aef..5d7a32d34b 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 4af98350fc..e3ad1b9c49 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)