svn commit: r300960 - head/contrib/binutils/include

Ed Schouten ed at FreeBSD.org
Sun May 29 16:10:03 UTC 2016


Author: ed
Date: Sun May 29 16:10:01 2016
New Revision: 300960
URL: https://svnweb.freebsd.org/changeset/base/300960

Log:
  Replace local prototype of basename() with an inclusion of <libgen.h>.
  
  libiberty currently defines the prototype for basename() itself instead
  of using <libgen.h>. It still uses the BSD-style prototype instead of
  the POSIX one, meaning that if FreeBSD would switch over to the POSIX
  one, you wouldn't be able to use libiberty.h and libgen.h in a single
  source file. It turns out that kgdb does this. Patch up libiberty to
  just include <libgen.h>.
  
  I'm currently talking to upstream to see whether we can come up with a
  more complete solution that could be integrated, but for our
  unmaintained copy of GDB in base, let's just apply the simplest
  workaround possible.
  
  Reviewed by:	pfg
  Differential Revision:	https://reviews.freebsd.org/D6631

Modified:
  head/contrib/binutils/include/libiberty.h

Modified: head/contrib/binutils/include/libiberty.h
==============================================================================
--- head/contrib/binutils/include/libiberty.h	Sun May 29 15:46:19 2016	(r300959)
+++ head/contrib/binutils/include/libiberty.h	Sun May 29 16:10:01 2016	(r300960)
@@ -102,7 +102,7 @@ extern int writeargv PARAMS ((char **, F
    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-src-all mailing list