Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Mon, 08 Jul 2013 11:58:03 -0400
From: Ian Denhardt <>
Subject: Compile error doing cross build on arm


So I just hit a compilation error trying to cross compile musl for arm:

arm-elf-gcc -std=c99 -nostdinc -ffreestanding -fexcess-precision=standard -frounding-math -D_XOPEN_SOURCE=700 -I./arch/arm -I./src/internal -I./include  -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  -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: some warnings being treated as errors
make: *** [src/stdio/vfwprintf.o] Error 1
make: *** Waiting for unfinished jobs....

I'm using the 0.9.11 release. My config.mak looks like:

# This version of config.mak was generated by configure
# Any changes made here will be lost if configure is re-run
ARCH = arm
prefix = ../arm
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
libdir = $(prefix)/lib
includedir = $(prefix)/include
syslibdir = /lib
CC = arm-elf-gcc
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
LDFLAGS = -Wl,--hash-style=both 
LIBCC = -lgcc

The compiler is gcc 4.7.2 (installed the archlinux arm-elf-gcc-base package.)

If I remove the -Werror=pointer-sign flag, it builds, but I try not to just
ignore such things. Thoughts?

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.