X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gas%2Fconfig%2Fobj-bout.h;h=374abbcc5586ec19d1cb21a1b31eda2d8996af77;hb=820aff5582fe3441158635c80985ae2054ef390e;hp=ec539a0cf445c991087689f70c53a6c297dc4aec;hpb=252b5132c753830d5fd56823373aed85f2a0db63;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/config/obj-bout.h b/gas/config/obj-bout.h index ec539a0cf4..374abbcc55 100644 --- a/gas/config/obj-bout.h +++ b/gas/config/obj-bout.h @@ -1,6 +1,6 @@ /* b.out object file format - Copyright (C) 1989, 90, 91, 92, 93, 94, 95, 1996 - Free Software Foundation, Inc. + Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 2000, + 2002, 2003 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -17,7 +17,7 @@ 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, 59 Temple Place - Suite 330, Cambridge, MA - 02139, USA. */ + 02139, USA. */ /* * This file is a modified version of 'a.out.h'. It is to be used in all GNU @@ -56,7 +56,6 @@ * relocation info are never sent to the target. */ - #define OBJ_BOUT 1 #define OUTPUT_FLAVOR bfd_target_aout_flavour @@ -108,7 +107,7 @@ struct exec }; #define N_BADMAG(x) (((x).a_magic)!=BMAGIC) -#define N_TXTOFF(x) ( sizeof(struct exec) ) +#define N_TXTOFF(x) ( sizeof (struct exec) ) #define N_DATOFF(x) ( N_TXTOFF(x) + (x).a_text ) #define N_TROFF(x) ( N_DATOFF(x) + (x).a_data ) #define N_DROFF(x) ( N_TROFF(x) + (x).a_trsize ) @@ -183,6 +182,12 @@ struct relocation_info /* True if symbol has been defined, ie is in N_{TEXT,DATA,BSS,ABS} or N_EXT */ #define S_IS_DEFINED(s) ((S_GET_TYPE(s) != N_UNDF) || (S_GET_DESC(s) != 0)) +/* Return true for symbols that should not be reduced to section + symbols or eliminated from expressions, because they may be + overridden by the linker. */ +#define S_FORCE_RELOC(s, strict) \ + (!SEG_NORMAL (S_GET_SEGMENT (s))) + #define S_IS_COMMON(s) \ (S_GET_TYPE (s) == N_UNDF && S_GET_VALUE (s) != 0) @@ -240,14 +245,14 @@ struct relocation_info /* File header macro and type definition */ -#define H_GET_FILE_SIZE(h) (sizeof(struct exec) + \ +#define H_GET_FILE_SIZE(h) (sizeof (struct exec) + \ H_GET_TEXT_SIZE(h) + H_GET_DATA_SIZE(h) + \ H_GET_SYMBOL_TABLE_SIZE(h) + \ H_GET_TEXT_RELOCATION_SIZE(h) + \ H_GET_DATA_RELOCATION_SIZE(h) + \ (h)->string_table_size) -#define H_GET_HEADER_SIZE(h) (sizeof(struct exec)) +#define H_GET_HEADER_SIZE(h) (sizeof (struct exec)) #define H_GET_TEXT_SIZE(h) ((h)->header.a_text) #define H_GET_DATA_SIZE(h) ((h)->header.a_data) #define H_GET_BSS_SIZE(h) ((h)->header.a_bss) @@ -276,7 +281,7 @@ struct relocation_info #define H_SET_TEXT_RELOCATION_SIZE(h,v) ((h)->header.a_trsize = (v)) #define H_SET_DATA_RELOCATION_SIZE(h,v) ((h)->header.a_drsize = (v)) #define H_SET_SYMBOL_TABLE_SIZE(h,v) ((h)->header.a_syms = (v) * \ - sizeof(struct nlist)) + sizeof (struct nlist)) #define H_SET_MAGIC_NUMBER(h,v) ((h)->header.a_magic = (v)) @@ -292,12 +297,12 @@ struct relocation_info typedef struct { struct exec header; /* a.out header */ - long string_table_size; /* names + '\0' + sizeof(int) */ + long string_table_size; /* names + '\0' + sizeof (int) */ } object_headers; -/* unused hooks. */ +/* unused hooks. */ #define OBJ_EMIT_LINENO(a, b, c) {;} #define obj_pre_write_hook(a) {;} @@ -312,5 +317,3 @@ extern void tc_bout_fix_to_chars PARAMS ((char *where, relax_addressT segment_address)); #define AOUT_STABS - -/* end of obj-bout.h */