From faa2902e7453a662b9e924f2f203acfe5d0fa93b Mon Sep 17 00:00:00 2001 From: Ed Schouten Date: Wed, 1 Jun 2016 15:35:42 +0000 Subject: Make GDB build when basename() is POSIX compliant. GDB's libiberty.h has a prototype of the basename() function it which does not match the one that is part of POSIX, declared in libgen.h. This is normally never visible, as GDB never includes libgen.h. On FreeBSD, it unfortunately is, as our locally added copy of kgdb includes both. Fix up libiberty.h to just include libgen.h. I'm currently discussing with upstream how a clean fix should be done, but I guess that requires more refactoring to the existing code. We'd better not bother importing that and stick to this compact workaround. Reviewed by: bapt@, mi@, Luca Pizzamiglio Differential Revision: https://reviews.freebsd.org/D6630 --- devel/gdb66/files/patch-libiberty-basename | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 devel/gdb66/files/patch-libiberty-basename (limited to 'devel/gdb66') diff --git a/devel/gdb66/files/patch-libiberty-basename b/devel/gdb66/files/patch-libiberty-basename new file mode 100644 index 000000000000..bdc4a4aaacbe --- /dev/null +++ b/devel/gdb66/files/patch-libiberty-basename @@ -0,0 +1,11 @@ +--- include/libiberty.h ++++ include/libiberty.h +@@ -98,7 +98,7 @@ + is 1, we found it so don't provide any declaration at all. */ + #if !HAVE_DECL_BASENAME + #if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) || defined (HAVE_DECL_BASENAME) +-extern char *basename (const char *); ++#include + #else + /* Do not allow basename to be used if there is no prototype seen. We + either need to use the above prototype or have one from -- cgit v1.2.3