[cairo] [PATCH] pixman solaris hwcap configure test
Soeren Sandmann
sandmann at daimi.au.dk
Sun Jul 19 13:53:54 PDT 2009
M Joonas Pihlaja <jpihlaja at cc.helsinki.fi> writes:
> The GNU linker doesn't understand the Solaris linker's hwcap files,
> but also doesn't seem to have the problem of marking the final .so as
> SSE/MMX only -- a feature of the native linker which required the
> mapfile in the first place. The patch below adds a configure test
> to see if the linker understands the hwcap mapfile.
Looks good to me.
Soren
> commit 6aa26296f5831bddc9b3f3e3e2ea018fc0cefb75
> Author: M Joonas Pihlaja <jpihlaja at cc.helsinki.fi>
> Date: Sun Jul 19 18:20:53 2009 +0300
>
> Check whether the linker understands the hwcap file before using it.
>
> If we're trying to use the GNU linker on Solaris we shouldn't use
> our solaris-hwcap.mapfile since it doesn't grok the mapfile format.
>
> diff --git a/configure.ac b/configure.ac
> index ea9c4fd..76cf691 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -267,9 +267,19 @@ case $host_os in
> solaris*)
> # When building 32-bit binaries, apply a mapfile to ensure that
> the
> # binaries aren't flagged as only able to run on MMX+SSE
> capable CPUs
> - # since they check at runtime before using those instructions
> + # since they check at runtime before using those instructions.
> + # Not all linkers grok the mapfile format so we check for that first.
> if test "$AMD64_ABI" = "no" ; then
> - HWCAP_LDFLAGS='-Wl,-M,$(srcdir)/solaris-hwcap.mapfile'
> + use_hwcap_mapfile=no
> + AC_MSG_CHECKING(whether to use a hardware capability map
> file)
> + hwcap_save_LDFLAGS="$LDFLAGS"
> + HWCAP_LDFLAGS='-Wl,-M,$(srcdir)/solaris-hwcap.mapfile'
> + LDFLAGS="$LDFLAGS -Wl,-M,pixman/solaris-hwcap.mapfile"
> + AC_LINK_IFELSE([int main() { return 0; }],
> + use_hwcap_mapfile=yes,
> + HWCAP_LDFLAGS="")
> + LDFLAGS="$hwcap_save_LDFLAGS"
> + AC_MSG_RESULT($use_hwcap_mapfile)
> fi
> if test "x$MMX_LDFLAGS" = "x" ; then
> MMX_LDFLAGS="$HWCAP_LDFLAGS"
More information about the cairo
mailing list