Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 May 2016 16:10:02 +0000 (UTC)
From:      Ed Schouten <ed@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r300960 - head/contrib/binutils/include
Message-ID:  <201605291610.u4TGA2cJ020812@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201605291610.u4TGA2cJ020812>