EmbDev.net

Forum: ARM programming with GCC/GNU tools Seg fault building Newlib


Author: Clifford Slocombe (clifford)
Posted on:

Rate this post
0 useful
not useful
This is the error message:

gcc -I/e/projects/newlib/newlib-1.14.0/newlib/targ-include
-I/e/projects/newlib/newlib-1.14.0/newlib/libc/include
-DPACKAGE=\"newlib\" -DVERSION=\"1.14.0\"  -I. -I.  -I./../common -O2
-D__NO_SYSCALLS__ -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY -fno-builtin
-mfpu=vfp -mfloat-abi=softfp -mhard-float -mthumb-interwork
-mlittle-endian    -g -c s_floor.c
s_floor.c: In function 'floor':
s_floor.c:90: internal compiler error: Segmentation fault

Compiler: gcc version 4.0.2 (WinARM)

This fault occurs specifically with -mfpu=vfp -mfloat-abi=softfp
(suggested here:
http://www.codesourcery.com/gnu_toolchains/arm/faq...).
The occurance of the fault is influenced by the source being compiled,
since other sources with floating point code have compiled. I have also
seen this error in code I used for evaluating the Philips LPC3180, teh
problem went away when I modified the code. Unfortunately I do not have
the details.

I understand that few of you have need for VFP code, but if anybody has
any ideas, solutions, or knows if it persists in 4.1.1 I'd be
interested.

Thanks,

Clifford

Author: Clifford Slocombe (clifford)
Posted on:

Rate this post
0 useful
not useful
I have narrowed it down and can reproduce the error with the following:

arm-elf-gcc -c -O2 -mfpu=vfp -mfloat-abi=softfp test.c

where test.c contains:

void test( double x )
{
  return( x >= 0 ? 0 : -1.0 ) ;
}

In fact any expression in the return involving an inequality against x
seems to cause the problem. This code was simply a hack of the code in
mathfp\s_floor.c until I got the smallest code that failed without any
dependencies.

It is the combination -mfpu=vfp and any level of optimisation other than
zero (i.e. no optimisation) that causes the problem. Now I've simplified
it, if someone could try this on GCC 4.1.1 before I risk an upgrade I'd
appreciate it.


Thanks

Clifford

Author: Clifford Slocombe (clifford)
Posted on:

Rate this post
0 useful
not useful
Clifford Slocombe wrote:
> ... if someone could try this on GCC 4.1.1 before I risk an upgrade I'd
> appreciate it.

I have now done this myself and can verify the 4.1.1 does not exhibit
this problem.

Clifford

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.