Check compiler support for -fno-default-inline and -pipe
clang was spewing warnings about the unrecognized -fno-default-inline. (Oddly, it warns only with -c, not when compiling directly to an executable.) For completeness we also check -pipe, even though clang is OK with that one. It should be fine to omit either flag. gcc -fno-default-inline drops the implicit 'inline' annotation on functions defined inside a class scope, but 'inline' is only a hint anyway. -fno-default-inline does not change linkage. -pipe is merely a compile speed optimization.
This commit is contained in:
committed by
Keith Winstein
parent
62b6137ff5
commit
d2434d1a79
@@ -101,6 +101,17 @@ AS_IF([test x"$hardening" != x"no"], [
|
|||||||
AC_SUBST([HARDEN_CFLAGS])
|
AC_SUBST([HARDEN_CFLAGS])
|
||||||
AC_SUBST([HARDEN_LDFLAGS])
|
AC_SUBST([HARDEN_LDFLAGS])
|
||||||
|
|
||||||
|
# Also check for a few non-hardening-related flags.
|
||||||
|
MISC_CXXFLAGS=""
|
||||||
|
AC_LANG_PUSH(C++)
|
||||||
|
AX_CHECK_COMPILE_FLAG([-fno-default-inline],
|
||||||
|
[MISC_CXXFLAGS="$MISC_CXXFLAGS -fno-default-inline"], [], [-Werror])
|
||||||
|
AX_CHECK_COMPILE_FLAG([-pipe],
|
||||||
|
[MISC_CXXFLAGS="$MISC_CXXFLAGS -pipe"], [], [-Werror])
|
||||||
|
AC_LANG_POP(C++)
|
||||||
|
AC_SUBST([MISC_CXXFLAGS])
|
||||||
|
|
||||||
|
# End of flag tests.
|
||||||
CC="$saved_CC"
|
CC="$saved_CC"
|
||||||
CXX="$saved_CXX"
|
CXX="$saved_CXX"
|
||||||
LD="$saved_LD"
|
LD="$saved_LD"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) -fno-default-inline -pipe
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS)
|
||||||
|
|
||||||
noinst_LIBRARIES = libmoshcrypto.a
|
noinst_LIBRARIES = libmoshcrypto.a
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
AM_CPPFLAGS = $(protobuf_CFLAGS)
|
AM_CPPFLAGS = $(protobuf_CFLAGS)
|
||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) -fno-default-inline -pipe
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS)
|
||||||
AM_LDFLAGS = $(HARDEN_LDFLAGS)
|
AM_LDFLAGS = $(HARDEN_LDFLAGS)
|
||||||
|
|
||||||
if BUILD_EXAMPLES
|
if BUILD_EXAMPLES
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
AM_CPPFLAGS = -I$(srcdir)/../statesync -I$(srcdir)/../terminal -I$(srcdir)/../network -I$(srcdir)/../crypto -I../protobufs -I$(srcdir)/../util $(BOOST_CPPFLAGS) $(TINFO_CFLAGS) $(protobuf_CFLAGS) $(poll_CFLAGS)
|
AM_CPPFLAGS = -I$(srcdir)/../statesync -I$(srcdir)/../terminal -I$(srcdir)/../network -I$(srcdir)/../crypto -I../protobufs -I$(srcdir)/../util $(BOOST_CPPFLAGS) $(TINFO_CFLAGS) $(protobuf_CFLAGS) $(poll_CFLAGS)
|
||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) -fno-default-inline -pipe
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS)
|
||||||
AM_LDFLAGS = $(HARDEN_LDFLAGS)
|
AM_LDFLAGS = $(HARDEN_LDFLAGS)
|
||||||
LDADD = ../crypto/libmoshcrypto.a ../network/libmoshnetwork.a ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../util/libmoshutil.a ../protobufs/libmoshprotos.a $(poll_LIBS) -lm $(TINFO_LIBS) $(protobuf_LIBS)
|
LDADD = ../crypto/libmoshcrypto.a ../network/libmoshnetwork.a ../statesync/libmoshstatesync.a ../terminal/libmoshterminal.a ../util/libmoshutil.a ../protobufs/libmoshprotos.a $(poll_LIBS) -lm $(TINFO_LIBS) $(protobuf_LIBS)
|
||||||
if COND_THIRD_LIBSTDDJB
|
if COND_THIRD_LIBSTDDJB
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
AM_CPPFLAGS = -I$(srcdir)/../util -I$(srcdir)/../crypto -I../protobufs $(BOOST_CPPFLAGS) $(protobuf_CFLAGS)
|
AM_CPPFLAGS = -I$(srcdir)/../util -I$(srcdir)/../crypto -I../protobufs $(BOOST_CPPFLAGS) $(protobuf_CFLAGS)
|
||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) -fno-default-inline -pipe
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS)
|
||||||
|
|
||||||
noinst_LIBRARIES = libmoshnetwork.a
|
noinst_LIBRARIES = libmoshnetwork.a
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
source = userinput.proto hostinput.proto transportinstruction.proto
|
source = userinput.proto hostinput.proto transportinstruction.proto
|
||||||
|
|
||||||
AM_CPPFLAGS = $(protobuf_CFLAGS)
|
AM_CPPFLAGS = $(protobuf_CFLAGS)
|
||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(HARDEN_CFLAGS) -fno-default-inline -pipe
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS)
|
||||||
|
|
||||||
SUFFIXES = .proto .pb.cc
|
SUFFIXES = .proto .pb.cc
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
AM_CPPFLAGS = -I$(srcdir)/../util -I$(srcdir)/../terminal -I../protobufs $(BOOST_CPPFLAGS) $(protobuf_CFLAGS)
|
AM_CPPFLAGS = -I$(srcdir)/../util -I$(srcdir)/../terminal -I../protobufs $(BOOST_CPPFLAGS) $(protobuf_CFLAGS)
|
||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) -fno-default-inline -pipe
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS)
|
||||||
|
|
||||||
noinst_LIBRARIES = libmoshstatesync.a
|
noinst_LIBRARIES = libmoshstatesync.a
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
AM_CPPFLAGS = -I$(srcdir)/../util $(BOOST_CPPFLAGS) $(TINFO_CFLAGS)
|
AM_CPPFLAGS = -I$(srcdir)/../util $(BOOST_CPPFLAGS) $(TINFO_CFLAGS)
|
||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) -fno-default-inline -pipe
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS)
|
||||||
|
|
||||||
noinst_LIBRARIES = libmoshterminal.a
|
noinst_LIBRARIES = libmoshterminal.a
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) -fno-default-inline -pipe
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS)
|
||||||
AM_LDFLAGS = $(HARDEN_LDFLAGS)
|
AM_LDFLAGS = $(HARDEN_LDFLAGS)
|
||||||
|
|
||||||
if BUILD_TESTS
|
if BUILD_TESTS
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) -fno-default-inline -pipe
|
AM_CXXFLAGS = $(WARNING_CXXFLAGS) $(PICKY_CXXFLAGS) $(HARDEN_CFLAGS) $(MISC_CXXFLAGS)
|
||||||
|
|
||||||
noinst_LIBRARIES = libmoshutil.a
|
noinst_LIBRARIES = libmoshutil.a
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user