aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/obj-coff.c9
2 files changed, 12 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 5f83e3f..fa65630 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c
index 9e37e7e..25dfbd4 100644
--- a/gas/config/obj-coff.c
+++ b/gas/config/obj-coff.c
@@ -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);