xserver_xorg-server: disable libunwind on MIPS with 32-bit pointers
authorVicente Olivert Riera <Vincent.Riera@imgtec.com>
Fri, 5 Dec 2014 11:17:02 +0000 (11:17 +0000)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 7 Dec 2014 21:09:44 +0000 (22:09 +0100)
libunwind support in xorg-server is not only broken for MIPS64 n32 but
for all MIPS variants with 32-bit pointers. The reason is exactly the
same one. libunwind defines a uint64 variable to store the words. Then,
xorg-server casts that variable (64-bit) into a pointer (32-bit), and
the compilation fails:

backtrace.c:98:13: error: cast to pointer from integer of different size
[-Werror=int-to-pointer-cast]

Related:
  https://bugs.freedesktop.org/show_bug.cgi?id=79939

Fixes:
  http://autobuild.buildroot.net/results/87b/87be2c95957f9925c1258812e536df72689fc5da/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk

index 4164ccfa5af47954b9b6d370f9cc2c5fbb8e1666..91b4f03dbeddd8486c67cba5f206928c13f3417d 100644 (file)
@@ -144,10 +144,11 @@ ifeq ($(BR2_PACKAGE_FREETYPE),y)
 XSERVER_XORG_SERVER_DEPENDENCIES += freetype
 endif
 
-# libunwind support is broken on MIPS64 n32
+# libunwind support is broken on all MIPS variants with 32-bit pointers
 # https://bugs.freedesktop.org/show_bug.cgi?id=79939
-ifeq ($(BR2_PACKAGE_LIBUNWIND)-$(BR2_MIPS_NABI32),y-)
+ifeq ($(BR2_PACKAGE_LIBUNWIND)-$(BR2_MIPS_OABI32)-$(BR2_MIPS_NABI32),y--)
 XSERVER_XORG_SERVER_DEPENDENCIES += libunwind
+XSERVER_XORG_SERVER_CONF_OPTS += --enable-libunwind
 else
 XSERVER_XORG_SERVER_CONF_OPTS += --disable-libunwind
 endif