ATTRIBUTE_HIDDEN for libbfd.h

Alan Modra amodra@gmail.com
Fri May 25 06:23:00 GMT 2018


On Fri, May 25, 2018 at 09:48:35AM +0930, Alan Modra wrote:
> Thanks for the report.  I can reproduce the problem on Ubuntu too.
> My configure test is broken.
> 
> configure:14046: checking compiler support for hidden visibility
> configure:14064: x86_64-w64-mingw32-gcc -c -g -O2 -D__USE_MINGW_ACCESS  conftest.c >&5
> conftest.c:83:1: warning: visibility attribute not supported in this configuration; ignored [-Wattributes]
>  }
>  ^
> configure:14064: $? = 0
> configure:14071: result: yes

I'm committing the following.

Warnings from configure tests aren't usually checked.  gcc's
"visibility attribute not supported in this configuration" warning is
enabled by default so we don't need to add any warning flag except
-Werror.

	* configure.ac (bfd_cv_hidden): Run test with -Werror in CFLAGS.
	* configure: Regenerate.

diff --git a/bfd/configure.ac b/bfd/configure.ac
index b320828fbb..bb5c1687b4 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
@@ -256,12 +256,15 @@ AC_CHECK_DECLS(strnlen)
 # This is used only by compress.c.
 AM_ZLIB
 
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -Werror"
 AC_CACHE_CHECK([compiler support for hidden visibility], bfd_cv_hidden,
 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 const char hw[] __attribute__ ((__visibility__ ("hidden"))) = "Hello, World\n";
 extern void print (const char *) __attribute__ ((__visibility__ ("hidden")));]],
 	[[print (hw);]])],
   [bfd_cv_hidden=yes], [bfd_cv_hidden=no])])
+CFLAGS="$save_CFLAGS"
 if test $bfd_cv_hidden = yes; then
   AC_DEFINE(HAVE_HIDDEN, 1,
 	    [Define if your compiler supports hidden visibility.])

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list