Community
Participate
Working Groups
Problem: When debugging MIPS ELF32 bianries, the disassembly view shows the disassembled code only. Source code lines are not presented in the disassembly view. Analysis: MIPS ELF32 binaries use sign-extended addresses which are represented using 64-bits in canonical form. For example, mipsisa32-elf-gdb might present an address such as: 0xffffffff80042b56 CDT's Elf parser will select Addr32Factory for address manipulation since ehdr.e_ident[ELFhdr.EI_CLASS] == ELFhdr.ELFCLASS32 for MIPS ELF32 binaries. The use of Addr32Factory for debugging such binaries causes Disassembly::containsAddress() to compare a 32-bit address with a sign-extended address and therefore always return false. The disassembly view therefore falls back to plain disassembly (not mixed mode). My workaround for this problem is to treat MIPS ELF32 as a special case in the ELF parser such that Addr64Factory is selected, but there may be complications that I am not aware of.
I don't think any of the committers are setup with the MIPS tools, so someone from the community will have to step up and provide some help if this is going to be properly fixed and tested.
MIPS Technologies has delivered its first Eclipse/CDT product using the SDE GNU toolchain and the FS2 on-chip debugger. We are interested in supporting all MIPS CPU architectures. If this bug was encountered while using the sde-gcc compiler (or other SDE tool), let me know and I'll file a bug with the right group.
(In reply to comment #2) The bug was discovered using binutils 2.16, GCC 3.4.4 and GDB 6.3 configured with: --target=mipsisa32-elf But I am reporting a CDT bug, not a toolchain bug.