* printcmd.c (print_scalar_formatted): Move masking of 'a' address
from here. (print_address_numeric): To here. * TODO: Update.
This commit is contained in:
parent
d730266bb0
commit
e2ad119d2f
@ -1,3 +1,10 @@
|
||||
Tue Jul 11 18:32:40 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
||||
|
||||
* printcmd.c (print_scalar_formatted): Move masking of 'a' address
|
||||
from here.
|
||||
(print_address_numeric): To here.
|
||||
* TODO: Update.
|
||||
|
||||
Tue Jul 11 17:50:31 2000 Andrew Cagney <cagney@b1.cygnus.com>
|
||||
|
||||
* symtab.c: Use paddr_nz() to print addresses.
|
||||
|
9
gdb/TODO
9
gdb/TODO
@ -115,6 +115,15 @@ determine the default isa/byte-order.
|
||||
Rely on BFD_BIG_ENDIAN and BFD_LITTLE_ENDIAN instead of host dependant
|
||||
BIG_ENDIAN and LITTLE_ENDIAN.
|
||||
|
||||
--
|
||||
|
||||
printcmd.c (print_address_numeric):
|
||||
|
||||
NOTE: This assumes that the significant address information is kept in
|
||||
the least significant bits of ADDR - the upper bits were either zero
|
||||
or sign extended. Should ADDRESS_TO_POINTER() or some
|
||||
ADDRESS_TO_PRINTABLE() be used to do the conversion?
|
||||
|
||||
--
|
||||
|
||||
Code Cleanups: General
|
||||
|
@ -1,5 +1,7 @@
|
||||
/* Print values for GNU debugger GDB.
|
||||
Copyright 1986-1991, 1993-1995, 1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993, 1994, 1995,
|
||||
1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
@ -445,14 +447,7 @@ print_scalar_formatted (valaddr, type, format, size, stream)
|
||||
|
||||
case 'a':
|
||||
{
|
||||
/* Truncate address to the size of a target pointer, avoiding
|
||||
shifts larger or equal than the width of a CORE_ADDR. The
|
||||
local variable PTR_BIT stops the compiler reporting a shift
|
||||
overflow when it won't occure. */
|
||||
CORE_ADDR addr = unpack_pointer (type, valaddr);
|
||||
int ptr_bit = TARGET_PTR_BIT;
|
||||
if (ptr_bit < (sizeof (CORE_ADDR) * HOST_CHAR_BIT))
|
||||
addr &= ((CORE_ADDR) 1 << ptr_bit) - 1;
|
||||
print_address (addr, stream);
|
||||
}
|
||||
break;
|
||||
@ -740,8 +735,17 @@ print_address_numeric (addr, use_local, stream)
|
||||
int use_local;
|
||||
struct ui_file *stream;
|
||||
{
|
||||
/* This assumes a CORE_ADDR can fit in a LONGEST. Probably a safe
|
||||
assumption. */
|
||||
/* Truncate address to the size of a target pointer, avoiding shifts
|
||||
larger or equal than the width of a CORE_ADDR. The local
|
||||
variable PTR_BIT stops the compiler reporting a shift overflow
|
||||
when it won't occure. */
|
||||
/* NOTE: This assumes that the significant address information is
|
||||
kept in the least significant bits of ADDR - the upper bits were
|
||||
either zero or sign extended. Should ADDRESS_TO_POINTER() or
|
||||
some ADDRESS_TO_PRINTABLE() be used to do the conversion? */
|
||||
int ptr_bit = TARGET_PTR_BIT;
|
||||
if (ptr_bit < (sizeof (CORE_ADDR) * HOST_CHAR_BIT))
|
||||
addr &= ((CORE_ADDR) 1 << ptr_bit) - 1;
|
||||
print_longest (stream, 'x', use_local, (ULONGEST) addr);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user