svn commit: r416247 - in head/devel: gdb/files gdb66/files
Ed Schouten
ed at FreeBSD.org
Wed Jun 1 15:35:43 UTC 2016
Author: ed (src committer)
Date: Wed Jun 1 15:35:42 2016
New Revision: 416247
URL: https://svnweb.freebsd.org/changeset/ports/416247
Log:
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
Added:
head/devel/gdb/files/patch-libiberty-basename (contents, props changed)
head/devel/gdb66/files/patch-libiberty-basename (contents, props changed)
Added: head/devel/gdb/files/patch-libiberty-basename
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/gdb/files/patch-libiberty-basename Wed Jun 1 15:35:42 2016 (r416247)
@@ -0,0 +1,11 @@
+--- include/libiberty.h
++++ include/libiberty.h
+@@ -109,7 +109,7 @@
+ || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__) \
+ || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) \
+ || defined (__DragonFly__) || defined (HAVE_DECL_BASENAME)
+-extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1);
++#include <libgen.h>
+ #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
Added: head/devel/gdb66/files/patch-libiberty-basename
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/gdb66/files/patch-libiberty-basename Wed Jun 1 15:35:42 2016 (r416247)
@@ -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 <libgen.h>
+ #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
More information about the svn-ports-head
mailing list