1 /* This file is obj-generic.h
2 Copyright 1987, 1988, 1989, 1990, 1991, 1992, 1993, 2000
3 Free Software Foundation, Inc.
5 This file is part of GAS, the GNU Assembler.
7 GAS is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
12 GAS is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GAS; see the file COPYING. If not, write to the Free
19 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
23 * This file is obj-generic.h and is intended to be a template for
24 * object format specific header files.
27 /* define an obj specific macro off which target cpu back ends may key. */
30 /* include whatever target cpu is appropriate. */
38 * If your object format needs to reorder symbols, define this. When
39 * defined, symbols are kept on a doubly linked list and functions are
40 * made available for push, insert, append, and delete. If not defined,
41 * symbols are kept on a singly linked list, only the append and clear
42 * facilities are available, and they are macros.
45 /* #define SYMBOLS_NEED_PACKPOINTERS */
53 obj_symbol_type
; /* should be the format's symbol structure */
55 typedef void *object_headers
;
57 /* symbols have names */
58 #define S_GET_NAME(s) ("foo") /* get the name of a symbolP */
59 #define S_SET_NAME(s,v) ;
60 /* symbols have segments */
61 #define S_GET_SEGMENT(s) (SEG_UNKNOWN)
62 #define S_SET_SEGMENT(s,v) ;
63 /* symbols may be external */
64 #define S_IS_EXTERNAL(s) (0)
65 #define S_SET_EXTERNAL(s) ;
67 /* symbols may or may not be defined */
68 #define S_IS_DEFINED(s) (0)
70 #define DEFAULT_MAGIC_NUMBER_FOR_OBJECT_FILE (0) /* your magic number */
72 #define OBJ_EMIT_LINENO(a,b,c) /* must be *something*. This no-op's it out. */