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