xserver_xorg-server: disable libunwind on MIPS with 32-bit pointers
PATCH 1/1 xserver_xorg-server: disable libunwind on MIPS with 32-bit pointers
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/
--- .../xserver_xorg-server/xserver_xorg-server.mk | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +3 -2
@@ -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
Signature · 1 line
1.7.1
Thomas Petazzoni
AppliedPATCH 1/1 xserver_xorg-server: disable libunwind on MIPS with 32-bit pointers
Dear Vicente Olivert Riera,
Quoted 9 lines · Vicente Olivert Riera
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]
Quoted 7 lines
Related:
https://bugs.freedesktop.org/show_bug.cgi?id=79939Fixes:
http://autobuild.buildroot.net/results/87b/87be2c95957f9925c1258812e536df72689fc5da/Signed-off-by Vicente Olivert Riera <[email protected]>
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/1 xserver_xorg-server: disable libunwind on MIPS with 32-bit pointers
In reply to Vicente Olivert RieraQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Vicente" == Vicente Olivert Riera <[email protected]> writes:
Hi,
Quoted 25 lines
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=79939Fixes:
http://autobuild.buildroot.net/results/87b/87be2c95957f9925c1258812e536df72689fc5da/Signed-off-by Vicente Olivert Riera <[email protected]>--- .../xserver_xorg-server/xserver_xorg-server.mk | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +0
-0
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk ifeq ($(BR2_PACKAGE_FREETYPE),y) · line 149
Quoted 8 lines
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +2
-2@@ -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--)
The dash (-) between _OABI32 and _NABI32 is not strictly needed. The only reason we had it before is that we wanted to detect libunwind AND !NABI32, so when they expand to 'y' and '', and not confuse it with !libunwind ('') AND NABI32 ('y'), so we needed a separator.
Signature · 1 line
Bye, Peter Korsgaard