diff options
author | K. Richard Pixley <rich@cygnus> | 1992-02-21 14:21:54 +0000 |
---|---|---|
committer | K. Richard Pixley <rich@cygnus> | 1992-02-21 14:21:54 +0000 |
commit | 2d97273c8ba5e396bb646ae26a2fdb8164f3436b (patch) | |
tree | 55c9c1eaffc56a887df9ffa0e0cadd84efe0f124 /gas/config | |
parent | ed6bfe6d75e4166937a43f44da4ae3f504a8ca68 (diff) | |
download | gdb-2d97273c8ba5e396bb646ae26a2fdb8164f3436b.zip gdb-2d97273c8ba5e396bb646ae26a2fdb8164f3436b.tar.gz gdb-2d97273c8ba5e396bb646ae26a2fdb8164f3436b.tar.bz2 |
be more cautious with tranle's patches
Diffstat (limited to 'gas/config')
-rwxr-xr-x | gas/config/a.out.gnu.h | 57 | ||||
-rw-r--r-- | gas/config/tc-a29k.h | 2 | ||||
-rw-r--r-- | gas/config/tc-sparc.h | 7 |
3 files changed, 63 insertions, 3 deletions
diff --git a/gas/config/a.out.gnu.h b/gas/config/a.out.gnu.h index fe777f9..29edcdb 100755 --- a/gas/config/a.out.gnu.h +++ b/gas/config/a.out.gnu.h @@ -21,7 +21,45 @@ #ifndef __A_OUT_GNU_H__ #define __A_OUT_GNU_H__ -#include "aout/reloc.h" +#if defined(TC_SPARC) || defined(TC_A29K) +enum reloc_type { + RELOC_8, RELOC_16, RELOC_32, /* simple relocations */ + RELOC_DISP8, RELOC_DISP16, RELOC_DISP32, /* pc-rel displacement */ + RELOC_WDISP30, RELOC_WDISP22, + RELOC_HI22, RELOC_22, + RELOC_13, RELOC_LO10, + RELOC_SFA_BASE, RELOC_SFA_OFF13, + RELOC_BASE10, RELOC_BASE13, RELOC_BASE22, /* P.I.C. (base-relative) */ + RELOC_PC10, RELOC_PC22, /* for some sort of pc-rel P.I.C. (?) */ + RELOC_JMP_TBL, /* P.I.C. jump table */ + RELOC_SEGOFF16, /* reputedly for shared libraries somehow */ + RELOC_GLOB_DAT, RELOC_JMP_SLOT, RELOC_RELATIVE, + RELOC_11, + RELOC_WDISP2_14, + RELOC_WDISP19, + RELOC_HHI22, + RELOC_HLO10, + + /* 29K relocation types */ + RELOC_JUMPTARG, RELOC_CONST, RELOC_CONSTH, + + RELOC_WDISP14, RELOC_WDISP21, + + NO_RELOC, +}; +#endif /* TC_SPARC or TC_A29K */ + +#ifdef TC_I860 +/* NOTE: three bits max, see struct reloc_info_i860.r_type */ +enum i860_reloc_type { + NO_RELOC = 0, BRADDR, LOW0, LOW1, LOW2, LOW3, LOW4, SPLIT0, SPLIT1, SPLIT2, RELOC_32, +}; + + /* NOTE: two bits max, see reloc_info_i860.r_type */ +enum highlow_type { + NO_SPEC = 0, PAIR, HIGH, HIGHADJ, +}; +#endif /* TC_I860 */ #define __GNU_EXEC_MACROS__ @@ -256,6 +294,23 @@ struct reloc_ext_bytes { unsigned char r_addend[4]; }; +struct reloc_info_i860 +{ + unsigned long r_address; + /* + * Using bit fields here is a bad idea because the order is not portable. :-( + */ + unsigned int r_symbolnum: 24; + unsigned int r_pcrel : 1; + unsigned int r_extern : 1; + /* combining the two field simplifies the argument passing in "new_fix()" */ + /* and is compatible with the existing Sparc #ifdef's */ + /* r_type: highlow_type - bits 5,4; reloc_type - bits 3-0 */ + unsigned int r_type : 6; + long r_addend; +}; + + #define RELOC_EXT_BITS_EXTERN_BIG 0x80 #define RELOC_EXT_BITS_EXTERN_LITTLE 0x01 diff --git a/gas/config/tc-a29k.h b/gas/config/tc-a29k.h index 023a4ff..fee1ca2 100644 --- a/gas/config/tc-a29k.h +++ b/gas/config/tc-a29k.h @@ -19,6 +19,8 @@ #define TC_A29K +#define NO_LISTING + #define tc_aout_pre_write_hook(x) {;} /* not used */ #define tc_coff_symbol_emit_hook(a) {;} /* not used */ #define tc_crawl_symbol_chain(a) {;} /* not used */ diff --git a/gas/config/tc-sparc.h b/gas/config/tc-sparc.h index bc93fbf..7f450af 100644 --- a/gas/config/tc-sparc.h +++ b/gas/config/tc-sparc.h @@ -1,5 +1,5 @@ /* tc-sparc.h - Macros and type defines for the sparc. - Copyright (C) 1989, 1990, 1991 Free Software Foundation, Inc. + Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -19,6 +19,7 @@ #define TC_SPARC 1 +#define NO_LISTING #define LOCAL_LABELS_FB #ifdef OBJ_BOUT @@ -33,7 +34,9 @@ #define tc_headers_hook(a) {;} /* don't need it. */ #define tc_crawl_symbol_chain(a) {;} /* don't need it. */ - + +void tc_aout_pre_write_hook(); + #define LISTING_HEADER "SPARC GAS " /* |