be more cautious with tranle's patches
authorK. Richard Pixley <rich@cygnus>
Fri, 21 Feb 1992 14:21:54 +0000 (14:21 +0000)
committerK. Richard Pixley <rich@cygnus>
Fri, 21 Feb 1992 14:21:54 +0000 (14:21 +0000)
gas/ChangeLog
gas/config/a.out.gnu.h
gas/config/tc-a29k.h
gas/config/tc-sparc.h

index ea4941f..9581934 100644 (file)
@@ -1,3 +1,7 @@
+Fri Feb 21 06:21:07 1992  K. Richard Pixley  (rich@rtl.cygnus.com)
+
+       * read.c, write.c subsegs.c: back out the .bss changes.
+
 Fri Feb 21 01:08:48 1992  Minh Tran-Le (TRANLE@INTELLICORP.COM)
 
        * symbols.c (local_label_name): symbols now start with ^A.
index fe777f9..29edcdb 100755 (executable)
 #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
 
index 023a4ff..fee1ca2 100644 (file)
@@ -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 */
index bc93fbf..7f450af 100644 (file)
@@ -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 "
 
 /*