diff options
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/obj-coff.c | 9 |
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); |