This is the mail archive of the
mailing list for the GDB project.
Build root location affects debugging on PowerPC
- From: Lassi Niemistö <lassi dot niemisto at wapice dot com>
- To: "gdb at sourceware dot org" <gdb at sourceware dot org>
- Date: Fri, 25 Aug 2017 09:01:59 +0000
- Subject: Build root location affects debugging on PowerPC
- Authentication-results: sourceware.org; auth=none
I have a 32bit project, which is compiled both for x86 and the PowerPC MPC8309E processor with GCC 4.8.2 and -ggdb3. Debug symbols are splitted into a separate debug file. I have a working setup for debugging both architectures using GDB 7.10.1 (custom build, --enable-target=all), both for regular and core dump analysis scenarios.
Recently I discovered a problem: whereas the x86 debugging works regardless where my project's build root is located (typical scenario for core dump analysis, another developer rebuilds the software to get matching symbols), the powerpc debugging shows incorrect crash locations. Sure the source/build paths will be tattooed to the debug information, which changes e.g. the .o file content, but this should not affect debugging, should it? I have tested that recompilation in the _same_ path does not cause the issue.
To investigate further, I tried to update to GDB 8.0, but hit a wall right when trying to even open the core file:
(gdb) core <path to core>
warning: core file may not match specified executable file.
[New LWP ****]
Cannot access memory at address 0x3f4
Cannot access memory at address 0x3f0
gdbarch.c:3355: internal-error: int gdbarch_elf_make_msymbol_special_p(gdbarch*): Assertion `gdbarch != NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
I will file a bug report about the 8.0 but does anyone have a clue what could be the problem with 7.10.1 and why specific to PowerPC? The problem is present both for regular debugging (i.e. let it run and crash) and core dump analysis.