From dc8fd96e4ba6036e4d527e3cdcef90ec4bd7f5ef Mon Sep 17 00:00:00 2001 From: Danny Robson Date: Wed, 18 Mar 2015 17:14:58 +1100 Subject: [PATCH] build: bump m4 to use data-sections, func-sections --- m4/nc_optimisation.m4 | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/m4/nc_optimisation.m4 b/m4/nc_optimisation.m4 index f3a77117..6d672783 100644 --- a/m4/nc_optimisation.m4 +++ b/m4/nc_optimisation.m4 @@ -7,6 +7,8 @@ AC_DEFUN([NC_OPTIMISATION],[ AX_COMPILER_VENDOR ##------------------------------------------------------------------------- + ## Enable LTO + AC_ARG_ENABLE([lto], [ AS_HELP_STRING([--enable-lto], [enable link-time optimisation]) ]) @@ -28,6 +30,8 @@ AC_DEFUN([NC_OPTIMISATION],[ ]) ##------------------------------------------------------------------------- + ## Choose the most performant processor architecture and features + AC_CANONICAL_HOST AS_CASE([$host_cpu], @@ -50,6 +54,9 @@ AC_DEFUN([NC_OPTIMISATION],[ AX_APPEND_COMPILE_FLAGS([-mfpmath=sse], [], [-Werror]) AX_APPEND_COMPILE_FLAGS([-msahf], [], [-Werror]) + ##------------------------------------------------------------------------- + ## Enable aggressive code generation optimisations + AS_IF([test "x$enable_debugging" != "xyes"], [ AX_APPEND_COMPILE_FLAGS([-ftree-loop-distribute-patterns], [], [-Werror]) AX_APPEND_COMPILE_FLAGS([-ftree-loop-if-convert-stores], [], [-Werror]) @@ -60,4 +67,15 @@ AC_DEFUN([NC_OPTIMISATION],[ # performance than security. AX_APPEND_COMPILE_FLAGS([-fno-stack-protector], [], [-Werror]) ]) + + ##------------------------------------------------------------------------- + ## Enable code size optimisations (that don't impact performance) + ## Note: we assume CXX, and that CXXLINK is g++ not ld, hence the -Wl opt + AS_IF([test "x$enable_debugging" != "xyes"], [ + AX_CHECK_LINK_FLAG([-Wl,--gc-sections], [ + AX_APPEND_COMPILE_FLAGS([-fdata-sections], [], [-Werror]) + AX_APPEND_COMPILE_FLAGS([-ffunction-sections], [], [-Werror]) + AX_APPEND_LINK_FLAGS([-Wl,--gc-sections], [], [-Werror]) + ]) + ]) ])