Problem/Bug with binutils-gdb and strsignal ?
Claudius Schnörr
schnoerr@mailzone.com
Sun Oct 24 06:26:45 GMT 2021
Hello,
when compiling binutils-gdb I got stuck with an error concerning the strsignal function.
This also occurs when trying to compile the insight gdb-frontend on cygwin64 that I tried to build.
* platform:
o cygwin 64bit on Win-10
o gcc (GCC) 11.2.0, g++ (GCC) 11.2.0
* commands submitted:
o git clone --recursive git://sourceware.org/git/binutils-gdb.git
o autoconf
o ./configure
o make
* Error message:
o event-top.c: In function ‘void handle_fatal_signal(int)’:
event-top.c:893:18: error: ‘strsignal’ was not declared in this
scope; did you mean ‘strsigno’?
893 | sig_write (strsignal (sig));
* comment:
o strsignal() is declared in string.h. However, including it
doesn't work.
Then I inspected string.h on cygwin64 in /usr/include and found
this:
o #ifndef DEFS_H /* Kludge to work around problem compiling in
gdb */
char *strsignal (int __signo);
#endif
o suggestion: undefining DEFS_H might be risky -> to be added at
line 55:
+ #ifndef DEFS_H
# include <string.h> /* for strsignal on
cygwin */
#else
char *strsignal (int __signo); /* see
/usr/include/string.h on cygwin */
#endif
o then it compiles, however a library is missed now:
+ x86_64-pc-cygwin/bin/ld:
event-top.o:.../insight/bundle/gdb/event-top.c:899:
undefined reference to `strsignal(int)'
collect2: error: ld returned 1 exit status
Hope this helps somehow.
Kind regards,
Claudius
More information about the Cygwin
mailing list