[cairo] [PATCH] Remove LTO support

Bryce Harrington bryce at osg.samsung.com
Mon Jul 21 22:38:13 PDT 2014


On Mon, Jul 21, 2014 at 05:10:16PM +0200, Uli Schlachter wrote:
> 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:
> 
> c3645d97ebd24c6f7ad850785d585aebc706a11c configure.ac: Add a --disable-lto configure option
> d486ea30f1a58640a1178de74f705a73845b1cda configure: Conditionally include -flto
> 0870c6fb5b39dcc04fa376123848adde2d06d2ce 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 at chris-wilson.co.uk>
> Signed-off-by: Uli Schlachter <psychon at znc.in>

Reviewed-by: Bryce Harrington <b.harrington at samsung.com>

I've no qualms about seeing this go.  However I do wonder if there is a
benefit to it, that we'd lose?  I gather it optimizes the build process,
but I can't tell if there are any user-visible benefits?

> ---
>  build/configure.ac.warnings | 16 ----------------
>  1 file changed, 16 deletions(-)
> 
> diff --git a/build/configure.ac.warnings b/build/configure.ac.warnings
> index a72d948..2c4e34d 100644
> --- a/build/configure.ac.warnings
> +++ b/build/configure.ac.warnings
> @@ -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
> -- 
> 2.0.1
> 
> -- 
> cairo mailing list
> cairo at cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo

----- End forwarded message -----


More information about the cairo mailing list