Issue with debug symbols with garbage collector

Nagaraju Mekala gnuuser.raj@gmail.com
Wed Apr 20 09:15:40 GMT 2022


Hello All,

When I enable the garbage collector for the microblaze compiler compilation
seems to be fine, but the debug symbols are not generated properly.

If we set a breakpoint at 0x0 it is showing some different location, we can
see the same in the objdump as well.


Disassembly of section .vectors.reset:

00000000 <_start>:
*
*
****************************************************************************/
void microblaze_register_handler(XInterruptHandler Handler, void *DataPtr)
{
   MB_InterruptVectorTable[0].Handler = Handler;
   0: b0008000 imm -32768
   4: b8080000 brai 0

for the _start symbols "void microblaze_register_handler(XInterruptHandler
Handler, void *DataPtr)" is coming up.

If I disable the garbage-collector then everything seems fine.
I have used "-ffunction-sections and -fdata-sections" options during
compilation and -gc-sections during linking command.

Please let me know how to tell the garbage collector to not delete
debug_loc information.

Thanks,
Nagaraju


More information about the Gcc-help mailing list