10-01-2015 02:00 PM
I am trying to debug a simple application using the SDK on the Vivado 2015.2 SDK. The target is Zynq (ZED Board) running Linuz, as supplied with the board.
A simple application debugs fine and also runs fine without the debugger.
I would like to use the BOOST libraries, which I compiled successfully.
When I build a program that just includes some boost headers (mainly ASIO) the program will run fine without the debugger (download to linux and run), but I cannot debug it.
When debugging it crashes before reaching main with an exception thrown - I think its a segmentation fault. The boost libraries have some static function calls (that happen on program init - before main() is called.
Does anyone know how to fix this problem, since the code runs correctly without the debugger I assume that this is related to gdb, or some configuration parameter of gdb?
10-02-2015 08:11 AM
The actual error I get is SIGILL - illegal instruction when running with the debugger. Without the debugger (GDB) the program runs fine.
12-09-2015 03:22 AM
Looks like a gdbserver error
- updating gdbserver to the new version (not tested by me for now)
- manually fix ELF header OS/ABI from UNIX-GNU(3) to UNIX-SystemV(0) (works for me for now)
12-09-2015 03:36 AM
Try using system debugger and check if you can debug the application:
12-09-2015 05:49 AM
the bug is caused by old gdb (in my case its arm-xilinx-linux-gnueabi-gdb.exe), sdks 2015.3, 2015.4. if i manually patch this executable
D8 : 7C FF -> 50 82
495F : 0F 85 9C 00 00 00 -> 90 90 90 90 90 90
the bug is no more there.
this bug is referenced by
and must be gone in new gdb versions (but currently sdk uses an old GNU gdbserver Sourcery CodeBench Lite 2015.05-17 126.96.36.19940217-cvs version)
maybe gdb should be updated in new sdk versions...
12-09-2015 07:19 AM
Using the system debugger fixed the problem. Sounds like there is another solution to upgrade the gdb version. Thanks for the replies.
12-10-2015 09:41 PM - edited 12-10-2015 09:41 PM
Good to know system debugger fixed the issue. It is preferable to use the System Debugger. Moving forward, GNU debugger will not support the latest Xilinx devices:
12-11-2015 06:19 AM
It would be helpful if:
* Tutorials used features that worked rather than features that are known to be defective. I was using gdb because the tutorial said to.
* Posts of problems are answered. In this case they were but months after the problem was discovered. This is a problem for using SOC products which as I understand it have no other support mechanism.