Commited in r1338. Rick
On Jan 18, 2009, at 5:17 PM, Adam Dybkowski wrote:
Hi. I've tried to disassemble ARM7TDMI Thumb code with openocd (built from repository version 1337) using command: armv4_5 disassemble 0x1000 8 thumb and have not get a Thumb disassembly. I've checked this in file armv4_5.c and think it's a bug in handle_armv4_5_disassemble_command function. I'm attaching a solution, check if it's worth committing. Index: src/target/armv4_5.c =================================================================== --- src/target/armv4_5.c (version 1337) +++ src/target/armv4_5.c (working copy) @@ -404,6 +404,7 @@ int i; arm_instruction_t cur_instruction; u32 opcode; + u16 thumb_opcode; int thumb = 0; if (armv4_5->common_magic != ARMV4_5_COMMON_MAGIC) @@ -427,13 +428,27 @@ for (i = 0; i < count; i++) {- if((retval = target_read_u32(target, address, &opcode)) != ERROR_OK)+ if(thumb) { - return retval; + if((retval = target_read_u16(target, address, &thumb_opcode)) != ERROR_OK) + { + return retval; + } + if((retval = thumb_evaluate_opcode(thumb_opcode, address, &cur_instruction)) != ERROR_OK) + { + return retval; + } }- if((retval = arm_evaluate_opcode(opcode, address, &cur_instruction))!= ERROR_OK) + else { - return retval;+ if((retval = target_read_u32(target, address, &opcode)) != ERROR_OK)+ { + return retval; + }+ if((retval = arm_evaluate_opcode(opcode, address, &cur_instruction))!= ERROR_OK) + { + return retval; + } } command_print(cmd_ctx, "%s", cur_instruction.text); address += (thumb) ? 2 : 4; -- Adam Dybkowski adybk...@wp.pl http://dybkowski.net/ _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development
-- Rick Altherr kc8...@kc8apf.net"He said he hadn't had a byte in three days. I had a short, so I split it with him."
-- Unsigned
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development