/* obj-aout.h, a.out object file format for gas, the assembler.
- Copyright (C) 1989, 90, 91, 92, 93, 94, 95, 96, 98, 99, 2000
- 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.
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, Boston, MA
- 02111-1307, USA. */
+ 02111-1307, USA. */
/* Tag to validate a.out object file format processing */
#define OBJ_AOUT 1
#else /* ! BFD_ASSEMBLER */
#ifndef VMS
-#include "aout_gnu.h" /* Needed to define struct nlist. Sigh. */
+#include "aout_gnu.h" /* Needed to define struct nlist. Sigh. */
#else
#include "a_out.h"
#endif
asection *text_section, *data_section, *bss_section;
#define obj_frob_symbol(S,PUNT) obj_aout_frob_symbol (S, &PUNT)
-#define obj_frob_file() obj_aout_frob_file ()
+#define obj_frob_file_before_fix() obj_aout_frob_file_before_fix ()
extern void obj_aout_frob_symbol PARAMS ((symbolS *, int *));
-extern void obj_aout_frob_file PARAMS ((void));
+extern void obj_aout_frob_file_before_fix PARAMS ((void));
#define obj_sec_sym_ok_for_reloc(SEC) (1)
/*
* Macros to extract information from a symbol table entry.
- * This syntaxic indirection allows independence regarding a.out or coff.
+ * This syntactic indirection allows independence regarding a.out or coff.
* The argument (s) of all these macros is a pointer to a symbol table entry.
*/
#define S_IS_COMMON(s) \
(S_GET_TYPE (s) == N_UNDF && S_GET_VALUE (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_REGISTER(s) ((s)->sy_symbol.n_type == N_REGISTER)
/* True if a debug special symbol entry */
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;
-/* line numbering stuff. */
+/* line numbering stuff. */
#define OBJ_EMIT_LINENO(a, b, c) {;}
struct fix;
#define EMIT_SECTION_SYMBOLS 0
#define AOUT_STABS
-
-/* end of obj-aout.h */