GMP 6.0 miscompiles for arm-unknown-linux-gnueabihf

leif not.really at online.de
Fri Apr 4 11:40:55 UTC 2014


On 04.04.2014 09:13, Torbjorn Granlund wrote:
> "Steve M. Robbins" <steve at sumost.ca> writes:
>
>    libtool: compile:  arm-linux-gnueabihf-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -
>    I../../mpn -I.. -D__GMP_WITHIN_GMP -I../.. -DOPERATION_div_qr_1n_pi1 -
>    D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
>    -Werror=format-security -O3 -c div_qr_1n_pi1.c  -fPIC -DPIC -o
>    .libs/div_qr_1n_pi1.o
>    /tmp/cchR2I5u.s: Assembler messages:
>    /tmp/cchR2I5u.s:178: Error: thumb conditional instruction should be in IT
>    block -- `movcc r4,#0'
>    /tmp/cchR2I5u.s:179: Error: thumb conditional instruction should be in IT
>    block -- `movcs r4,#-1'
>    /tmp/cchR2I5u.s:419: Error: thumb conditional instruction should be in IT
>    block -- `movcc r4,#0'
>    /tmp/cchR2I5u.s:420: Error: thumb conditional instruction should be in IT
>    block -- `movcs r4,#-1'
>    make[3]: *** [div_qr_1n_pi1.lo] Error 1
>
> These come from inline asm in the mpn/generic/div_qr_1n_pi1.c.
>
> This is a new bug, in probably in the assembler which mistakes plain old
> ARM instructions for Thumb instructions, but possibly the compiler
> passes some silly options to misdirect the assembler.

FWIW,

GMP 5.1.3 build:

Toolchain package versions: binutils_2.23.90.20131116-1 ... 
gcc-4.8_4.8.2-4 ...

GMP 6.0.0 build:

Toolchain package versions: binutils_2.24-3 ... gcc-4.8_4.8.2-16 ...


-leif

-- 
() The ASCII Ribbon Campaign
/\   Help Cure HTML E-Mail


More information about the gmp-bugs mailing list