Re: [PATCH libdrm] configure.ac: rework compiler builtin atomic tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jonathan,

On 29 August 2015 at 08:32, Jonathan Gray <jsg@xxxxxxxxx> wrote:
> The libdrm autoconf test for atomics uses __sync_val_compare_and_swap with
> the address of a function argument which triggers a gcc ICE on sparc64
> with the OpenBSD system compiler.
>
> Mark Kettenis pointed out that while other architectures probably spill the
> argument onto the stack this is likely not the case on register window
> architectures like SPARC and suggested passing a pointer as an argument
> instead which avoids the ICE and allows the drm libraries requiring
> atomics to build on sparc64 with the autoconf build.
>
> Reported-by: Christian Weisgerber <naddy@xxxxxxxxxxx>
> Signed-off-by: Jonathan Gray <jsg@xxxxxxxxx>
> Reviewed-by: Mark Kettenis <kettenis@xxxxxxxxxxx>
> Reviewed-by: Matthieu Herrb <matthieu@xxxxxxxxxxx>
> ---
>  configure.ac | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index f07507b..705ac3e 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -210,8 +210,8 @@ AC_CACHE_CHECK([for native atomic primitives], drm_cv_atomic_primitives, [
>         drm_cv_atomic_primitives="none"
>
>         AC_LINK_IFELSE([AC_LANG_PROGRAM([[
> -       int atomic_add(int i) { return __sync_fetch_and_add (&i, 1); }
> -       int atomic_cmpxchg(int i, int j, int k) { return __sync_val_compare_and_swap (&i, j, k); }
> +       int atomic_add(int *i) { return __sync_fetch_and_add (i, 1); }
> +       int atomic_cmpxchg(int *i, int j, int k) { return __sync_val_compare_and_swap (i, j, k); }
>                                           ]],[[]])], [drm_cv_atomic_primitives="Intel"],[])
>
Just pushed this patch to master.

Sorry that it took so long - must have missed it. Feel free to ping if
you catch us 'sleeping on the job'.

Thanks
Emil
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux