I wrote: > > This patch: > > 2002-11-07 Fernando Nasser > > * printcmd.c (disassemble_command): Remove obsolete function. > (_initialize_printcmd): Do not create disassemble command here. > * cli/cli-cmds.c (disassemble_command): New function. Implements > disassemble command. > (init_cli_cmds): Create disassemble command here instead. > > breaks disassembly for sh-elf (just try to disassemble any > function in any sh-elf object file). > > gdb_disassembly uses TARGET_PRINT_INSN_INFO->mach to initialize > di.mach, but TARGET_PRINT_INSN_INFO->mach is never initialized. > > Before your patch, print_insn had set TARGET_PRINT_INSN_INFO->mach > to TARGET_ARCHITECTURE->mach, which gets expanded to > (gdbarch_bfd_arch_info (current_gdbarch))->mach . And didn't get any reply. So I had a go at writing a conservative patch, which handles the mach field likee tui/tuiDisassem.c:tui_disassemble . Although I have the feeling that TARGET_PRINT_INSN_INFO should be really a local variable of print_insn, and if any information might be missing in the gdbarch struct to initialize TARGET_PRINT_INSN_INFO and asm_info in tui/tuiDisassem.c:tui_disassemble , that should rather be added to the gdbarch struct. -- -------------------------- SuperH (UK) Ltd. 2410 Aztec West / Almondsbury / BRISTOL / BS32 4QX T:+44 1454 465658