Re: [1/3] Remove gdbarch-swapping of remote_address_masked

Ulrich Weigand
2007-06-22T12:52:56Z

> * remote.c (remote_address_masked): If remote_address_size is zero,
> default to target address size.
> (build_remote_gdbarch_data): Remove.
> (_initialize_remote): Do not swap remote_address_size.

I've now committed the following version of this patch.

Bye,
Ulrich

diff -urNp gdb-orig/gdb/remote.c gdb-head/gdb/remote.c
--- gdb-orig/gdb/remote.c 2007-06-14 14:56:59.063426000 +0200
+++ gdb-head/gdb/remote.c 2007-06-14 15:01:54.131761491 +0200
@@ -85,8 +85,6 @@ static void handle_remote_sigint_twice (
static void async_remote_interrupt (gdb_client_data);
void async_remote_interrupt_twice (gdb_client_data);

-static void build_remote_gdbarch_data (void);
-
static void remote_files_info (struct target_ops *ignore);

static void remote_prepare_to_store (struct regcache *regcache);
@@ -3926,13 +3924,18 @@ hexnumnstr (char *buf, ULONGEST num, int
static CORE_ADDR
remote_address_masked (CORE_ADDR addr)
{
- if (remote_address_size > 0
- && remote_address_size < (sizeof (ULONGEST) * 8))
+ int address_size = remote_address_size;
+ /* If "remoteaddresssize" was not set, default to target address size. */
+ if (!address_size)
+ address_size = gdbarch_addr_bit (current_gdbarch);
+
+ if (address_size > 0
+ && address_size < (sizeof (ULONGEST) * 8))
{
/* Only create a mask when that mask can safely be constructed
in a ULONGEST variable. */
ULONGEST mask = 1;
- mask = (mask << remote_address_size) - 1;
+ mask = (mask << address_size) - 1;
addr &= mask;
}
return addr;
@@ -6408,11 +6411,6 @@ show_remote_cmd (char *args, int from_tt
do_cleanups (showlist_chain);
}

-static void
-build_remote_gdbarch_data (void)
-{
- remote_address_size = gdbarch_addr_bit (current_gdbarch);
-}

/* Function to be called whenever a new objfile (shlib) is detected. */
static void
@@ -6433,11 +6431,6 @@ _initialize_remote (void)
remote_g_packet_data_handle =
gdbarch_data_register_pre_init (remote_g_packet_data_init);

- /* Old tacky stuff. NOTE: This comes after the remote protocol so
- that the remote protocol has been initialized. */
- DEPRECATED_REGISTER_GDBARCH_SWAP (remote_address_size);
- deprecated_register_gdbarch_swap (NULL, 0, build_remote_gdbarch_data);
-
/* Initialize the per-target state. At the moment there is only one
of these, not one per target. Only one target is active at a
time. The default buffer size is unimportant; it will be expanded