with the operands of an R_PARISC_DPREL21L relocation if the insn
is not "addil <symbol>,%r27".
+Sat Jun 17 09:40:44 1995 Jeff Law (law@snake.cs.utah.edu)
+
+ * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Don't mess
+ with the operands of an R_PARISC_DPREL21L relocation if the insn
+ is not "addil <symbol>,%r27".
+
Fri Jun 16 15:04:47 1995 Stan Shebs <shebs@andros.cygnus.com>
* bfd-in.h (NT_subsystem, NT_stack_heap): Declare but don't
section. If it's a code section, then "data pointer relative" makes
no sense. In that case we don't adjust the "value", and for 21 bit
addil instructions, we change the source addend register from %dp to
- %r0. */
+ %r0.
case R_PARISC_DPREL21L:
r_field = e_lrsel;
if (sym_sec->flags & SEC_CODE)
- insn &= ~0x03e00000;
+ {
+ if ((insn & 0xfc) >> 26 == 0xa
+ && (insn & 0x03e00000) >> 21 == 0x1b)
+ insn &= ~0x03e00000;
+ }
else
value -= elf32_hppa_hash_table (info)->global_value;
goto do_basic_type_1;