[Buildroot] [PATCH] xserver_xorg-server: libunwind support is broken on MIPS64 n32

Vicente Olivert Riera Vincent.Riera at imgtec.com
Mon Dec 1 12:33:42 UTC 2014


Also, the former patch was a bit weird. In the commit log you said you
wanted to disable libunwind support for MIPS64, but you only did it for
MIPS64 Little Endian (BR2_mips64el). Why only the little endian variant
and not both big and little endian variants?

Anyway, this is not related to the endianess or the bitness. It's
related to the ABI. In the bug report is explained that it fails only
for the n32 ABI because libunwind assumes a 64bit word size for all
MIPS64 variants, which is wrong. MIPS64 n32 has a 32bit word size. Then,
xorg-server tries to do a conversion of a 64bit variable provided by
libunwind into a (void *), which is 32bit in MIPS64 n32, and it fails
with a message like this one:

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

-- 
Vicente Olivert Riera
Graduate Software Engineer, MIPS Platforms
Imagination Technologies Limited
t: +44 (0)113 2429814
www.imgtec.com



More information about the buildroot mailing list