diff options
author | Ian Lance Taylor <ian@airs.com> | 1994-04-01 17:44:29 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1994-04-01 17:44:29 +0000 |
commit | 69a010f69cde712c369a9bbf982e248f669d3645 (patch) | |
tree | d129e9001838d6328c46f1bbd50ac17ecc1e4233 /bfd/coff-a29k.c | |
parent | 5051b6f29000d53a4d17a3248fa748e9138a57f7 (diff) | |
download | gdb-69a010f69cde712c369a9bbf982e248f669d3645.zip gdb-69a010f69cde712c369a9bbf982e248f669d3645.tar.gz gdb-69a010f69cde712c369a9bbf982e248f669d3645.tar.bz2 |
* coff-a29k.c (a29k_reloc): Add reloc_entry->address to value of
absolute R_IREL reloc.
Diffstat (limited to 'bfd/coff-a29k.c')
-rw-r--r-- | bfd/coff-a29k.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/bfd/coff-a29k.c b/bfd/coff-a29k.c index 9084a40..1016b21 100644 --- a/bfd/coff-a29k.c +++ b/bfd/coff-a29k.c @@ -126,9 +126,10 @@ a29k_reloc (abfd, reloc_entry, symbol_in, data, input_section, output_bfd, signed_value = SIGN_EXTEND_HWORD(signed_value); signed_value <<= 2; signed_value += sym_value + reloc_entry->addend; - if ((signed_value&~0x3ffff) == 0) + if (((signed_value + reloc_entry->address) & ~0x3ffff) == 0) { /* Absolute jmp/call */ insn |= (1<<24); /* Make it absolute */ + signed_value += reloc_entry->address; /* FIXME: Should we change r_type to R_IABS */ } else |