Here are the left over patches I used to build GDB on DJGPP. GDB changes: - "missing sentinel in function calls" warnings: NULL is not a pointer in djgpp, it's #define NULL 0. Recent gcc's bark on cases like the concat calls I'm fixing, if the last argument is not a pointer. - cp-name-parse.y There's a call to snprintf in it. DJGPP gets it from libiberty. I needed to include config.h, so HAVE_DECL_SNPRINTF is defined when libiberty.h is included, which then declares snprintf. - gdb_select.h Include sys/types.h to pick up fd_set. Include in posix-hdep.c, because that's where select is declared. (?) The readline bits, the patch explains what's needed. Here's the error log gcc -DHAVE_CONFIG_H -I. -I../../readline -DRL_LIBRARY_VERSION='"5.1"' -O0 -g3 -c ../../readline/support/wcwidth.c In file included from ../../readline/support/wcwidth.c:9: c:/djgpp/include/wchar.h:24: error: expected '=', ',', ';', 'asm' or '__attribut e__' before 'typedef' ../../readline/support/wcwidth.c: In function 'wcwidth': ../../readline/support/wcwidth.c:130: warning: comparison is always false due to limited range of data type ../../readline/support/wcwidth.c:130: warning: comparison is always true due to limited range of data type make.exe: *** [wcwidth.o] Error 1 - libbfd cc1.exe: warnings being treated as errors ../../bfd/archive.c: In function '_bfd_archive_bsd_update_armap_timestamp': ../../bfd/archive.c:2314: warning: comparison between signed and unsigned time_t in djgpp is unsigned int, armap_timestamp is long. There's a comment at the definition of armap_timestamp, claiming that it isn't time_t until more compilers support it. -- Pedro Alves