Date: Mon, 8 Jul 2013 14:35:17 -0400 From: Rich Felker <dalias@...ifal.cx> To: musl@...ts.openwall.com Cc: ian@...hack.net Subject: Re: Compile error doing cross build on arm On Mon, Jul 08, 2013 at 07:51:52PM +0200, Harald Becker wrote: > Hi Ian ! > > 08-07-2013 11:58 Ian Denhardt <ian@...hack.net>: > > > So I just hit a compilation error trying to cross compile musl > > for arm: > > -fno-stack-protector -c -o src/stdio/vfwprintf.o > > src/stdio/vfwprintf.c src/stdio/vfwprintf.c: In function > > 'wprintf_core': src/stdio/vfwprintf.c:195:3: error: pointer > > targets in passing argument 2 of 'wcsspn' differ in signedness > > [-Werror=pointer-sign] In file included from > > src/stdio/vfwprintf.c:7:0: ./include/wchar.h:62:8: note: > > expected 'const wchar_t *' but argument is of type 'int *' cc1: > > > CFLAGS= -Os -pipe -fomit-frame-pointer -fno-unwind-tables > > -fno-asynchronous-unwind-tables -Wa,--noexecstack > > -falign-functions=1 -falign-labels=1 -falign-loops=1 > > -falign-jumps=1 -Werror=implicit-function-declaration > > -Werror=implicit-int -Werror=pointer-sign -Werror=pointer-arith > > -fno-stack-protector CFLAGS_C99FSE = -std=c99 -nostdinc > > -ffreestanding -fexcess-precision=standard -frounding-math > > It is curious, but I had similar compile error on native ARM > compile (gcc 4.6.4). They vanished after removing some of the > option on my CFLAGS list. Didn't analyze this, but probable > candidates the unwind-tables and math options. So play a bit with > your CFLAGS list, try "CFLAGS=-Os" if problem vanishes. The direct source of this error is that the compiler's wchar_t is defined as int rather than unsigned. ARM EABI requires (stupidly) that wchar_t be unsigned, so we follow that. The indirect cause of the error, and the real problem, is almost surely that the compiler was configured for old, pre-EABI ARM ABI. This ABI is NOT supported by musl, and will lead to various major problems that could otherwise go undetected for a long time, like misaligned structures (the old ABI only had 4-byte alignment for 64-bit types, for example). So this issue needs to be checked and fixed before moving ahead. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.