When adding to the below you must also: declare/define set/get
value functions; override the corresponding macro in gdbarch.h;
- initialize the value in gdbarch_alloc() (if zero is an unsuitable
- default); confirm that the target updated the value correctly in
- verify_gdbarch(); add a fprintf_unfiltered call to
+ if zero/NULL is not a suitable default, initialize the field in
+ gdbarch_alloc(); confirm that the target updated the value
+ correctly in verify_gdbarch(); add a fprintf_unfiltered call to
gdbarch_update() so that the new field is dumped out; append an
- initial value to the static variable DEFAULT_GDBARCH (base values
- on the host's c-type system). */
+ initial value to the static variable ``default_gdbarch'' (base
+ values on the host's c-type system). */
int long_bit;
int long_long_bit;
}
/* log it */
if (gdbarch_debug)
- fprintf_unfiltered (stderr, "register_gdbarch_init (%s, 0x%08lx)\n",
+ fprintf_unfiltered (gdb_stderr, "register_gdbarch_init (%s, 0x%08lx)\n",
bfd_arch_info->printable_name,
(long) init);
/* Append it */
if (rego == NULL)
{
if (gdbarch_debug)
- fprintf_unfiltered (stderr, "gdbarch_update: No matching architecture\n");
+ fprintf_unfiltered (gdb_stderr, "gdbarch_update: No matching architecture\n");
return 0;
}
+ if (gdbarch_debug)
+ {
+ fprintf_unfiltered (gdb_stderr,
+ "gdbarch_update: info.bfd_architecture %d (%s)\n",
+ info.bfd_architecture,
+ bfd_lookup_arch (info.bfd_architecture, 0)->printable_name);
+ fprintf_unfiltered (gdb_stderr,
+ "gdbarch_update: info.bfd_arch_info %s\n",
+ (info.bfd_arch_info != NULL
+ ? info.bfd_arch_info->printable_name
+ : "(null)"));
+ fprintf_unfiltered (gdb_stderr,
+ "gdbarch_update: info.byte_order %d (%s)\n",
+ info.byte_order,
+ (info.byte_order == BIG_ENDIAN ? "big"
+ : info.byte_order == LITTLE_ENDIAN ? "little"
+ : "default"));
+ fprintf_unfiltered (gdb_stderr,
+ "gdbarch_update: info.abfd 0x%lx\n",
+ (long) info.abfd);
+ fprintf_unfiltered (gdb_stderr,
+ "gdbarch_update: info.tdep_info 0x%lx\n",
+ (long) info.tdep_info);
+ }
+
/* Ask the target for a replacement architecture. */
- new_gdbarch = rego->init (&info, rego->arches);
+ new_gdbarch = rego->init (info, rego->arches);
/* Did the target like it? No. Reject the change. */
if (new_gdbarch == NULL)
{
if (gdbarch_debug)
- fprintf_unfiltered (stderr, "gdbarch_update: Target rejected architecture\n");
+ fprintf_unfiltered (gdb_stderr, "gdbarch_update: Target rejected architecture\n");
return 0;
}
if (current_gdbarch == new_gdbarch)
{
if (gdbarch_debug)
- fprintf_unfiltered (stderr, "gdbarch_update: Architecture 0x%08lx (%s) unchanged\n",
+ fprintf_unfiltered (gdb_stderr, "gdbarch_update: Architecture 0x%08lx (%s) unchanged\n",
(long) new_gdbarch,
new_gdbarch->bfd_arch_info->printable_name);
return 1;
if ((*list)->gdbarch == new_gdbarch)
{
if (gdbarch_debug)
- fprintf_unfiltered (stderr, "gdbarch_update: Previous architecture 0x%08lx (%s) selected\n",
+ fprintf_unfiltered (gdb_stderr, "gdbarch_update: Previous architecture 0x%08lx (%s) selected\n",
(long) new_gdbarch,
new_gdbarch->bfd_arch_info->printable_name);
current_gdbarch = new_gdbarch;
current_gdbarch = new_gdbarch;
if (gdbarch_debug)
{
- fprintf_unfiltered (stderr, "gdbarch_update: New architecture 0x%08lx (%s) selected\n",
+ fprintf_unfiltered (gdb_stderr,
+ "gdbarch_update: New architecture 0x%08lx (%s) selected\n",
(long) new_gdbarch,
new_gdbarch->bfd_arch_info->printable_name);
- fprintf_unfiltered (stderr, "TARGET_BYTE_ORDER = %d\n", TARGET_BYTE_ORDER);
- fprintf_unfiltered (stderr, "TARGET_LONG_BIT = %d\n", TARGET_LONG_BIT);
- fprintf_unfiltered (stderr, "TARGET_LONG_LONG_BIT = %d\n", TARGET_LONG_LONG_BIT);
- fprintf_unfiltered (stderr, "TARGET_PTR_BIT = %d\n", TARGET_PTR_BIT);
+ fprintf_unfiltered (gdb_stderr,
+ "gdbarch_update: TARGET_BYTE_ORDER = %d (%s)\n",
+ TARGET_BYTE_ORDER,
+ (TARGET_BYTE_ORDER == BIG_ENDIAN ? "big"
+ : TARGET_BYTE_ORDER == LITTLE_ENDIAN ? "little"
+ : "default"));
+ fprintf_unfiltered (gdb_stderr,
+ "gdbarch_update: TARGET_LONG_BIT = %d\n",
+ TARGET_LONG_BIT);
+ fprintf_unfiltered (gdb_stderr,
+ "gdbarch_update: TARGET_LONG_LONG_BIT = %d\n",
+ TARGET_LONG_LONG_BIT);
+ fprintf_unfiltered (gdb_stderr,
+ "gdbarch_update: TARGET_PTR_BIT = %d\n",
+ TARGET_PTR_BIT);
}
/* Check that the newly installed architecture is valid. */