This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
20010306 snapshot - no arch on rs6000-ibm-aix4.2.0.0
- To: gdb at sources dot redhat dot com
- Subject: 20010306 snapshot - no arch on rs6000-ibm-aix4.2.0.0
- From: RDBrown at mira dot net
- Date: Mon, 12 Mar 2001 10:11:57 +1100 (EST)
- Reply-To: RDBrown at mira dot net,RodneyBrown at mynd dot com
The 20010306 snapshot doesn't give a working gdb on rs6000-ibm-aix4.2.0.0
because rs6000_gdbarch_init calls gdbarch_alloc without having populated
gdbarch_data_registry.
$ /devel/tmp/gdb-4.95.1.obj/gdb/gdb ./gdb
GNU gdb 4.95.1
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "rs6000-ibm-aix4.2.0.0"...
Setting up the environment for debugging gdb.
Breakpoint 1 at 0x1001a734: file ../../gdb+dejagnu-20010306/gdb/utils.c, line 741.
Breakpoint 2 at 0x100ae484: file ../../gdb+dejagnu-20010306/gdb/cli/cli-cmds.c, line 186.
(top-gdb) r
Starting program: /devel/tmp/gdb+dejagnu-20010306.obj/gdb/./gdb
Breakpoint 1, internal_error (
file=0x10199144 "../../gdb+dejagnu-20010306/gdb/utils.c", line=1012,
string=0x1019932c "virtual memory exhausted.")
at ../../gdb+dejagnu-20010306/gdb/utils.c:741
741 internal_verror (file, line, string, ap);
(top-gdb) bt
#0 internal_error (file=0x10199144 "../../gdb+dejagnu-20010306/gdb/utils.c",
line=1012, string=0x1019932c "virtual memory exhausted.")
at ../../gdb+dejagnu-20010306/gdb/utils.c:741
#1 0x1001ad3c in nomem (size=0) at ../../gdb+dejagnu-20010306/gdb/utils.c:1012
#2 0x1001aedc in xcalloc (number=0, size=4)
at ../../gdb+dejagnu-20010306/gdb/utils.c:1076
#3 0x10070254 in alloc_gdbarch_data (gdbarch=0x2005bad8)
at ../../gdb+dejagnu-20010306/gdb/gdbarch.c:4229
#4 0x10066f4c in gdbarch_alloc (info=0x2ff228a8, tdep=0x200582e8)
at ../../gdb+dejagnu-20010306/gdb/gdbarch.c:393
#5 0x10135a68 in rs6000_gdbarch_init (info={
bfd_architecture = bfd_arch_rs6000, bfd_arch_info = 0x20000390,
byte_order = 4321, abfd = 0x0, tdep_info = 0x0}, arches=0x0)
at ../../gdb+dejagnu-20010306/gdb/rs6000-tdep.c:2174
#6 0x10070e4c in gdbarch_update_p (info={bfd_architecture = bfd_arch_rs6000,
bfd_arch_info = 0x20000390, byte_order = 4321, abfd = 0x0,
tdep_info = 0x0}) at ../../gdb+dejagnu-20010306/gdb/gdbarch.c:4579
#7 0x10071f08 in initialize_current_architecture ()
at ../../gdb+dejagnu-20010306/gdb/arch-utils.c:685
#8 0x1000169c in gdb_init (
argv0=0x2ff22d48 "/devel/tmp/gdb+dejagnu-20010306.obj/gdb/./gdb")
at ../../gdb+dejagnu-20010306/gdb/top.c:685
#9 0x10000980 in captured_main (data=0x10199144)
at ../../gdb+dejagnu-20010306/gdb/main.c:499
#10 0x100012ac in catch_errors (func=0x2001f940 <__dbargs+16264>,
args=0x2ff22c88, errstring=0x1019932c "virtual memory exhausted.", mask=6)
at ../../gdb+dejagnu-20010306/gdb/top.c:485
#11 0x10000f6c in main (argc=1, argv=0x2ff22cec)
at ../../gdb+dejagnu-20010306/gdb/main.c:763
#12 0x100001c8 in __start ()
(top-gdb) up 3
#3 0x10070254 in alloc_gdbarch_data (gdbarch=0x2005bad8)
at ../../gdb+dejagnu-20010306/gdb/gdbarch.c:4229
4229 gdbarch->data = xcalloc (gdbarch->nr_data, sizeof (void*));
(top-gdb) l
4224 static void
4225 alloc_gdbarch_data (struct gdbarch *gdbarch)
4226 {
4227 gdb_assert (gdbarch->data == NULL);
4228 gdbarch->nr_data = gdbarch_data_registry.nr;
4229 gdbarch->data = xcalloc (gdbarch->nr_data, sizeof (void*));
4230 }
4231
4232 static void
4233 free_gdbarch_data (struct gdbarch *gdbarch)
(top-gdb) p gdbarch->nr_data
$1 = 0
(top-gdb) p *gdbarch
$2 = {bfd_arch_info = 0x0, byte_order = 0, tdep = 0x0, dump_tdep = 0,
nr_data = 0, data = 0x0, swap = 0x0, short_bit = 0, int_bit = 0,
long_bit = 0, long_long_bit = 0, float_bit = 0, double_bit = 0,
long_double_bit = 0, ptr_bit = 0, addr_bit = 0, bfd_vma_bit = 0,
ieee_float = 0, read_pc = 0, write_pc = 0, read_fp = 0, write_fp = 0,
read_sp = 0, write_sp = 0, num_regs = 0, num_pseudo_regs = 0, sp_regnum = 0,
fp_regnum = 0, pc_regnum = 0, fp0_regnum = 0, npc_regnum = 0,
nnpc_regnum = 0, stab_reg_to_regnum = 0, ecoff_reg_to_regnum = 0,
dwarf_reg_to_regnum = 0, sdb_reg_to_regnum = 0, dwarf2_reg_to_regnum = 0,
register_name = 0, register_size = 0, register_bytes = 0, register_byte = 0,
register_raw_size = 0, max_register_raw_size = 0, register_virtual_size = 0,
max_register_virtual_size = 0, register_virtual_type = 0,
do_registers_info = 0, register_sim_regno = 0, register_bytes_ok = 0,
use_generic_dummy_frames = 0, call_dummy_location = 0,
call_dummy_address = 0, call_dummy_start_offset = 0,
call_dummy_breakpoint_offset = 0, call_dummy_breakpoint_offset_p = 0,
call_dummy_length = 0, pc_in_call_dummy = 0, call_dummy_p = 0,
call_dummy_words = 0x0, sizeof_call_dummy_words = 0,
call_dummy_stack_adjust_p = 0, call_dummy_stack_adjust = 0,
fix_call_dummy = 0, believe_pcc_promotion = 0,
believe_pcc_promotion_type = 0, coerce_float_to_double = 0,
get_saved_register = 0, register_convertible = 0,
register_convert_to_virtual = 0, register_convert_to_raw = 0,
fetch_pseudo_register = 0, store_pseudo_register = 0,
pointer_to_address = 0, address_to_pointer = 0, return_value_on_stack = 0,
extract_return_value = 0, push_arguments = 0, push_dummy_frame = 0,
push_return_address = 0, pop_frame = 0, d10v_make_daddr = 0,
d10v_make_iaddr = 0, d10v_daddr_p = 0, d10v_iaddr_p = 0,
d10v_convert_daddr_to_raw = 0, d10v_convert_iaddr_to_raw = 0,
store_struct_return = 0, store_return_value = 0,
extract_struct_value_address = 0, use_struct_convention = 0,
frame_init_saved_regs = 0, init_extra_frame_info = 0, skip_prologue = 0,
prologue_frameless_p = 0, inner_than = 0, breakpoint_from_pc = 0,
memory_insert_breakpoint = 0, memory_remove_breakpoint = 0,
decr_pc_after_break = 0, function_start_offset = 0,
remote_translate_xfer_address = 0, frame_args_skip = 0,
frameless_function_invocation = 0, frame_chain = 0, frame_chain_valid = 0,
frame_saved_pc = 0, frame_args_address = 0, frame_locals_address = 0,
saved_pc_after_call = 0, frame_num_args = 0, stack_align = 0,
extra_stack_alignment_needed = 0, reg_struct_has_addr = 0,
save_dummy_frame_tos = 0, parm_boundary = 0, float_format = 0x0,
double_format = 0x0, long_double_format = 0x0,
convert_from_func_ptr_addr = 0}
(top-gdb)
(top-gdb) p gdbarch_data_registry
$3 = {nr = 0, registrations = 0x0}
(top-gdb) bt 5
#0 internal_error (file=0x10199144 "../../gdb+dejagnu-20010306/gdb/utils.c",
line=1012, string=0x1019932c "virtual memory exhausted.")
at ../../gdb+dejagnu-20010306/gdb/utils.c:741
#1 0x1001ad3c in nomem (size=0) at ../../gdb+dejagnu-20010306/gdb/utils.c:1012
#2 0x1001aedc in xcalloc (number=0, size=4)
at ../../gdb+dejagnu-20010306/gdb/utils.c:1076
#3 0x10070254 in alloc_gdbarch_data (gdbarch=0x2005bad8)
at ../../gdb+dejagnu-20010306/gdb/gdbarch.c:4229
#4 0x10066f4c in gdbarch_alloc (info=0x2ff228a8, tdep=0x200582e8)
at ../../gdb+dejagnu-20010306/gdb/gdbarch.c:393
(More stack frames follow...)
(top-gdb) up 3
#6 0x10070e4c in gdbarch_update_p (info={bfd_architecture = bfd_arch_rs6000,
bfd_arch_info = 0x20000390, byte_order = 4321, abfd = 0x0,
tdep_info = 0x0}) at ../../gdb+dejagnu-20010306/gdb/gdbarch.c:4579
4579 new_gdbarch = rego->init (info, rego->arches);
(top-gdb) up 1
#7 0x10071f08 in initialize_current_architecture ()
at ../../gdb+dejagnu-20010306/gdb/arch-utils.c:685
685 if (! gdbarch_update_p (info))
(top-gdb) up 1
#8 0x1000169c in gdb_init (
argv0=0x2ff22d48 "/devel/tmp/gdb+dejagnu-20010306.obj/gdb/./gdb")
at ../../gdb+dejagnu-20010306/gdb/top.c:685
685 initialize_current_architecture ();
(top-gdb) down 3
#5 0x10135a68 in rs6000_gdbarch_init (info={
bfd_architecture = bfd_arch_rs6000, bfd_arch_info = 0x20000390,
byte_order = 4321, abfd = 0x0, tdep_info = 0x0}, arches=0x0)
at ../../gdb+dejagnu-20010306/gdb/rs6000-tdep.c:2174
2174 gdbarch = gdbarch_alloc (&info, tdep);
(top-gdb) l
2169 info.bfd_arch_info = bfd_get_arch_info (&abfd);
2170 }
2171 tdep = xmalloc (sizeof (struct gdbarch_tdep));
2172 tdep->wordsize = wordsize;
2173 tdep->osabi = osabi;
2174 gdbarch = gdbarch_alloc (&info, tdep);
2175 power = arch == bfd_arch_rs6000;
2176
2177 /* Select instruction printer. */
2178 tm_print_insn = arch == power ? print_insn_rs6000 :
(top-gdb) p info
$4 = {bfd_architecture = bfd_arch_rs6000, bfd_arch_info = 0x20000390,
byte_order = 4321, abfd = 0x0, tdep_info = 0x0}
(top-gdb) c
Continuing.
../../gdb+dejagnu-20010306/gdb/utils.c:1012: gdb-internal-error: virtual memory exhausted.
An internal GDB error was detected. This may make further
debugging unreliable. Continue this debugging session? (y or n) n
Create a core file containing the current state of GDB? (y or n) n
Program exited with code 01.
(top-gdb) q