Remove LTO support

This just never worked too well and caused too many issues. I don't think anyone
will miss this.

As mentioned in the below bug report, proper LTO support also requires using
special versions of ranlib, nm and ar which support the LTO object files.
Otherwise, calling the normal ranlib on an .a library breaks the list of
exported symbols and thus completely breaks the static library.

This (partly) reverts the following commits:

c3645d97eb configure.ac: Add a --disable-lto configure option
d486ea30f1 configure: Conditionally include -flto
0870c6fb5b gcc-4.5 warnings and optimisation flags.

(The last commit is the one which brought us -flto in the first place even
though it doesn't talk about this. It's also the one which is only reverted
partly.)

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=77060
CC: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Bryce Harrington <b.harrington@samsung.com>
This commit is contained in:
Uli Schlachter 2014-07-21 17:10:16 +02:00 committed by Bryce Harrington
parent 27c9923e98
commit c7ff9bb32e

View file

@ -35,22 +35,6 @@ MAYBE_WARN="$MAYBE_WARN -erroff=E_ENUM_TYPE_MISMATCH_ARG \
dnl We also abuse the warning-flag facility to enable other compiler
dnl options. Namely, the following:
dnl -flto working really needs a test link, not just a compile
AC_ARG_ENABLE(lto,
AS_HELP_STRING([--disable-lto],
[Do not try to use Link-Time Optimization]))
if test "x$enable_lto" != "xno"; then
safe_MAYBE_WARN="$MAYBE_WARN"
MAYBE_WARN="$MAYBE_WARN -flto"
AC_TRY_LINK([],[
int main(int argc, char **argv) { return 0; }
],[],[
MAYBE_WARN="$safe_MAYBE_WARN"
])
fi
MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"
dnl Also to turn various gcc/glibc-specific preprocessor checks