aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/sparc
diff options
context:
space:
mode:
authorDavid Edelsohn <dje.gcc@gmail.com>1997-10-15 17:31:07 +0000
committerDavid Edelsohn <dje.gcc@gmail.com>1997-10-15 17:31:07 +0000
commit048c2f0179e3a511e8c67fbe5dfd497b30099443 (patch)
treef8a0fb83b40d4cd406bc1bbd816bfef69d9d20af /gdb/config/sparc
parentf08be001ae733aeb41a6a20a5b86928e71ca82ee (diff)
downloadgdb-048c2f0179e3a511e8c67fbe5dfd497b30099443.zip
gdb-048c2f0179e3a511e8c67fbe5dfd497b30099443.tar.gz
gdb-048c2f0179e3a511e8c67fbe5dfd497b30099443.tar.bz2
* config/sparc/tm-sparc.h (FIX_CALL_DUMMY): Mask off displacement
to 30 bits in call insn to handle --enable-64-bit-bfd.
Diffstat (limited to 'gdb/config/sparc')
-rw-r--r--gdb/config/sparc/tm-sparc.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/config/sparc/tm-sparc.h b/gdb/config/sparc/tm-sparc.h
index b428657..1e74e4d 100644
--- a/gdb/config/sparc/tm-sparc.h
+++ b/gdb/config/sparc/tm-sparc.h
@@ -583,7 +583,8 @@ arguments. */
#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \
{ \
store_unsigned_integer (dummyname + 168, 4, \
- 0x40000000 | ((fun - (pc + 168)) >> 2)); \
+ (0x40000000 \
+ | (((fun - (pc + 168)) >> 2) & 0x3fffffff))); \
if (!gcc_p \
&& (TYPE_CODE (type) == TYPE_CODE_STRUCT \
|| TYPE_CODE (type) == TYPE_CODE_UNION)) \