Community
Participate
Working Groups
Created attachment 109647 [details] Error in Register View using DSF MI for MIPS Build ID: I20080617-2000 Steps To Reproduce: 1) Create a sample MIPS ELF project executable using any MIPS compiler. I have used MIPS SDE Lite compiler. 2) Use DSF C/C++ Remote Application debug launch to debug the built application using MIPS target using a cross compiled MIPS gdb (based on gdb 6.8) and a MIPS GDB Server which can communicate with MIPS target using an EJTAG probe. 3) I am able to connect to the target successfully. But the register view lists lot of “Unknown” registers with value as “Error: Failed to execute MI command: -data-list-register-values x 0 Error message from debugger back end: bad register number” before and after the normal MIPS registers. (see attached screen shot) When I tried to debug MIPS target with CDT Hardware Debugger launch configuration (which uses the CDI MI implementation) using the same gdb and GDB Server this behaviour was not there. More information: I checked the output of -data-list-register-names MI command and I can see lot of empty strings(“”) in the register name list before and after MISP register names. Is it some difference in the way DSF MI and CDT MI implementation interprets the output of -data-list-register-names is causing the issue? Attached the debug logs for both DSF and CDI.
Created attachment 109648 [details] Debug log at tiem of error when using DSF MI
Created attachment 109649 [details] Debug log at time of error when using CDI MI
Created attachment 109676 [details] Potential fix. The fact that GDB returns register without names and then doesn't allow values for those registers to be evaluated seems like a GDB bug to me. CDI implementation does not use -data-list-register-values and it ignores registers with blank names. I'm not sure if ignoring registers with no names is the desired behavior, but this patch should do the same for DSF-GDB.
Created attachment 141019 [details] Patch with workaround. This workaround disables coalescing of get register value completely. See related discussion at: http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg15727.html
If the workaround patch works, we could target this for 6.0.1.
This bug was assigned and targeted at a now released milestone (or Future or Next that isn't being used by CDT). As that milestone has now passed, the milestone field has been cleared. If this bug has been fixed, please set the milestone to the version it was fixed in and mark the bug as resolved.