Fix bfd_perform_relocation to handle pc-relative relocs better.
authorPer Bothner <per@bothner.com>
Thu, 26 Sep 1991 18:26:28 +0000 (18:26 +0000)
committerPer Bothner <per@bothner.com>
Thu, 26 Sep 1991 18:26:28 +0000 (18:26 +0000)
bfd/ChangeLog
bfd/reloc.c

index db1e1383beb150db99bb54f56a48960b187c2305..3e3e707f06bb5c710615ca39a1863ad95c909294 100644 (file)
@@ -1,3 +1,46 @@
+Thu Sep 26 11:24:24 1991  Per Bothner  (bothner at cygnus.com)
+
+       * reloc.c (bfd_perform_relocation): Fix pc-relative relocation
+       to use correct segment.
+
+Mon Sep 23 18:24:34 1991  Per Bothner  (bothner at cygnus.com)
+
+       * aoutx.h (print_symbol):  Handle missing symbol->name.
+
+Fri Sep 20 12:26:01 1991  Stu Grossman  (grossman at cygnus.com)
+
+       * aoutf1.h (swapcore_sparc):  Change name of USRSTACK, fix comment
+       at top of routine.
+
+Tue Sep 17 17:23:49 1991  Stu Grossman  (grossman at cygnus.com)
+
+       * oasys.c, configure.in, config/h-irix3, config/t-irix3:
+       add sgi/irix support.
+
+Thu Sep 12 14:29:09 1991  John Gilmore  (gnu at cygint.cygnus.com)
+
+       Changes for the AMD 29000 Ultracomputer port from David Wood.
+       (wood@nyu.edu).
+
+       * opncls.c (bfd_fdopenr):  Handle NO_FCNTL.
+
+       * Makefile.in:  Make subdirs work by using $(INCDIR) in the
+       crude dependencies.
+
+       * coffcode.h (coff_real_object_p):  Pass information about the
+       current file's coff symbol format to BFD via the coff_data struct.
+       (coff_find_nearest_line):  obj_icof => coff_data.
+       (coff_swap_sym_{in,out}):  Check that SYMNMLEN == E_SYMNMLEN.
+       (coff_swap_aux_{in,out}):  Check that FILNMLEN == E_FILNMLEN
+       and DIMNUM == E_DIMNUM.
+       * configure.in:  Handle a29k-*-* hosts, and targets 
+       a29k-*-coff, a29k-*-aout, and a29k-*-sym1.
+       * libcoff-in.h:  Add local_n_btmask, local_n_btshft,
+       local_n_tmask, local_n_tshift, local_symesz, local_auxesz,
+       local_linesz to `coff_data' (tdata) struct.     
+       (coff_data, coff_data_type, coff_tdata):  Rename struct icofdata.
+       * config/h-ultra3:  Handle a29k-*-* hosts as Ultracomputers.
+
 Thu Sep 12 14:07:22 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
 
        * Makefile.in: $(MAKE) for make, $(docdir) for doc
index 466497ef9a4b42b78cacbfacceb56424d682b045..2d931c97f0836652ab4c937439931953b5eac3d2 100644 (file)
@@ -84,7 +84,7 @@ The symbol to relocate against was undefined.
 
 $  bfd_reloc_undefined,
 
-The relocaction was performed, but may not be ok - presently generated
+The relocation was performed, but may not be ok - presently generated
 only when linking i960 coff files with i960 b.out symbols.
 
 $  bfd_reloc_dangerous
@@ -131,7 +131,7 @@ $} arelent;
 @table @code
 @item sym_ptr_ptr
 The symbol table pointer points to a pointer to the symbol ascociated with the
-relocation request. This would naturaly be the pointer into the table
+relocation request. This would naturally be the pointer into the table
 returned by the back end's get_symtab action. @xref{Symbols}. The
 symbol is referenced through a pointer to a pointer so that tools like
 the linker can fixup all the symbols of the same name by modifying
@@ -148,7 +148,7 @@ two bytes of a four byte word would not touch the first byte pointed
 to in a big endian world.
 @item addend
 The addend is a value provided by the back end to be added (!) to the
-relocation offset. It's interpretation is dependent upon the howto.
+relocation offset. Its interpretation is dependent upon the howto.
 For example, on the 68k the code:
 
 *+
@@ -513,7 +513,7 @@ DEFUN(bfd_perform_relocation,(abfd,
 
         
         relocation -= 
-          output_base +   input_section->output_offset;
+          input_section->output_section->vma + input_section->output_offset;
 
         if (howto->pcrel_offset == true) {
           relocation -= reloc_entry->address;