LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware 14.1 x64 -- Issues with GDB 7.x (https://www.linuxquestions.org/questions/slackware-14/slackware-14-1-x64-issues-with-gdb-7-x-4175502838/)

hitormiss 04-24-2014 08:33 AM

Slackware 14.1 x64 -- Issues with GDB 7.x
 
When launching gdb on an application I am greeted with the following error:

&"warning: GDB: Failed to set controlling terminal: Inappropriate ioctl for device\n"
Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?

Some googling of this provided a whole myriad of garbage, from patches to finger pointing, and other sorts of hand waiving.

Frequently people say that this is a harmless warning and can be ignored. I am thinking that is not the case.

I am debugging a 32bit application. SlackVer is x64.

GDB gets the shared kernel object : linux-vdso.so.1 which resides at 0x00007fffc7dde000

my application gets: linux-gate.so.1 which resides at 0xffffe000

At any rate, gdb is not working right at all. I can set break points, step through, step over etc. That's all fine an dandy, however it fails to give me values if I add an expression evaluation. I can set a break point before a variable is set, at it, then immediately after. GDB stops at all the points but does not have a value for me.

This makes debugging next to impossible with gdb.

If anyone had this issue and has since resolved it your input would be greatly appreciated.

[Edit]: For what its worth I am debugging a multi thread program which is interfacing with other applications.

Ztcoracat 05-13-2014 03:28 AM

I'm no expert on this as I have only been running Slackware for 2 weeks but it sounds like GDB is not being invoked correctly or like you said it's not working at all.

In this link it's a bug. Sorry I don't know more.
https://sourceware.org/bugzilla/show_bug.cgi?id=11403

Maybe a more experienced Slackware Member will know & chime in.

***

The default value for the set sysroot variable depends on your toolchain. If your GDB binary was compiled with the --sysroot argument, you won't need to run the set sysroot command - the sysroot will be automatically set to the location specified during compilation. Otherwise the default value will be "" and you might need to set it manually if you are debugging remote processes.
http://visualgdb.com/gdbreference/commands/set_sysroot
http://visualgdb.com/gdbreference/co...ib-search-path

Ztcoracat 05-13-2014 03:34 AM

This is the only thread of many that I found online that makes an sense.
http://stackoverflow.com/questions/1...gging-warnings


All times are GMT -5. The time now is 12:00 AM.