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.
This commit is contained in:
Steve Chamberlain 1992-05-12 21:42:36 +00:00
parent bcf2e6ab49
commit bbbd93b8e9
2 changed files with 24 additions and 3 deletions

View file

@ -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) Tue May 5 14:18:24 1992 Per Bothner (bothner@rtl.cygnus.com)
* bfd-in.h: Increase version number to 1.97, for consistency * bfd-in.h: Increase version number to 1.97, for consistency

View file

@ -126,7 +126,6 @@ DEFUN(a29k_reloc,(abfd, reloc_entry, symbol_in, data, input_section, output_bfd)
{ /* Absolute jmp/call */ { /* Absolute jmp/call */
insn |= (1<<24); /* Make it absolute */ insn |= (1<<24); /* Make it absolute */
/* FIXME: Should we change r_type to R_IABS */ /* FIXME: Should we change r_type to R_IABS */
signed_value /= 2;
} }
else else
{ {
@ -137,9 +136,8 @@ DEFUN(a29k_reloc,(abfd, reloc_entry, symbol_in, data, input_section, output_bfd)
input_section->output_offset; input_section->output_offset;
if (signed_value>0x1ffff || signed_value<-0x20000) if (signed_value>0x1ffff || signed_value<-0x20000)
return(bfd_reloc_outofrange); return(bfd_reloc_outofrange);
signed_value /= 2;
} }
signed_value >>= 2;
insn = INSERT_HWORD(insn, signed_value); insn = INSERT_HWORD(insn, signed_value);
bfd_put_32(abfd, insn ,hit_data); bfd_put_32(abfd, insn ,hit_data);
break; break;