* Problem with deprecated_select_gdbarch_hack
@ 2003-11-04 0:01 J. Johnston
2003-11-04 0:38 ` Marcel Moolenaar
0 siblings, 1 reply; 3+ messages in thread
From: J. Johnston @ 2003-11-04 0:01 UTC (permalink / raw)
To: kettenis; +Cc: gdb
[-- Attachment #1: Type: text/plain, Size: 377 bytes --]
Mark,
The current mainline gdb fails for ia64 linux due to an assertion in
deprecated_select_gdbarch_hack(). I noticed you added this code recently. I
have attached a scripted session with set debug arch 1. Can you verify if the
debug messages indicate any unanticipated path through your code? I am just
trying to debug a simple "hello world" program.
-- Jeff J.
[-- Attachment #2: typescript --]
[-- Type: text/plain, Size: 31546 bytes --]
Script started on Mon 03 Nov 2003 06:52:46 PM EST
^[[m\x0f^[[27m^[[24m^[[J[jjohnstn@tonic]~/gdb-patches/baselevel/build/ia64/gdb/testsuite/gdb.base% ^[[K.\b../..
^[[K/
/gdb -nw
GNU gdb 2003-11-03-cvs
Copyright 2003 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 "ia64-unknown-linux-gnu".
(gdb) set debug arch 1
(gdb) file a.out
gdbarch_update: info.bfd_arch_info ia64-elf64
gdbarch_update: info.byte_order 1 (little)
gdbarch_update: info.osabi 5 (GNU/Linux)
gdbarch_update: info.abfd 0x60000000000f16b0
gdbarch_update: info.tdep_info 0x0
gdbarch_update: New architecture 0x6000000000102590 (ia64-elf64) selected
gdbarch_dump: GDB_MULTI_ARCH = 1
gdbarch_dump: convert_from_func_ptr_addr = 0x40000000006da000
gdbarch_dump: gdbarch_frame_align_p() = 1
gdbarch_dump: frame_align = 0x40000000006da380
gdbarch_dump: gdbarch_regset_from_core_section_p() = 0
gdbarch_dump: regset_from_core_section = 0x00000000
gdbarch_dump: gdbarch_return_value_p() = 0
gdbarch_dump: return_value = 0x00000000
gdbarch_dump: in_function_epilogue_p = 0x200000000003acb8
gdbarch_dump: register_reggroup_p = 0x200000000003ca78
gdbarch_dump: stabs_argument_has_addr = 0x200000000003ac98
gdbarch_dump: gdbarch_pseudo_register_read_p() = 1
gdbarch_dump: pseudo_register_read = 0x40000000006db340
gdbarch_dump: gdbarch_pseudo_register_write_p() = 1
gdbarch_dump: pseudo_register_write = 0x40000000006dcc60
gdbarch_dump: gdbarch_address_class_name_to_type_flags_p() = 0
gdbarch_dump: address_class_name_to_type_flags = 0x00000000
gdbarch_dump: ADDRESS_CLASS_TYPE_FLAGS_P() # (gdbarch_address_class_type_flags_p (current_gdbarch))
gdbarch_dump: ADDRESS_CLASS_TYPE_FLAGS_P() = 0
gdbarch_dump: ADDRESS_CLASS_TYPE_FLAGS(byte_size, dwarf2_addr_class) # (gdbarch_address_class_type_flags (current_gdbarch, byte_size, dwarf2_addr_class))
gdbarch_dump: ADDRESS_CLASS_TYPE_FLAGS = <0x00000000>
gdbarch_dump: gdbarch_address_class_type_flags_to_name_p() = 0
gdbarch_dump: address_class_type_flags_to_name = 0x00000000
gdbarch_dump: ADDRESS_TO_POINTER(type, buf, addr) # (gdbarch_address_to_pointer (current_gdbarch, type, buf, addr))
gdbarch_dump: ADDRESS_TO_POINTER = <0x200000000003c658>
gdbarch_dump: ADDR_BITS_REMOVE(addr) # (gdbarch_addr_bits_remove (current_gdbarch, addr))
gdbarch_dump: ADDR_BITS_REMOVE = <0x200000000003ce38>
gdbarch_dump: gdbarch_adjust_breakpoint_address_p() = 0
gdbarch_dump: adjust_breakpoint_address = 0x00000000
gdbarch_dump: BELIEVE_PCC_PROMOTION # (gdbarch_believe_pcc_promotion (current_gdbarch))
gdbarch_dump: BELIEVE_PCC_PROMOTION = 0
gdbarch_dump: BELIEVE_PCC_PROMOTION_TYPE # (gdbarch_believe_pcc_promotion_type (current_gdbarch))
gdbarch_dump: BELIEVE_PCC_PROMOTION_TYPE = 0
gdbarch_dump: BREAKPOINT_FROM_PC(pcptr, lenptr) # (gdbarch_breakpoint_from_pc (current_gdbarch, pcptr, lenptr))
gdbarch_dump: BREAKPOINT_FROM_PC = <0x40000000006d8ec0>
gdbarch_dump: CALL_DUMMY_LOCATION # (gdbarch_call_dummy_location (current_gdbarch))
gdbarch_dump: CALL_DUMMY_LOCATION = 4
gdbarch_dump: CANNOT_FETCH_REGISTER(regnum) # ia64_cannot_fetch_register(regnum)
gdbarch_dump: CANNOT_FETCH_REGISTER = <0x200000000003c3b8>
gdbarch_dump: CANNOT_STEP_BREAKPOINT # (gdbarch_cannot_step_breakpoint (current_gdbarch))
gdbarch_dump: CANNOT_STEP_BREAKPOINT = 0
gdbarch_dump: CANNOT_STORE_REGISTER(regnum) # ia64_cannot_store_register(regnum)
gdbarch_dump: CANNOT_STORE_REGISTER = <0x200000000003c3b8>
gdbarch_dump: COFF_MAKE_MSYMBOL_SPECIAL(val, msym) # (gdbarch_coff_make_msymbol_special (current_gdbarch, val, msym))
gdbarch_dump: COFF_MAKE_MSYMBOL_SPECIAL = <0x200000000003cbe8>
gdbarch_dump: construct_inferior_arguments = 0x200000000003acc8
gdbarch_dump: CONVERT_REGISTER_P(regnum, type) # (gdbarch_convert_register_p (current_gdbarch, regnum, type))
gdbarch_dump: CONVERT_REGISTER_P = <0x40000000006dae90>
gdbarch_dump: DECR_PC_AFTER_BREAK # (gdbarch_decr_pc_after_break (current_gdbarch))
gdbarch_dump: DECR_PC_AFTER_BREAK = 0
gdbarch_dump: DEPRECATED_CALL_DUMMY_ADDRESS_P() # (gdbarch_deprecated_call_dummy_address_p (current_gdbarch))
gdbarch_dump: DEPRECATED_CALL_DUMMY_ADDRESS_P() = 0
gdbarch_dump: DEPRECATED_CALL_DUMMY_ADDRESS() # (gdbarch_deprecated_call_dummy_address (current_gdbarch))
gdbarch_dump: DEPRECATED_CALL_DUMMY_ADDRESS = <0x00000000>
gdbarch_dump: DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET # (gdbarch_deprecated_call_dummy_breakpoint_offset (current_gdbarch))
gdbarch_dump: DEPRECATED_CALL_DUMMY_BREAKPOINT_OFFSET = 0
gdbarch_dump: DEPRECATED_CALL_DUMMY_LENGTH # (gdbarch_deprecated_call_dummy_length (current_gdbarch))
gdbarch_dump: DEPRECATED_CALL_DUMMY_LENGTH = 0
gdbarch_dump: DEPRECATED_CALL_DUMMY_STACK_ADJUST_P() # (gdbarch_deprecated_call_dummy_stack_adjust_p (current_gdbarch))
gdbarch_dump: DEPRECATED_CALL_DUMMY_STACK_ADJUST_P() = 0
gdbarch_dump: DEPRECATED_CALL_DUMMY_STACK_ADJUST # (gdbarch_deprecated_call_dummy_stack_adjust (current_gdbarch))
gdbarch_dump: DEPRECATED_CALL_DUMMY_STACK_ADJUST = 0
gdbarch_dump: DEPRECATED_CALL_DUMMY_START_OFFSET # (gdbarch_deprecated_call_dummy_start_offset (current_gdbarch))
gdbarch_dump: DEPRECATED_CALL_DUMMY_START_OFFSET = 0
gdbarch_dump: DEPRECATED_CALL_DUMMY_WORDS # (gdbarch_deprecated_call_dummy_words (current_gdbarch))
gdbarch_dump: DEPRECATED_CALL_DUMMY_WORDS = 0x600000000004f9b0
gdbarch_dump: DEPRECATED_DO_REGISTERS_INFO_P() # (gdbarch_deprecated_do_registers_info_p (current_gdbarch))
gdbarch_dump: DEPRECATED_DO_REGISTERS_INFO_P() = 0
gdbarch_dump: DEPRECATED_DO_REGISTERS_INFO(reg_nr, fpregs) # (gdbarch_deprecated_do_registers_info (current_gdbarch, reg_nr, fpregs))
gdbarch_dump: DEPRECATED_DO_REGISTERS_INFO = <0x00000000>
gdbarch_dump: DEPRECATED_DUMMY_WRITE_SP_P() # (gdbarch_deprecated_dummy_write_sp_p (current_gdbarch))
gdbarch_dump: DEPRECATED_DUMMY_WRITE_SP_P() = 0
gdbarch_dump: DEPRECATED_DUMMY_WRITE_SP(val) # (gdbarch_deprecated_dummy_write_sp (current_gdbarch, val))
gdbarch_dump: DEPRECATED_DUMMY_WRITE_SP = <0x00000000>
gdbarch_dump: DEPRECATED_EXTRACT_RETURN_VALUE(type, regbuf, valbuf) # (gdbarch_deprecated_extract_return_value (current_gdbarch, type, regbuf, valbuf))
gdbarch_dump: DEPRECATED_EXTRACT_RETURN_VALUE = <0x00000000>
gdbarch_dump: DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P() # (gdbarch_deprecated_extract_struct_value_address_p (current_gdbarch))
gdbarch_dump: DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P() = 0
gdbarch_dump: DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(regbuf) # (gdbarch_deprecated_extract_struct_value_address (current_gdbarch, regbuf))
gdbarch_dump: DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS = <0x00000000>
gdbarch_dump: DEPRECATED_EXTRA_STACK_ALIGNMENT_NEEDED # (gdbarch_deprecated_extra_stack_alignment_needed (current_gdbarch))
gdbarch_dump: DEPRECATED_EXTRA_STACK_ALIGNMENT_NEEDED = 0
gdbarch_dump: DEPRECATED_FIX_CALL_DUMMY_P() # (gdbarch_deprecated_fix_call_dummy_p (current_gdbarch))
gdbarch_dump: DEPRECATED_FIX_CALL_DUMMY_P() = 0
gdbarch_dump: DEPRECATED_FIX_CALL_DUMMY(dummy, pc, fun, nargs, args, type, gcc_p) # (gdbarch_deprecated_fix_call_dummy (current_gdbarch, dummy, pc, fun, nargs, args, type, gcc_p))
gdbarch_dump: DEPRECATED_FIX_CALL_DUMMY = <0x00000000>
gdbarch_dump: DEPRECATED_FP_REGNUM # (gdbarch_deprecated_fp_regnum (current_gdbarch))
gdbarch_dump: DEPRECATED_FP_REGNUM = -1
gdbarch_dump: DEPRECATED_FRAME_ARGS_ADDRESS_P() # (gdbarch_deprecated_frame_args_address_p (current_gdbarch))
gdbarch_dump: DEPRECATED_FRAME_ARGS_ADDRESS_P() = 0
gdbarch_dump: DEPRECATED_FRAME_ARGS_ADDRESS(fi) # (gdbarch_deprecated_frame_args_address (current_gdbarch, fi))
gdbarch_dump: DEPRECATED_FRAME_ARGS_ADDRESS = <0x200000000003ac88>
gdbarch_dump: DEPRECATED_FRAME_CHAIN_P() # (gdbarch_deprecated_frame_chain_p (current_gdbarch))
gdbarch_dump: DEPRECATED_FRAME_CHAIN_P() = 0
gdbarch_dump: DEPRECATED_FRAME_CHAIN(frame) # (gdbarch_deprecated_frame_chain (current_gdbarch, frame))
gdbarch_dump: DEPRECATED_FRAME_CHAIN = <0x00000000>
gdbarch_dump: DEPRECATED_FRAME_CHAIN_VALID_P() # (gdbarch_deprecated_frame_chain_valid_p (current_gdbarch))
gdbarch_dump: DEPRECATED_FRAME_CHAIN_VALID_P() = 0
gdbarch_dump: DEPRECATED_FRAME_CHAIN_VALID(chain, thisframe) # (gdbarch_deprecated_frame_chain_valid (current_gdbarch, chain, thisframe))
gdbarch_dump: DEPRECATED_FRAME_CHAIN_VALID = <0x00000000>
gdbarch_dump: DEPRECATED_FRAME_INIT_SAVED_REGS_P() # (gdbarch_deprecated_frame_init_saved_regs_p (current_gdbarch))
gdbarch_dump: DEPRECATED_FRAME_INIT_SAVED_REGS_P() = 0
gdbarch_dump: DEPRECATED_FRAME_INIT_SAVED_REGS(frame) # (gdbarch_deprecated_frame_init_saved_regs (current_gdbarch, frame))
gdbarch_dump: DEPRECATED_FRAME_INIT_SAVED_REGS = <0x00000000>
gdbarch_dump: DEPRECATED_FRAME_LOCALS_ADDRESS_P() # (gdbarch_deprecated_frame_locals_address_p (current_gdbarch))
gdbarch_dump: DEPRECATED_FRAME_LOCALS_ADDRESS_P() = 0
gdbarch_dump: DEPRECATED_FRAME_LOCALS_ADDRESS(fi) # (gdbarch_deprecated_frame_locals_address (current_gdbarch, fi))
gdbarch_dump: DEPRECATED_FRAME_LOCALS_ADDRESS = <0x200000000003ac88>
gdbarch_dump: DEPRECATED_FRAME_SAVED_PC_P() # (gdbarch_deprecated_frame_saved_pc_p (current_gdbarch))
gdbarch_dump: DEPRECATED_FRAME_SAVED_PC_P() = 0
gdbarch_dump: DEPRECATED_FRAME_SAVED_PC(fi) # (gdbarch_deprecated_frame_saved_pc (current_gdbarch, fi))
gdbarch_dump: DEPRECATED_FRAME_SAVED_PC = <0x00000000>
gdbarch_dump: DEPRECATED_GET_SAVED_REGISTER_P() # (gdbarch_deprecated_get_saved_register_p (current_gdbarch))
gdbarch_dump: DEPRECATED_GET_SAVED_REGISTER_P() = 0
gdbarch_dump: DEPRECATED_GET_SAVED_REGISTER(raw_buffer, optimized, addrp, frame, regnum, lval) # (gdbarch_deprecated_get_saved_register (current_gdbarch, raw_buffer, optimized, addrp, frame, regnum, lval))
gdbarch_dump: DEPRECATED_GET_SAVED_REGISTER = <0x00000000>
gdbarch_dump: DEPRECATED_INIT_EXTRA_FRAME_INFO_P() # (gdbarch_deprecated_init_extra_frame_info_p (current_gdbarch))
gdbarch_dump: DEPRECATED_INIT_EXTRA_FRAME_INFO_P() = 0
gdbarch_dump: DEPRECATED_INIT_EXTRA_FRAME_INFO(fromleaf, frame) # (gdbarch_deprecated_init_extra_frame_info (current_gdbarch, fromleaf, frame))
gdbarch_dump: DEPRECATED_INIT_EXTRA_FRAME_INFO = <0x00000000>
gdbarch_dump: DEPRECATED_INIT_FRAME_PC_P() # (gdbarch_deprecated_init_frame_pc_p (current_gdbarch))
gdbarch_dump: DEPRECATED_INIT_FRAME_PC_P() = 0
gdbarch_dump: DEPRECATED_INIT_FRAME_PC(fromleaf, prev) # (gdbarch_deprecated_init_frame_pc (current_gdbarch, fromleaf, prev))
gdbarch_dump: DEPRECATED_INIT_FRAME_PC = <0x00000000>
gdbarch_dump: DEPRECATED_INIT_FRAME_PC_FIRST_P() # (gdbarch_deprecated_init_frame_pc_first_p (current_gdbarch))
gdbarch_dump: DEPRECATED_INIT_FRAME_PC_FIRST_P() = 0
gdbarch_dump: DEPRECATED_INIT_FRAME_PC_FIRST(fromleaf, prev) # (gdbarch_deprecated_init_frame_pc_first (current_gdbarch, fromleaf, prev))
gdbarch_dump: DEPRECATED_INIT_FRAME_PC_FIRST = <0x00000000>
gdbarch_dump: DEPRECATED_MAX_REGISTER_RAW_SIZE_P() # (gdbarch_deprecated_max_register_raw_size_p (current_gdbarch))
gdbarch_dump: DEPRECATED_MAX_REGISTER_RAW_SIZE_P() = 0
gdbarch_dump: DEPRECATED_MAX_REGISTER_RAW_SIZE # (gdbarch_deprecated_max_register_raw_size (current_gdbarch))
gdbarch_dump: DEPRECATED_MAX_REGISTER_RAW_SIZE = 0
gdbarch_dump: DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P() # (gdbarch_deprecated_max_register_virtual_size_p (current_gdbarch))
gdbarch_dump: DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P() = 0
gdbarch_dump: DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE # (gdbarch_deprecated_max_register_virtual_size (current_gdbarch))
gdbarch_dump: DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE = 0
gdbarch_dump: DEPRECATED_NPC_REGNUM # (gdbarch_deprecated_npc_regnum (current_gdbarch))
gdbarch_dump: DEPRECATED_NPC_REGNUM = -1
gdbarch_dump: DEPRECATED_PC_IN_CALL_DUMMY_P() # (gdbarch_deprecated_pc_in_call_dummy_p (current_gdbarch))
gdbarch_dump: DEPRECATED_PC_IN_CALL_DUMMY_P() = 0
gdbarch_dump: DEPRECATED_PC_IN_CALL_DUMMY(pc, sp, frame_address) # (gdbarch_deprecated_pc_in_call_dummy (current_gdbarch, pc, sp, frame_address))
gdbarch_dump: DEPRECATED_PC_IN_CALL_DUMMY = <0x200000000003ac68>
gdbarch_dump: DEPRECATED_POP_FRAME_P() # (gdbarch_deprecated_pop_frame_p (current_gdbarch))
gdbarch_dump: DEPRECATED_POP_FRAME_P() = 0
gdbarch_dump: DEPRECATED_POP_FRAME(-) # (gdbarch_deprecated_pop_frame (current_gdbarch)) (-)
gdbarch_dump: DEPRECATED_POP_FRAME = <0x00000000>
gdbarch_dump: DEPRECATED_PUSH_ARGUMENTS_P() # (gdbarch_deprecated_push_arguments_p (current_gdbarch))
gdbarch_dump: DEPRECATED_PUSH_ARGUMENTS_P() = 0
gdbarch_dump: DEPRECATED_PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr) # (gdbarch_deprecated_push_arguments (current_gdbarch, nargs, args, sp, struct_return, struct_addr))
gdbarch_dump: DEPRECATED_PUSH_ARGUMENTS = <0x00000000>
gdbarch_dump: DEPRECATED_PUSH_DUMMY_FRAME_P() # (gdbarch_deprecated_push_dummy_frame_p (current_gdbarch))
gdbarch_dump: DEPRECATED_PUSH_DUMMY_FRAME_P() = 0
gdbarch_dump: DEPRECATED_PUSH_DUMMY_FRAME(-) # (gdbarch_deprecated_push_dummy_frame (current_gdbarch)) (-)
gdbarch_dump: DEPRECATED_PUSH_DUMMY_FRAME = <0x00000000>
gdbarch_dump: DEPRECATED_PUSH_RETURN_ADDRESS_P() # (gdbarch_deprecated_push_return_address_p (current_gdbarch))
gdbarch_dump: DEPRECATED_PUSH_RETURN_ADDRESS_P() = 0
gdbarch_dump: DEPRECATED_PUSH_RETURN_ADDRESS(pc, sp) # (gdbarch_deprecated_push_return_address (current_gdbarch, pc, sp))
gdbarch_dump: DEPRECATED_PUSH_RETURN_ADDRESS = <0x00000000>
gdbarch_dump: DEPRECATED_REGISTER_BYTE_P() # (gdbarch_deprecated_register_byte_p (current_gdbarch))
gdbarch_dump: DEPRECATED_REGISTER_BYTE_P() = 0
gdbarch_dump: DEPRECATED_REGISTER_BYTE(reg_nr) # (gdbarch_deprecated_register_byte (current_gdbarch, reg_nr))
gdbarch_dump: DEPRECATED_REGISTER_BYTE = <0x200000000003ac38>
gdbarch_dump: DEPRECATED_REGISTER_BYTES # (gdbarch_deprecated_register_bytes (current_gdbarch))
gdbarch_dump: DEPRECATED_REGISTER_BYTES = 0
gdbarch_dump: DEPRECATED_REGISTER_CONVERTIBLE(nr) # (gdbarch_deprecated_register_convertible (current_gdbarch, nr))
gdbarch_dump: DEPRECATED_REGISTER_CONVERTIBLE = <0x200000000003cca8>
gdbarch_dump: DEPRECATED_REGISTER_CONVERT_TO_RAW(type, regnum, from, to) # (gdbarch_deprecated_register_convert_to_raw (current_gdbarch, type, regnum, from, to))
gdbarch_dump: DEPRECATED_REGISTER_CONVERT_TO_RAW = <0x00000000>
gdbarch_dump: DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL(regnum, type, from, to) # (gdbarch_deprecated_register_convert_to_virtual (current_gdbarch, regnum, type, from, to))
gdbarch_dump: DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL = <0x00000000>
gdbarch_dump: DEPRECATED_REGISTER_RAW_SIZE_P() # (gdbarch_deprecated_register_raw_size_p (current_gdbarch))
gdbarch_dump: DEPRECATED_REGISTER_RAW_SIZE_P() = 0
gdbarch_dump: DEPRECATED_REGISTER_RAW_SIZE(reg_nr) # (gdbarch_deprecated_register_raw_size (current_gdbarch, reg_nr))
gdbarch_dump: DEPRECATED_REGISTER_RAW_SIZE = <0x200000000003ac48>
gdbarch_dump: DEPRECATED_REGISTER_SIZE # (gdbarch_deprecated_register_size (current_gdbarch))
gdbarch_dump: DEPRECATED_REGISTER_SIZE = 8
gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_SIZE_P() # (gdbarch_deprecated_register_virtual_size_p (current_gdbarch))
gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_SIZE_P() = 0
gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_SIZE(reg_nr) # (gdbarch_deprecated_register_virtual_size (current_gdbarch, reg_nr))
gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_SIZE = <0x200000000003ac48>
gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_TYPE_P() # (gdbarch_deprecated_register_virtual_type_p (current_gdbarch))
gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_TYPE_P() = 0
gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_TYPE(reg_nr) # (gdbarch_deprecated_register_virtual_type (current_gdbarch, reg_nr))
gdbarch_dump: DEPRECATED_REGISTER_VIRTUAL_TYPE = <0x00000000>
gdbarch_dump: DEPRECATED_REG_STRUCT_HAS_ADDR_P() # (gdbarch_deprecated_reg_struct_has_addr_p (current_gdbarch))
gdbarch_dump: DEPRECATED_REG_STRUCT_HAS_ADDR_P() = 0
gdbarch_dump: DEPRECATED_REG_STRUCT_HAS_ADDR(gcc_p, type) # (gdbarch_deprecated_reg_struct_has_addr (current_gdbarch, gcc_p, type))
gdbarch_dump: DEPRECATED_REG_STRUCT_HAS_ADDR = <0x00000000>
gdbarch_dump: DEPRECATED_SAVED_PC_AFTER_CALL_P() # (gdbarch_deprecated_saved_pc_after_call_p (current_gdbarch))
gdbarch_dump: DEPRECATED_SAVED_PC_AFTER_CALL_P() = 0
gdbarch_dump: DEPRECATED_SAVED_PC_AFTER_CALL(frame) # (gdbarch_deprecated_saved_pc_after_call (current_gdbarch, frame))
gdbarch_dump: DEPRECATED_SAVED_PC_AFTER_CALL = <0x00000000>
gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS_P() # (gdbarch_deprecated_save_dummy_frame_tos_p (current_gdbarch))
gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS_P() = 0
gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS(sp) # (gdbarch_deprecated_save_dummy_frame_tos (current_gdbarch, sp))
gdbarch_dump: DEPRECATED_SAVE_DUMMY_FRAME_TOS = <0x00000000>
gdbarch_dump: DEPRECATED_SIZEOF_CALL_DUMMY_WORDS # (gdbarch_deprecated_sizeof_call_dummy_words (current_gdbarch))
gdbarch_dump: DEPRECATED_SIZEOF_CALL_DUMMY_WORDS = 8
gdbarch_dump: DEPRECATED_STACK_ALIGN_P() # (gdbarch_deprecated_stack_align_p (current_gdbarch))
gdbarch_dump: DEPRECATED_STACK_ALIGN_P() = 0
gdbarch_dump: DEPRECATED_STACK_ALIGN(sp) # (gdbarch_deprecated_stack_align (current_gdbarch, sp))
gdbarch_dump: DEPRECATED_STACK_ALIGN = <0x00000000>
gdbarch_dump: DEPRECATED_STORE_RETURN_VALUE(type, valbuf) # (gdbarch_deprecated_store_return_value (current_gdbarch, type, valbuf))
gdbarch_dump: DEPRECATED_STORE_RETURN_VALUE = <0x00000000>
gdbarch_dump: DEPRECATED_STORE_STRUCT_RETURN_P() # (gdbarch_deprecated_store_struct_return_p (current_gdbarch))
gdbarch_dump: DEPRECATED_STORE_STRUCT_RETURN_P() = 0
gdbarch_dump: DEPRECATED_STORE_STRUCT_RETURN(addr, sp) # (gdbarch_deprecated_store_struct_return (current_gdbarch, addr, sp))
gdbarch_dump: DEPRECATED_STORE_STRUCT_RETURN = <0x00000000>
gdbarch_dump: DEPRECATED_TARGET_READ_FP_P() # (gdbarch_deprecated_target_read_fp_p (current_gdbarch))
gdbarch_dump: DEPRECATED_TARGET_READ_FP_P() = 0
gdbarch_dump: DEPRECATED_TARGET_READ_FP() # (gdbarch_deprecated_target_read_fp (current_gdbarch))
gdbarch_dump: DEPRECATED_TARGET_READ_FP = <0x00000000>
gdbarch_dump: DEPRECATED_USE_GENERIC_DUMMY_FRAMES # (gdbarch_deprecated_use_generic_dummy_frames (current_gdbarch))
gdbarch_dump: DEPRECATED_USE_GENERIC_DUMMY_FRAMES = 1
gdbarch_dump: DWARF2_REG_TO_REGNUM(dwarf2_regnr) # (gdbarch_dwarf2_reg_to_regnum (current_gdbarch, dwarf2_regnr))
gdbarch_dump: DWARF2_REG_TO_REGNUM = <0x40000000006d9640>
gdbarch_dump: DWARF_REG_TO_REGNUM(dwarf_regnr) # (gdbarch_dwarf_reg_to_regnum (current_gdbarch, dwarf_regnr))
gdbarch_dump: DWARF_REG_TO_REGNUM = <0x200000000003c848>
gdbarch_dump: ECOFF_REG_TO_REGNUM(ecoff_regnr) # (gdbarch_ecoff_reg_to_regnum (current_gdbarch, ecoff_regnr))
gdbarch_dump: ECOFF_REG_TO_REGNUM = <0x200000000003c848>
gdbarch_dump: ELF_MAKE_MSYMBOL_SPECIAL(sym, msym) # (gdbarch_elf_make_msymbol_special (current_gdbarch, sym, msym))
gdbarch_dump: ELF_MAKE_MSYMBOL_SPECIAL = <0x200000000003ceb8>
gdbarch_dump: EXTRACT_RETURN_VALUE(type, regcache, valbuf) # (gdbarch_extract_return_value (current_gdbarch, type, regcache, valbuf))
gdbarch_dump: EXTRACT_RETURN_VALUE = <0x40000000006dbaf0>
gdbarch_dump: EXTRACT_STRUCT_VALUE_ADDRESS_P() # (gdbarch_extract_struct_value_address_p (current_gdbarch))
gdbarch_dump: EXTRACT_STRUCT_VALUE_ADDRESS_P() = 1
gdbarch_dump: EXTRACT_STRUCT_VALUE_ADDRESS(regcache) # (gdbarch_extract_struct_value_address (current_gdbarch, regcache))
gdbarch_dump: EXTRACT_STRUCT_VALUE_ADDRESS = <0x40000000006d9d70>
gdbarch_dump: FETCH_POINTER_ARGUMENT_P() # (gdbarch_fetch_pointer_argument_p (current_gdbarch))
gdbarch_dump: FETCH_POINTER_ARGUMENT_P() = 0
gdbarch_dump: FETCH_POINTER_ARGUMENT(frame, argi, type) # (gdbarch_fetch_pointer_argument (current_gdbarch, frame, argi, type))
gdbarch_dump: FETCH_POINTER_ARGUMENT = <0x00000000>
gdbarch_dump: FP0_REGNUM # (gdbarch_fp0_regnum (current_gdbarch))
gdbarch_dump: FP0_REGNUM = 128
gdbarch_dump: FRAMELESS_FUNCTION_INVOCATION(fi) # (gdbarch_frameless_function_invocation (current_gdbarch, fi))
gdbarch_dump: FRAMELESS_FUNCTION_INVOCATION = <0x200000000003cbb8>
gdbarch_dump: FRAME_ARGS_SKIP # (gdbarch_frame_args_skip (current_gdbarch))
gdbarch_dump: FRAME_ARGS_SKIP = 0
gdbarch_dump: FRAME_NUM_ARGS_P() # (gdbarch_frame_num_args_p (current_gdbarch))
gdbarch_dump: FRAME_NUM_ARGS_P() = 0
gdbarch_dump: FRAME_NUM_ARGS(frame) # (gdbarch_frame_num_args (current_gdbarch, frame))
gdbarch_dump: FRAME_NUM_ARGS = <0x00000000>
gdbarch_dump: FRAME_RED_ZONE_SIZE # (gdbarch_frame_red_zone_size (current_gdbarch))
gdbarch_dump: FRAME_RED_ZONE_SIZE = 0
gdbarch_dump: FUNCTION_START_OFFSET # (gdbarch_function_start_offset (current_gdbarch))
gdbarch_dump: FUNCTION_START_OFFSET = 0
gdbarch_dump: GET_LONGJMP_TARGET_P() # (gdbarch_get_longjmp_target_p (current_gdbarch))
gdbarch_dump: GET_LONGJMP_TARGET_P() = 0
gdbarch_dump: GET_LONGJMP_TARGET(pc) # (gdbarch_get_longjmp_target (current_gdbarch, pc))
gdbarch_dump: GET_LONGJMP_TARGET = <0x00000000>
gdbarch_dump: HAVE_NONSTEPPABLE_WATCHPOINT # (gdbarch_have_nonsteppable_watchpoint (current_gdbarch))
gdbarch_dump: HAVE_NONSTEPPABLE_WATCHPOINT = 0
gdbarch_dump: INNER_THAN(lhs, rhs) # (gdbarch_inner_than (current_gdbarch, lhs, rhs))
gdbarch_dump: INNER_THAN = <0x200000000003c468>
gdbarch_dump: INTEGER_TO_ADDRESS_P() # (gdbarch_integer_to_address_p (current_gdbarch))
gdbarch_dump: INTEGER_TO_ADDRESS_P() = 0
gdbarch_dump: INTEGER_TO_ADDRESS(type, buf) # (gdbarch_integer_to_address (current_gdbarch, type, buf))
gdbarch_dump: INTEGER_TO_ADDRESS = <0x00000000>
gdbarch_dump: IN_SOLIB_CALL_TRAMPOLINE(pc, name) # in_plt_section((pc), (name))
gdbarch_dump: IN_SOLIB_CALL_TRAMPOLINE = <0x200000000003c6f8>
gdbarch_dump: IN_SOLIB_RETURN_TRAMPOLINE(pc, name) # (gdbarch_in_solib_return_trampoline (current_gdbarch, pc, name))
gdbarch_dump: IN_SOLIB_RETURN_TRAMPOLINE = <0x200000000003c698>
gdbarch_dump: MEMORY_INSERT_BREAKPOINT(addr, contents_cache) # (gdbarch_memory_insert_breakpoint (current_gdbarch, addr, contents_cache))
gdbarch_dump: MEMORY_INSERT_BREAKPOINT = <0x40000000006dba60>
gdbarch_dump: MEMORY_REMOVE_BREAKPOINT(addr, contents_cache) # (gdbarch_memory_remove_breakpoint (current_gdbarch, addr, contents_cache))
gdbarch_dump: MEMORY_REMOVE_BREAKPOINT = <0x40000000006d9c20>
gdbarch_dump: NAME_OF_MALLOC # (gdbarch_name_of_malloc (current_gdbarch))
gdbarch_dump: NAME_OF_MALLOC = malloc
gdbarch_dump: NUM_PSEUDO_REGS # (gdbarch_num_pseudo_regs (current_gdbarch))
gdbarch_dump: NUM_PSEUDO_REGS = 289
gdbarch_dump: NUM_REGS # (gdbarch_num_regs (current_gdbarch))
gdbarch_dump: NUM_REGS = 462
gdbarch_dump: PARM_BOUNDARY # (gdbarch_parm_boundary (current_gdbarch))
gdbarch_dump: PARM_BOUNDARY = 0
gdbarch_dump: PC_IN_SIGTRAMP(pc, name) # (gdbarch_pc_in_sigtramp (current_gdbarch, pc, name))
gdbarch_dump: PC_IN_SIGTRAMP = <0x200000000003c418>
gdbarch_dump: PC_REGNUM # (gdbarch_pc_regnum (current_gdbarch))
gdbarch_dump: PC_REGNUM = -1
gdbarch_dump: POINTER_TO_ADDRESS(type, buf) # (gdbarch_pointer_to_address (current_gdbarch, type, buf))
gdbarch_dump: POINTER_TO_ADDRESS = <0x200000000003c4c8>
gdbarch_dump: gdbarch_print_float_info_p() = 0
gdbarch_dump: print_float_info = 0x00000000
gdbarch_dump: print_registers_info = 0x200000000003ac58
gdbarch_dump: gdbarch_print_vector_info_p() = 0
gdbarch_dump: print_vector_info = 0x00000000
gdbarch_dump: PROLOGUE_FRAMELESS_P(ip) # (gdbarch_prologue_frameless_p (current_gdbarch, ip))
gdbarch_dump: PROLOGUE_FRAMELESS_P = <0x200000000003c2f8>
gdbarch_dump: PS_REGNUM # (gdbarch_ps_regnum (current_gdbarch))
gdbarch_dump: PS_REGNUM = -1
gdbarch_dump: gdbarch_push_dummy_call_p() = 1
gdbarch_dump: push_dummy_call = 0x40000000006dbdb0
gdbarch_dump: gdbarch_push_dummy_code_p() = 0
gdbarch_dump: push_dummy_code = 0x00000000
gdbarch_dump: REGISTER_BYTES_OK_P() # (gdbarch_register_bytes_ok_p (current_gdbarch))
gdbarch_dump: REGISTER_BYTES_OK_P() = 0
gdbarch_dump: REGISTER_BYTES_OK(nr_bytes) # (gdbarch_register_bytes_ok (current_gdbarch, nr_bytes))
gdbarch_dump: REGISTER_BYTES_OK = <0x00000000>
gdbarch_dump: REGISTER_NAME(regnr) # (gdbarch_register_name (current_gdbarch, regnr))
gdbarch_dump: REGISTER_NAME = <0x40000000006dcac0>
gdbarch_dump: REGISTER_SIM_REGNO(reg_nr) # (gdbarch_register_sim_regno (current_gdbarch, reg_nr))
gdbarch_dump: REGISTER_SIM_REGNO = <0x200000000003cd48>
gdbarch_dump: REGISTER_TO_VALUE(frame, regnum, type, buf) # (gdbarch_register_to_value (current_gdbarch, frame, regnum, type, buf))
gdbarch_dump: REGISTER_TO_VALUE = <0x40000000006db350>
gdbarch_dump: gdbarch_register_type_p() = 1
gdbarch_dump: register_type = 0x40000000006db9e0
gdbarch_dump: remote_translate_xfer_address = 0x40000000006d8b10
gdbarch_dump: RETURN_VALUE_ON_STACK(type) # (gdbarch_return_value_on_stack (current_gdbarch, type))
gdbarch_dump: RETURN_VALUE_ON_STACK = <0x200000000003c528>
gdbarch_dump: SDB_REG_TO_REGNUM(sdb_regnr) # (gdbarch_sdb_reg_to_regnum (current_gdbarch, sdb_regnr))
gdbarch_dump: SDB_REG_TO_REGNUM = <0x200000000003c848>
gdbarch_dump: SIGTRAMP_END_P() # (gdbarch_sigtramp_end_p (current_gdbarch))
gdbarch_dump: SIGTRAMP_END_P() = 0
gdbarch_dump: SIGTRAMP_END(pc) # (gdbarch_sigtramp_end (current_gdbarch, pc))
gdbarch_dump: SIGTRAMP_END = <0x00000000>
gdbarch_dump: SIGTRAMP_START_P() # (gdbarch_sigtramp_start_p (current_gdbarch))
gdbarch_dump: SIGTRAMP_START_P() = 0
gdbarch_dump: SIGTRAMP_START(pc) # (gdbarch_sigtramp_start (current_gdbarch, pc))
gdbarch_dump: SIGTRAMP_START = <0x00000000>
gdbarch_dump: SKIP_PROLOGUE(ip) # (gdbarch_skip_prologue (current_gdbarch, ip))
gdbarch_dump: SKIP_PROLOGUE = <0x40000000006dcb30>
gdbarch_dump: SKIP_TRAMPOLINE_CODE(pc) # find_solib_trampoline_target (pc)
gdbarch_dump: SKIP_TRAMPOLINE_CODE = <0x200000000038c090>
gdbarch_dump: SMASH_TEXT_ADDRESS(addr) # (gdbarch_smash_text_address (current_gdbarch, addr))
gdbarch_dump: SMASH_TEXT_ADDRESS = <0x200000000003ce38>
gdbarch_dump: SOFTWARE_SINGLE_STEP_P() # (gdbarch_software_single_step_p (current_gdbarch))
gdbarch_dump: SOFTWARE_SINGLE_STEP_P() = 0
gdbarch_dump: SOFTWARE_SINGLE_STEP(sig, insert_breakpoints_p) # (gdbarch_software_single_step (current_gdbarch, sig, insert_breakpoints_p))
gdbarch_dump: SOFTWARE_SINGLE_STEP = <0x00000000>
gdbarch_dump: SP_REGNUM # (gdbarch_sp_regnum (current_gdbarch))
gdbarch_dump: SP_REGNUM = 12
gdbarch_dump: STAB_REG_TO_REGNUM(stab_regnr) # (gdbarch_stab_reg_to_regnum (current_gdbarch, stab_regnr))
gdbarch_dump: STAB_REG_TO_REGNUM = <0x200000000003c848>
gdbarch_dump: STORE_RETURN_VALUE(type, regcache, valbuf) # (gdbarch_store_return_value (current_gdbarch, type, regcache, valbuf))
gdbarch_dump: STORE_RETURN_VALUE = <0x40000000006dc280>
gdbarch_dump: TARGET_ADDR_BIT # (gdbarch_addr_bit (current_gdbarch))
gdbarch_dump: TARGET_ADDR_BIT = 64
gdbarch_dump: TARGET_ARCHITECTURE # (gdbarch_bfd_arch_info (current_gdbarch))
gdbarch_dump: TARGET_ARCHITECTURE = ia64-elf64
gdbarch_dump: TARGET_BFD_VMA_BIT # (gdbarch_bfd_vma_bit (current_gdbarch))
gdbarch_dump: TARGET_BFD_VMA_BIT = 64
gdbarch_dump: TARGET_BYTE_ORDER # (gdbarch_byte_order (current_gdbarch))
gdbarch_dump: TARGET_BYTE_ORDER = 1
gdbarch_dump: TARGET_CHAR_SIGNED # (gdbarch_char_signed (current_gdbarch))
gdbarch_dump: TARGET_CHAR_SIGNED = 1
gdbarch_dump: TARGET_DOUBLE_BIT # (gdbarch_double_bit (current_gdbarch))
gdbarch_dump: TARGET_DOUBLE_BIT = 64
gdbarch_dump: TARGET_DOUBLE_FORMAT # (gdbarch_double_format (current_gdbarch))
gdbarch_dump: TARGET_DOUBLE_FORMAT = floatformat_ieee_double_little
gdbarch_dump: TARGET_FLOAT_BIT # (gdbarch_float_bit (current_gdbarch))
gdbarch_dump: TARGET_FLOAT_BIT = 32
gdbarch_dump: TARGET_FLOAT_FORMAT # (gdbarch_float_format (current_gdbarch))
gdbarch_dump: TARGET_FLOAT_FORMAT = floatformat_ieee_single_little
gdbarch_dump: TARGET_INT_BIT # (gdbarch_int_bit (current_gdbarch))
gdbarch_dump: TARGET_INT_BIT = 32
gdbarch_dump: TARGET_LONG_BIT # (gdbarch_long_bit (current_gdbarch))
gdbarch_dump: TARGET_LONG_BIT = 64
gdbarch_dump: TARGET_LONG_DOUBLE_BIT # (gdbarch_long_double_bit (current_gdbarch))
gdbarch_dump: TARGET_LONG_DOUBLE_BIT = 128
gdbarch_dump: TARGET_LONG_DOUBLE_FORMAT # (gdbarch_long_double_format (current_gdbarch))
gdbarch_dump: TARGET_LONG_DOUBLE_FORMAT = floatformat_ieee_double_little
gdbarch_dump: TARGET_LONG_LONG_BIT # (gdbarch_long_long_bit (current_gdbarch))
gdbarch_dump: TARGET_LONG_LONG_BIT = 64
gdbarch_dump: TARGET_OSABI # (gdbarch_osabi (current_gdbarch))
gdbarch_dump: TARGET_OSABI = 5
gdbarch_dump: TARGET_PRINT_INSN(vma, info) # (gdbarch_print_insn (current_gdbarch, vma, info))
gdbarch_dump: TARGET_PRINT_INSN = <0x40000000006dcc40>
gdbarch_dump: TARGET_PTR_BIT # (gdbarch_ptr_bit (current_gdbarch))
gdbarch_dump: TARGET_PTR_BIT = 64
gdbarch_dump: TARGET_READ_PC_P() # (gdbarch_read_pc_p (current_gdbarch))
gdbarch_dump: TARGET_READ_PC_P() = 1
gdbarch_dump: TARGET_READ_PC(ptid) # (gdbarch_read_pc (current_gdbarch, ptid))
gdbarch_dump: TARGET_READ_PC = <0x40000000006da8f0>
gdbarch_dump: TARGET_READ_SP_P() # (gdbarch_read_sp_p (current_gdbarch))
gdbarch_dump: TARGET_READ_SP_P() = 0
gdbarch_dump: TARGET_READ_SP() # (gdbarch_read_sp (current_gdbarch))
gdbarch_dump: TARGET_READ_SP = <0x00000000>
gdbarch_dump: TARGET_SHORT_BIT # (gdbarch_short_bit (current_gdbarch))
gdbarch_dump: TARGET_SHORT_BIT = 16
gdbarch_dump: TARGET_VIRTUAL_FRAME_POINTER(pc, frame_regnum, frame_offset) # (gdbarch_virtual_frame_pointer (current_gdbarch, pc, frame_regnum, frame_offset))
gdbarch_dump: TARGET_VIRTUAL_FRAME_POINTER = <0x200000000003c8e8>
gdbarch_dump: TARGET_WRITE_PC(val, ptid) # (gdbarch_write_pc (current_gdbarch, val, ptid))
gdbarch_dump: TARGET_WRITE_PC = <0x40000000006dc320>
gdbarch_dump: gdbarch_unwind_dummy_id_p() = 1
gdbarch_dump: unwind_dummy_id = 0x40000000006db8d0
gdbarch_dump: gdbarch_unwind_pc_p() = 1
gdbarch_dump: unwind_pc = 0x40000000006d9aa0
gdbarch_dump: gdbarch_unwind_sp_p() = 0
gdbarch_dump: unwind_sp = 0x00000000
gdbarch_dump: USE_STRUCT_CONVENTION(gcc_p, value_type) # (gdbarch_use_struct_convention (current_gdbarch, gcc_p, value_type))
gdbarch_dump: USE_STRUCT_CONVENTION = <0x40000000006dac80>
gdbarch_dump: VALUE_TO_REGISTER(frame, regnum, type, buf) # (gdbarch_value_to_register (current_gdbarch, frame, regnum, type, buf))
gdbarch_dump: VALUE_TO_REGISTER = <0x40000000006dccc0>
gdbarch_update: info.bfd_arch_info ia64-elf64
gdbarch_update: info.byte_order 1 (little)
gdbarch_update: info.osabi 5 (GNU/Linux)
gdbarch_update: info.abfd 0x0
gdbarch_update: info.tdep_info 0x0
gdbarch_update: Previous architecture 0x60000000000b2620 (ia64-elf64) selected
gdbarch_update: info.bfd_arch_info ia64-elf64
gdbarch_update: info.byte_order 1 (little)
gdbarch_update: info.osabi 5 (GNU/Linux)
gdbarch_update: info.abfd 0x0
gdbarch_update: info.tdep_info 0x0
gdbarch_update: Architecture 0x60000000000b2620 (ia64-elf64) unchanged
/home/jjohnstn/gdb-patches/baselevel/src/gdb/arch-utils.c:506: internal-error: deprecated_select_gdbarch_hack: Assertion `gdbarch == current_gdbarch' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) y
/home/jjohnstn/gdb-patches/baselevel/src/gdb/arch-utils.c:506: internal-error: deprecated_select_gdbarch_hack: Assertion `gdbarch == current_gdbarch' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) n
^[[m\x0f^[[27m^[[24m^[[J[jjohnstn@tonic]~/gdb-patches/baselevel/build/ia64/gdb/testsuite/gdb.base% ^[[K
Script done on Mon 03 Nov 2003 06:53:05 PM EST
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Problem with deprecated_select_gdbarch_hack
2003-11-04 0:01 Problem with deprecated_select_gdbarch_hack J. Johnston
@ 2003-11-04 0:38 ` Marcel Moolenaar
2003-11-05 20:39 ` J. Johnston
0 siblings, 1 reply; 3+ messages in thread
From: Marcel Moolenaar @ 2003-11-04 0:38 UTC (permalink / raw)
To: J. Johnston; +Cc: kettenis, gdb
On Mon, Nov 03, 2003 at 07:01:04PM -0500, J. Johnston wrote:
> Mark,
>
> The current mainline gdb fails for ia64 linux due to an assertion in
> deprecated_select_gdbarch_hack(). I noticed you added this code recently.
> I have attached a scripted session with set debug arch 1. Can you verify
> if the debug messages indicate any unanticipated path through your code? I
> am just trying to debug a simple "hello world" program.
I noticed it too. The gdb_assert() in deprecated_select_gdbarch_hack()
is faulty because gdbarch_update_p() does not necessarily change the
current gdbarch to the one passed to deprecated_select_gdbarch_hack().
It can leave the gdbarch unchanged if it's semantically equivalent to
the one asked to change to. Removal of the faulty gdb_assert() should
do the trick.
...
> gdbarch_update: info.bfd_arch_info ia64-elf64
> gdbarch_update: info.byte_order 1 (little)
> gdbarch_update: info.osabi 5 (GNU/Linux)
> gdbarch_update: info.abfd 0x60000000000f16b0
> gdbarch_update: info.tdep_info 0x0
> gdbarch_update: New architecture 0x6000000000102590 (ia64-elf64) selected
...
> gdbarch_update: info.bfd_arch_info ia64-elf64
> gdbarch_update: info.byte_order 1 (little)
> gdbarch_update: info.osabi 5 (GNU/Linux)
> gdbarch_update: info.abfd 0x0
> gdbarch_update: info.tdep_info 0x0
> gdbarch_update: Previous architecture 0x60000000000b2620 (ia64-elf64) selected
> gdbarch_update: info.bfd_arch_info ia64-elf64
> gdbarch_update: info.byte_order 1 (little)
> gdbarch_update: info.osabi 5 (GNU/Linux)
> gdbarch_update: info.abfd 0x0
> gdbarch_update: info.tdep_info 0x0
> gdbarch_update: Architecture 0x60000000000b2620 (ia64-elf64) unchanged
...
--
Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Problem with deprecated_select_gdbarch_hack
2003-11-04 0:38 ` Marcel Moolenaar
@ 2003-11-05 20:39 ` J. Johnston
0 siblings, 0 replies; 3+ messages in thread
From: J. Johnston @ 2003-11-05 20:39 UTC (permalink / raw)
To: Marcel Moolenaar; +Cc: kettenis, gdb
Marcel Moolenaar wrote:
> On Mon, Nov 03, 2003 at 07:01:04PM -0500, J. Johnston wrote:
>
>>Mark,
>>
>> The current mainline gdb fails for ia64 linux due to an assertion in
>>deprecated_select_gdbarch_hack(). I noticed you added this code recently.
>>I have attached a scripted session with set debug arch 1. Can you verify
>>if the debug messages indicate any unanticipated path through your code? I
>>am just trying to debug a simple "hello world" program.
>
>
> I noticed it too. The gdb_assert() in deprecated_select_gdbarch_hack()
> is faulty because gdbarch_update_p() does not necessarily change the
> current gdbarch to the one passed to deprecated_select_gdbarch_hack().
> It can leave the gdbarch unchanged if it's semantically equivalent to
> the one asked to change to. Removal of the faulty gdb_assert() should
> do the trick.
>
I have recently checked in a change to the ia64-tdep.c code to modernize it to
grab the osabi from the gdbarch_info parameter and to call
gdbarch_list_lookup_by_info() to look for existing gdbarch candidates. This
fixes the problem without having to remove the assertion. Perhaps leaving the
assertion will point out any existing platforms that use the older code ia64 was
formerly using.
-- Jeff J.
> ...
>
>>gdbarch_update: info.bfd_arch_info ia64-elf64
>>gdbarch_update: info.byte_order 1 (little)
>>gdbarch_update: info.osabi 5 (GNU/Linux)
>>gdbarch_update: info.abfd 0x60000000000f16b0
>>gdbarch_update: info.tdep_info 0x0
>>gdbarch_update: New architecture 0x6000000000102590 (ia64-elf64) selected
>
> ...
>
>>gdbarch_update: info.bfd_arch_info ia64-elf64
>>gdbarch_update: info.byte_order 1 (little)
>>gdbarch_update: info.osabi 5 (GNU/Linux)
>>gdbarch_update: info.abfd 0x0
>>gdbarch_update: info.tdep_info 0x0
>>gdbarch_update: Previous architecture 0x60000000000b2620 (ia64-elf64) selected
>>gdbarch_update: info.bfd_arch_info ia64-elf64
>>gdbarch_update: info.byte_order 1 (little)
>>gdbarch_update: info.osabi 5 (GNU/Linux)
>>gdbarch_update: info.abfd 0x0
>>gdbarch_update: info.tdep_info 0x0
>>gdbarch_update: Architecture 0x60000000000b2620 (ia64-elf64) unchanged
>
> ...
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-11-05 20:39 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-04 0:01 Problem with deprecated_select_gdbarch_hack J. Johnston
2003-11-04 0:38 ` Marcel Moolenaar
2003-11-05 20:39 ` J. Johnston
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox