* config/tc-sh.c (sh_coff_frob_file): Don't consider the address
authorIan Lance Taylor <ian@airs.com>
Fri, 23 Feb 1996 01:15:39 +0000 (01:15 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 23 Feb 1996 01:15:39 +0000 (01:15 +0000)
of the section when looking for the R_SH_USES fixup, because the
frag addresses have not yet been adjusted.
PR 9072.

gas/ChangeLog
gas/config/tc-sh.c

index 3fb0375..e4ac397 100644 (file)
@@ -1,5 +1,9 @@
 Thu Feb 22 16:39:43 1996  Ian Lance Taylor  <ian@cygnus.com>
 
+       * config/tc-sh.c (sh_coff_frob_file): Don't consider the address
+       of the section when looking for the R_SH_USES fixup, because the
+       frag addresses have not yet been adjusted.
+
        * gdbinit.in: Set a breakpoint on as_warn_where.
 
        * config/tc-mips.c (macro): Add missing arguments to macro_build
index fd242e9..af267d4 100644 (file)
@@ -1139,7 +1139,6 @@ sh_coff_frob_file ()
        {
          symbolS *sym;
          bfd_vma val;
-         bfd_vma paddr;
          fixS *fscan;
          int iscan;
          int count;
@@ -1164,11 +1163,10 @@ sh_coff_frob_file ()
          /* Look through the fixups again, this time looking for one
              at the same location as sym.  */
          val = S_GET_VALUE (sym);
-         paddr = segment_info[iseg].scnhdr.s_paddr;
          for (fscan = segment_info[iseg].fix_root;
               fscan != NULL;
               fscan = fscan->fx_next)
-           if (val == paddr + fscan->fx_frag->fr_address + fscan->fx_where)
+           if (val == fscan->fx_frag->fr_address + fscan->fx_where)
              break;
          if (fscan == NULL)
            {
@@ -1202,7 +1200,6 @@ sh_coff_frob_file ()
          count = 0;
          for (iscan = SEG_E0; iscan < SEG_UNKNOWN; iscan++)
            {
-             paddr = segment_info[iscan].scnhdr.s_paddr;
              for (fscan = segment_info[iscan].fix_root;
                   fscan != NULL;
                   fscan = fscan->fx_next)