Mon Nov 25 17:26:22 1991 Steve Chamberlain (sac at cygnus.com)
authorSteve Chamberlain <sac@cygnus>
Tue, 26 Nov 1991 02:15:13 +0000 (02:15 +0000)
committerSteve Chamberlain <sac@cygnus>
Tue, 26 Nov 1991 02:15:13 +0000 (02:15 +0000)
* as.c: (perform_an_assembly_pass): moved declaration of i to
avoid a syntax error. Now always create the three default
sections when in MANY_SEGMENTS mode.
* as.h: New improved way of specifying MANY_SEGMENTS
* configure.in: hds object format is now coff-bfd
* subsegs.h: add line numbers and section stuff to the
segment_info structure. (But go back later and fix.. this is
COFF specific)

gas/ChangeLog
gas/as.h
gas/configure.in
gas/subsegs.h

index 88a16fa..f29cb1b 100644 (file)
@@ -1,3 +1,20 @@
+Mon Nov 25 17:26:22 1991  Steve Chamberlain  (sac at cygnus.com)
+
+       * as.c: (perform_an_assembly_pass): moved declaration of i to
+       avoid a syntax error. Now always create the three default
+       sections when in MANY_SEGMENTS mode.
+       * as.h: New improved way of specifying MANY_SEGMENTS
+       * configure.in: hds object format is now coff-bfd
+       * subsegs.h: add line numbers and section stuff to the
+       segment_info structure. (But go back later and fix.. this is
+       COFF specific)
+       
+
+Thu Oct 24 17:25:59 1991  Steve Chamberlain  (steve at rtl.cygnus.com)
+
+       * config/obj-coff.c (obj_coff_dim): Allows newline to end a
+       .dim statement.
+
 Mon Oct 21 09:25:33 1991  Steve Chamberlain  (steve at rtl.cygnus.com)
 
        * configure.in: added ebmon entry.
index 84c963a..fd1946f 100644 (file)
--- a/gas/as.h
+++ b/gas/as.h
@@ -93,7 +93,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #ifdef DEBUG
 #undef NDEBUG
+#ifndef know
 #define know(p) assert(p)      /* Verify our assumptions! */
+#endif /* not yet defined */
 #else
 #define know(p)                        /* know() checks are no-op.ed */
 #endif
@@ -140,22 +142,20 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  * X_add_symbol != X_sub_symbol (then we just cancel them, => SEG_ABSOLUTE).
  */
 
+
 #ifdef MANY_SEGMENTS
+#define N_SEGMENTS 10
 #define SEG_NORMAL(x) ((x) >= SEG_E0 && (x) <= SEG_E9)
+#define SEG_LIST SEG_E0,SEG_E1,SEG_E2,SEG_E3,SEG_E4,SEG_E5,SEG_E6,SEG_E7,SEG_E8,SEG_E9
 #else
+#define N_SEGMENTS 3
 #define SEG_NORMAL(x) ((x) == SEG_TEXT || (x) == SEG_DATA || (x) == SEG_BSS)
+#define SEG_LIST SEG_TEXT,SEG_DATA,SEG_BSS
 #endif
 
 typedef enum _segT {
        SEG_ABSOLUTE = 0,
-#ifdef MANY_SEGMENTS
-       /* For the moment, we allow only 10 extra segments to be specified by the user */
-       SEG_E0, SEG_E1,SEG_E2,SEG_E3,SEG_E4,SEG_E5,SEG_E6,SEG_E7,SEG_E8,SEG_E9,
-#else
-       SEG_TEXT,
-       SEG_DATA,
-       SEG_BSS,
-#endif
+       SEG_LIST,
        SEG_UNKNOWN,
        SEG_ABSENT,             /* Mythical Segment (absent): NO expression seen. */
        SEG_PASS1,              /* Mythical Segment: Need another pass. */
index 854352e..f258350 100644 (file)
@@ -57,17 +57,35 @@ ebmon)
 generic) obj_format=generic ;;
 
 hds)
-       obj_format=ieee
+       obj_format=coff-bfd
        need_bfd="$(unsubdir)/../bfd$(subdir)/libbfd.a"
        ;;
 
-coff* | sysv*) obj_format=coff ;;
+sysv32)
+       obj_format=coff
+       emulation=sysv32
+       ;;
 
+coff* | sysv*)
+       obj_format=coff
+
+       case ${target_vendor} in
+       bull)   emulation=dpx2 ;;
+       sco)    emulation=sco386 ;;
+       sun)    emulation=sun3 ;;
+       *)
+       esac
+       ;;
 *)
        case ${target_vendor} in
        aout) obj_format=aout ;;
        bout) obj_format=bout ;;
-       coff) obj_format=coff ;;
+       coff)
+               obj_format=coff
+               case ${target_cpu} in
+               i960) emulation=ic960 ;;
+               esac
+               ;;
        *) obj_format=aout ;;
        esac
        ;;
index b8dbaf7..fa0f499 100644 (file)
@@ -5,7 +5,7 @@ This file is part of GAS, the GNU Assembler.
 
 GAS is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
+the Free Software Foundation; either version 2, or (at your option)
 any later version.
 
 GAS is distributed in the hope that it will be useful,
@@ -56,10 +56,32 @@ extern frchainS * frchain_now;
                                /* chain, even if it contains no (complete) */
                                /* frags. */
 
+
+#ifdef MANY_SEGMENTS
+typedef struct 
+{
+  frchainS *frchainP;
+  int hadone;
+  int user_stuff;
+  struct frag *frag_root;
+  struct frag *last_frag;
+  fixS *fix_root;
+  fixS *fix_tail;
+  struct internal_scnhdr scnhdr;
+  symbolS *dot;
+
+  struct lineno_list *lineno_list_head;        
+  struct lineno_list *lineno_list_tail;        
+  
+} segment_info_type;
+segment_info_type segment_info[];
+#else
 extern frchainS * data0_frchainP;
                                /* Sentinel for frchain crawling. */
                                /* Points to the 1st data-segment frchain. */
                                /* (Which is pointed to by the last text- */
                                /* segment frchain.) */
 
+#endif
+
 /* end: subsegs.h */