gdb symbolic link bug

Carter, Mark Andrew (Andy) andy.carter@flightsafety.com
Fri Nov 19 15:08:54 GMT 2021


Gdb will not run an executable when it is a symbolic link in the post Cygwin release 3.1.5 form.  As seen below I am currently running Cygwin 3.1.7.  I have confirmed this is due to the change of the "ln -s" implementation.  Links created by Cygwin 2.8 and 3.1.0 work with this gdb version, and links created with Cygwin 3.1.7 do not work with gdb from Cygwin release 2.8.  The following capture demonstrates the issue.  Note the workaround using readlink!

$ uname -a
CYGWIN_NT-10.0 P1163-8573-10 3.1.7(0.340/5/3) 2020-08-22 17:48 x86_64 Cygwin

$ ls -l vital.exe
lrwxrwxrwx 1 p00002737 Domain Users 18 Oct 19 06:59 vital.exe -> ../vital/vital.exe

$ gdb vital.exe
GNU gdb (GDB) (Cygwin 8.2.1-1) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-cygwin".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from vital.exe...done.
(gdb) r
Starting program: /home/p00002737/vital/tap/vital.exe
Error creating process /home/p00002737/vital/tap/vital.exe, (error 1920).
(gdb) quit

$ gdb `readlink vital.exe`
GNU gdb (GDB) (Cygwin 8.2.1-1) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-cygwin".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ../vital/vital.exe...done.
(gdb) r
Starting program: /home/p00002737/vital/vital/vital.exe
[New Thread 54032.0xc1e8]
[New Thread 54032.0x10e4]
[New Thread 54032.0xdee8]
[New Thread 54032.0xcd20]
[New Thread 54032.0x8e60]
[New Thread 54032.0xc378]

Thread 6 received signal SIGINT, Interrupt.
[Switching to Thread 54032.0xc378]
0x00007fff3b4b5a03 in TlsGetValue () from /cygdrive/c/WINDOWS/System32/KERNELBASE.dll
(gdb)


More information about the Cygwin mailing list