From bbbd93b8e949bfcc4c6ff915ea0b0fc3e3997c81 Mon Sep 17 00:00:00 2001 From: Steve Chamberlain Date: Tue, 12 May 1992 21:42:36 +0000 Subject: [PATCH] Tue May 12 14:08:59 1992 Steve Chamberlain (sac@thepub.cygnus.com) * coff-a29k.c (perform_reloc): fix bug in jmp/call evaluation * coff-h8300.c (reloc_processing): all relocs are relative to section start. * opncls.c: don't use fdopen on DOS systems short patches from Glenn Kasten (glenn@ready.com) * target.c: enabled oasys support * oasys.c: Insert . when UNDERSCORE_HACK is enabled, fix problem where a relocation which crossed a modification byte boundary did not work. Fix problem where a relocation near the end of a data record did not work. --- bfd/ChangeLog | 23 +++++++++++++++++++++++ bfd/coff-a29k.c | 4 +--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a358395da2a..852e7afd82e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,26 @@ +Tue May 12 14:08:59 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * coff-a29k.c (perform_reloc): fix bug in jmp/call evaluation + * coff-h8300.c (reloc_processing): all relocs are relative to + section start. + * opncls.c: don't use fdopen on DOS systems + + short patches from Glenn Kasten (glenn@ready.com) + * target.c: enabled oasys support + * oasys.c: Insert . when UNDERSCORE_HACK is enabled, + fix problem where a relocation which crossed a modification byte + boundary did not work. Fix problem where a relocation near the end + of a data record did not work. + + +Tue May 5 18:11:25 1992 Steve Chamberlain (sac@thepub.cygnus.com) + + * archive.c (bfd_slurp_coff_armap): old versions of BFD wrote + archvie header string counts the endian way, this heuristic sees + how big an archive string to read by trying it one way and if the + string table is unreasonably big, trying it the other. *FIXME*. + * opncls.c (bfd_fdopenr): can't do fdopens on VMS + Tue May 5 14:18:24 1992 Per Bothner (bothner@rtl.cygnus.com) * bfd-in.h: Increase version number to 1.97, for consistency diff --git a/bfd/coff-a29k.c b/bfd/coff-a29k.c index 8f7674d9774..0d5e0ff86a4 100644 --- a/bfd/coff-a29k.c +++ b/bfd/coff-a29k.c @@ -126,7 +126,6 @@ DEFUN(a29k_reloc,(abfd, reloc_entry, symbol_in, data, input_section, output_bfd) { /* Absolute jmp/call */ insn |= (1<<24); /* Make it absolute */ /* FIXME: Should we change r_type to R_IABS */ - signed_value /= 2; } else { @@ -137,9 +136,8 @@ DEFUN(a29k_reloc,(abfd, reloc_entry, symbol_in, data, input_section, output_bfd) input_section->output_offset; if (signed_value>0x1ffff || signed_value<-0x20000) return(bfd_reloc_outofrange); - - signed_value /= 2; } + signed_value >>= 2; insn = INSERT_HWORD(insn, signed_value); bfd_put_32(abfd, insn ,hit_data); break; -- 2.30.2