From 8743fc885f33a57c09d1822b6fd5d6f6cc99ec9b Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Sun, 29 Nov 1998 07:41:36 +0000 Subject: CARP: Convert ADDR_BITS_REMOVE to a function. --- gdb/m88k-tdep.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'gdb/m88k-tdep.c') diff --git a/gdb/m88k-tdep.c b/gdb/m88k-tdep.c index f74560e1d83..7a755082a6d 100644 --- a/gdb/m88k-tdep.c +++ b/gdb/m88k-tdep.c @@ -36,6 +36,21 @@ void frame_find_saved_regs (); int target_is_m88110 = 0; +/* The m88k kernel aligns all instructions on 4-byte boundaries. The + kernel also uses the least significant two bits for its own hocus + pocus. When gdb receives an address from the kernel, it needs to + preserve those right-most two bits, but gdb also needs to be careful + to realize that those two bits are not really a part of the address + of an instruction. Shrug. */ + +CORE_ADDR +m88k_addr_bits_remove (addr) + CORE_ADDR addr; +{ + return ((addr) & ~3); +} + + /* Given a GDB frame, determine the address of the calling function's frame. This will be used to create a new GDB frame struct, and then INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC will be called for the new frame. -- cgit v1.2.1