mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 05:17:59 +03:00
Enable compiler stack protection flags
This commit is contained in:
parent
07fb9d64b0
commit
1c236e9c25
@ -1,3 +1,10 @@
|
|||||||
|
Wed Mar 21 10:52:06 EST 2007 Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
|
||||||
|
* acinclude.m4: Always use -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
|
||||||
|
-fstack-protector --param=ssp-buffer-size=4
|
||||||
|
-fasynchronous-unwind-tables if supported by the compiler. Check
|
||||||
|
all warnings flags for compiler support
|
||||||
|
|
||||||
Tue Mar 20 10:00:06 EST 2007 Daniel P. Berrange <berrange@redhat.com>
|
Tue Mar 20 10:00:06 EST 2007 Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
|
||||||
* qemud/conf.c: Fixed buffer overflow in code building up
|
* qemud/conf.c: Fixed buffer overflow in code building up
|
||||||
|
61
acinclude.m4
61
acinclude.m4
@ -12,57 +12,54 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[
|
|||||||
AC_ARG_ENABLE(compile-warnings,
|
AC_ARG_ENABLE(compile-warnings,
|
||||||
AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
|
AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],
|
||||||
[Turn on compiler warnings]),,
|
[Turn on compiler warnings]),,
|
||||||
[enable_compile_warnings="m4_default([$1],[yes])"])
|
[enable_compile_warnings="m4_default([$1],[maximum])"])
|
||||||
|
|
||||||
warnCFLAGS=
|
warnCFLAGS=
|
||||||
if test "x$GCC" != xyes; then
|
|
||||||
enable_compile_warnings=no
|
|
||||||
fi
|
|
||||||
|
|
||||||
warning_flags=
|
try_compiler_flags="-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables"
|
||||||
realsave_CFLAGS="$CFLAGS"
|
|
||||||
|
|
||||||
case "$enable_compile_warnings" in
|
case "$enable_compile_warnings" in
|
||||||
no)
|
no)
|
||||||
warning_flags=
|
|
||||||
;;
|
;;
|
||||||
minimum)
|
minimum)
|
||||||
warning_flags="-Wall"
|
try_compiler_flags="$try_compiler_flags -Wall"
|
||||||
;;
|
;;
|
||||||
yes)
|
yes)
|
||||||
warning_flags="-Wall -Wmissing-prototypes"
|
try_compiler_flags="$try_compiler_flags -Wall -Wmissing-prototypes"
|
||||||
;;
|
;;
|
||||||
maximum|error)
|
maximum|error)
|
||||||
warning_flags="-Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith"
|
try_compiler_flags="$try_compiler_flags -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith"
|
||||||
warning_flags="$warning_flags -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls"
|
try_compiler_flags="$try_compiler_flags -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return"
|
||||||
CFLAGS="$warning_flags $CFLAGS"
|
try_compiler_falgs="$try_compiler_flags -Wstrict-prototypes -Winline -Wredundant-decls -Wno-sign-compare"
|
||||||
for option in -Wno-sign-compare; do
|
|
||||||
SAVE_CFLAGS="$CFLAGS"
|
|
||||||
CFLAGS="$CFLAGS $option"
|
|
||||||
AC_MSG_CHECKING([whether gcc understands $option])
|
|
||||||
AC_TRY_COMPILE([], [],
|
|
||||||
has_option=yes,
|
|
||||||
has_option=no,)
|
|
||||||
CFLAGS="$SAVE_CFLAGS"
|
|
||||||
AC_MSG_RESULT($has_option)
|
|
||||||
if test $has_option = yes; then
|
|
||||||
warning_flags="$warning_flags $option"
|
|
||||||
fi
|
|
||||||
unset has_option
|
|
||||||
unset SAVE_CFLAGS
|
|
||||||
done
|
|
||||||
unset option
|
|
||||||
if test "$enable_compile_warnings" = "error" ; then
|
if test "$enable_compile_warnings" = "error" ; then
|
||||||
warning_flags="$warning_flags -Werror"
|
try_compiler_flags="$try_compiler_flags -Werror"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings)
|
AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
compiler_flags=
|
||||||
|
for option in $try_compiler_flags; do
|
||||||
|
SAVE_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS $option"
|
||||||
|
AC_MSG_CHECKING([whether gcc understands $option])
|
||||||
|
AC_TRY_COMPILE([], [],
|
||||||
|
has_option=yes,
|
||||||
|
has_option=no,)
|
||||||
|
CFLAGS="$SAVE_CFLAGS"
|
||||||
|
AC_MSG_RESULT($has_option)
|
||||||
|
if test $has_option = yes; then
|
||||||
|
compiler_flags="$compiler_flags $option"
|
||||||
|
fi
|
||||||
|
unset has_option
|
||||||
|
unset SAVE_CFLAGS
|
||||||
|
done
|
||||||
|
unset option
|
||||||
|
unset try_compiler_flags
|
||||||
|
|
||||||
CFLAGS="$realsave_CFLAGS"
|
CFLAGS="$realsave_CFLAGS"
|
||||||
AC_MSG_CHECKING(what warning flags to pass to the C compiler)
|
|
||||||
AC_MSG_RESULT($warning_flags)
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(iso-c,
|
AC_ARG_ENABLE(iso-c,
|
||||||
AC_HELP_STRING([--enable-iso-c],
|
AC_HELP_STRING([--enable-iso-c],
|
||||||
@ -85,6 +82,6 @@ AC_DEFUN([LIBVIRT_COMPILE_WARNINGS],[
|
|||||||
fi
|
fi
|
||||||
AC_MSG_RESULT($complCFLAGS)
|
AC_MSG_RESULT($complCFLAGS)
|
||||||
|
|
||||||
WARN_CFLAGS="$warning_flags $complCFLAGS"
|
WARN_CFLAGS="$compiler_flags $complCFLAGS"
|
||||||
AC_SUBST(WARN_CFLAGS)
|
AC_SUBST(WARN_CFLAGS)
|
||||||
])
|
])
|
||||||
|
Loading…
Reference in New Issue
Block a user