X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fconfig%2Fobj-ecoff.h;h=6edea71f023db80401625447a697d3f31ddb5da7;hb=0ba59a29407a9d24559a653ce0401a26d9a37aaa;hp=5d7a32d34b459258b92aa842407dba82f1534858;hpb=6f89cd429cdb276e9da1473f485a75a001a3c9b1;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/config/obj-ecoff.h b/gas/config/obj-ecoff.h index 5d7a32d34b..6edea71f02 100644 --- a/gas/config/obj-ecoff.h +++ b/gas/config/obj-ecoff.h @@ -1,5 +1,5 @@ /* ECOFF object file format header file. - Copyright (C) 1993 Free Software Foundation, Inc. + Copyright (C) 1993-2019 Free Software Foundation, Inc. Contributed by Cygnus Support. Written by Ian Lance Taylor . @@ -7,7 +7,7 @@ GAS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) + the Free Software Foundation; either version 3, or (at your option) any later version. GAS is distributed in the hope that it will be useful, @@ -16,13 +16,16 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with GAS; see the file COPYING. If not, write to - the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + along with GAS; see the file COPYING. If not, write to the Free + Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ #define OBJ_ECOFF 1 /* Use the generic ECOFF debugging code. */ -#define ECOFF_DEBUGGING +#define ECOFF_DEBUGGING 1 + +#define OUTPUT_FLAVOR bfd_target_ecoff_flavour #include "targ-cpu.h" @@ -33,29 +36,42 @@ symbols is undefined (this last is needed to distinguish a .extern symbols from a .comm symbol). */ -#define TARGET_SYMBOL_FIELDS \ - struct efdr *ecoff_file; \ - struct localsym *ecoff_symbol; \ +struct ecoff_sy_obj +{ + struct efdr *ecoff_file; + struct localsym *ecoff_symbol; valueT ecoff_extern_size; +}; + +#define OBJ_SYMFIELD_TYPE struct ecoff_sy_obj /* Modify the ECOFF symbol. */ #define obj_frob_symbol(symp, punt) ecoff_frob_symbol (symp) +/* Set section VMAs and GP. */ +#define obj_frob_file_before_fix() ecoff_frob_file_before_fix () + /* This is used to write the symbolic data in the format that BFD expects it. */ -extern void ecoff_frob_file PARAMS ((void)); #define obj_frob_file() ecoff_frob_file () /* 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 -/* At the moment we don't want to do any stabs processing in read.c. */ -#define OBJ_PROCESS_STAB(what, string, type, other, desc) \ - ecoff_stab ((what), (string), (type), (other), (desc)) +/* Record file switches in the ECOFF symbol table. */ +#define obj_app_file(name, app) ecoff_new_file (name, app) -#define OBJ_GENERATE_ASM_LINE_STAB(lineno) \ - ecoff_generate_asm_line_stab ((lineno)) +/* At the moment we don't want to do any stabs processing in read.c. */ +#define OBJ_PROCESS_STAB(seg, what, string, type, other, desc) \ + ecoff_stab ((seg), (what), (string), (type), (other), (desc)) #define EMIT_SECTION_SYMBOLS 0 #define obj_sec_sym_ok_for_reloc(SEC) 1 + +#define obj_ecoff_set_ext ecoff_set_ext + +extern void ecoff_frob_file_before_fix (void); +extern void ecoff_frob_file (void); +extern void obj_ecoff_set_ext (symbolS *, EXTR *);