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