aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1996-02-23 01:15:39 +0000
committerIan Lance Taylor <ian@airs.com>1996-02-23 01:15:39 +0000
commit101a23469fc45df4ac81fc4a1904cca62e321c4f (patch)
treea810e0b0318b8358c5c86eedc00c808e8d1ec395
parent940c413f968cc5e4816934dd193f703cfda8f649 (diff)
downloadgdb-101a23469fc45df4ac81fc4a1904cca62e321c4f.zip
gdb-101a23469fc45df4ac81fc4a1904cca62e321c4f.tar.gz
gdb-101a23469fc45df4ac81fc4a1904cca62e321c4f.tar.bz2
* 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. PR 9072.
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-sh.c5
2 files changed, 5 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3fb0375..e4ac397 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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
diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c
index fd242e9..af267d4 100644
--- a/gas/config/tc-sh.c
+++ b/gas/config/tc-sh.c
@@ -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)