aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-hppa.h
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2000-05-19 00:20:31 +0000
committerJeff Law <law@redhat.com>2000-05-19 00:20:31 +0000
commitdf6d9773e2d227dbf55f6b1afbb57ef79e217ce8 (patch)
treeb2ec01d6f3aaad69792c79ec1fdc1ee10d7627a1 /bfd/elf-hppa.h
parente42180d7b4516522b6382c22da9ca85ef3bbfa34 (diff)
downloadgdb-df6d9773e2d227dbf55f6b1afbb57ef79e217ce8.zip
gdb-df6d9773e2d227dbf55f6b1afbb57ef79e217ce8.tar.gz
gdb-df6d9773e2d227dbf55f6b1afbb57ef79e217ce8.tar.bz2
* libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn. (hppa_rebuild_insn): Mask immediate bits here instead. * elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
Diffstat (limited to 'bfd/elf-hppa.h')
-rw-r--r--bfd/elf-hppa.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/bfd/elf-hppa.h b/bfd/elf-hppa.h
index 9b1e25d..e30f714 100644
--- a/bfd/elf-hppa.h
+++ b/bfd/elf-hppa.h
@@ -1965,7 +1965,7 @@ elf_hppa_relocate_insn (insn, sym_value, r_type)
the "B" instruction. */
case R_PARISC_PCREL22F:
case R_PARISC_PCREL22C:
- return re_assemble_22 (insn, sym_value);
+ return re_assemble_22 (insn & ~ 0x3ff1ffd, sym_value);
/* This is any 17bit branch. In PA2.0 syntax it also corresponds to
the "B" instruction as well as BE. */
@@ -1974,7 +1974,7 @@ elf_hppa_relocate_insn (insn, sym_value, r_type)
case R_PARISC_DIR17R:
case R_PARISC_PCREL17C:
case R_PARISC_PCREL17R:
- return re_assemble_17 (insn, sym_value);
+ return re_assemble_17 (insn & ~ 0x1f1ffd, sym_value);
/* ADDIL or LDIL instructions. */
case R_PARISC_DLTREL21L:
@@ -1985,7 +1985,7 @@ elf_hppa_relocate_insn (insn, sym_value, r_type)
case R_PARISC_DPREL21L:
case R_PARISC_PLTOFF21L:
case R_PARISC_DIR21L:
- return re_assemble_21 (insn, sym_value);
+ return re_assemble_21 (insn & ~ 0x1fffff, sym_value);
/* LDO and integer loads/stores with 14bit displacements. */
case R_PARISC_DLTREL14R: