On Wed, Apr 04, 2018 at 10:59:18AM +1000, matthew green wrote:
> Christos Zoulas writes:
> > In article <21473.1522789...@splode.eterna.com.au>,
> > matthew green wrote:
> > >"Ryo Shimizu" writes:
> > >> Module Name: xsrc
> > >> Committed By:ryo
> > >> Date:Tue Apr 3 19:53:57 UTC 2018
> > >>
> > >> Modified Files:
> > >> xsrc/external/mit/xorg-server/dist/hw/xfree86/drivers/modesetting:
> > >> driver.h present.c vblank.c
> > >>
> > >> Log Message:
> > >> Fix compile error on evbarm-aarch64. (incompatible pointer types
> > >initializing 'present_get_ust_msc_ptr')
> > >
> > >sounds like this is a different error. why isn't CARD64 a
> > >uint64_t or similarly compatible for arm64? this sounds
> > >like a problem with the environemnt, and not something to
> > >work around here.
> > >
> > >is _XSERVER64 not defined, or whatever it is?
> > >
> > >thanks.
> >
> > Yes, the problem is the compiler but this is an X bug.
> >
> > uint64_t is defined to be unsigned long long and CARD64 is unsigned long.
> > They are simply not exchangeable and the compiler has the right to define
> > things this way. Well, I've complained to joerg to normalize it and make
> > it like all other _LP64 platforms, but there is an embargo committing to
> > llvm.
>
> can we have a hack in the Makefile for arm64 and not
> touch the sources (for everyone)?
We can just make the warning non-fatal for now. Like the attached patch.
Joerg
diff -r 22ec71aea77a
external/mit/xorg/server/xorg-server/hw/xfree86/drivers/modesetting/Makefile
---
a/external/mit/xorg/server/xorg-server/hw/xfree86/drivers/modesetting/Makefile
Wed Apr 04 06:30:09 2018 +
+++
b/external/mit/xorg/server/xorg-server/hw/xfree86/drivers/modesetting/Makefile
Thu Apr 05 00:36:55 2018 +0200
@@ -29,3 +29,7 @@
DRIVER_NO_FAKE_INCLUDE=# defined
.include "../../../../../drivers/Makefile.xf86-driver"
+
+.if ${MACHINE_ARCH:Maarch64*}
+CWARNFLAGS.clang+= -Wno-error=incompatible-pointer-types
+.endif