Thu Nov 30 11:23:42 1995 Manfred Hollstein KS/EF4A 60/1F/110 #40283 <manfred@lts...
authorIan Lance Taylor <ian@airs.com>
Thu, 30 Nov 1995 16:25:27 +0000 (16:25 +0000)
committerIan Lance Taylor <ian@airs.com>
Thu, 30 Nov 1995 16:25:27 +0000 (16:25 +0000)
* config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not
add section's paddr to add_number; compatibility to native as and
ld forbids.

gas/ChangeLog
gas/config/obj-coff.c

index 5f83e3fcc557fd9a6e8d057ad447dae4ff99f11d..fa65630d20f2dc28fcd2e834fa23dfdc32f97257 100644 (file)
@@ -1,3 +1,9 @@
+Thu Nov 30 11:23:42 1995  Manfred Hollstein KS/EF4A 60/1F/110 #40283  <manfred@lts.sel.alcatel.de>
+
+       * config/obj-coff.c (fixup_segment): If TC_M88K is defined, do not
+       add section's paddr to add_number; compatibility to native as and
+       ld forbids.
+
 Wed Nov 29 23:14:27 1995  Ken Raeburn  <raeburn@cygnus.com>
 
        * configure.in: Treat m68k-sysv4 like m68k-elf, not m68k-sysv3.
index 9e37e7e189f6b87e4b0512333af091a0ac9ea210..25dfbd417f11523abcda3fb2b6fb26040911e91c 100644 (file)
@@ -3006,7 +3006,10 @@ write_object_file ()
 #define SUB_SEGMENT_ALIGN(SEG) 1
 #endif
 #ifdef md_do_align
-      md_do_align (SUB_SEGMENT_ALIGN (now_seg), NOP_OPCODE, alignment_done);
+      {
+       static char nop = NOP_OPCODE;
+       md_do_align (SUB_SEGMENT_ALIGN (now_seg), &nop, alignment_done);
+      }
 #endif
       frag_align (SUB_SEGMENT_ALIGN (now_seg), NOP_OPCODE);
 #ifdef md_do_align
@@ -3850,7 +3853,7 @@ fixup_segment (segP, this_segment_type)
                default:
 
 
-#if defined(TC_A29K) || (defined(TE_PE) && defined(TC_I386))
+#if defined(TC_A29K) || (defined(TE_PE) && defined(TC_I386)) || defined(TC_M88K)
                  /* This really should be handled in the linker, but
                     backward compatibility forbids.  */
                  add_number += S_GET_VALUE (add_symbolP);
@@ -3893,7 +3896,7 @@ fixup_segment (segP, this_segment_type)
 
       if (pcrel)
        {
-#if !defined(TC_M88K) && !(defined(TE_PE) && defined(TC_I386))
+#if !defined(TC_M88K) && !(defined(TE_PE) && defined(TC_I386)) && !defined(TC_A29K)
          /* This adjustment is not correct on the m88k, for which the
             linker does all the computation.  */
          add_number -= md_pcrel_from (fixP);