| Summary: | sys-devel/gcc-4.6.3: ARM compilation failure: error: ./gcc/crtbeginS.o uses VFP register arguments, ./libgcc_s.so.1.tmp does not | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Hanno Böck <hanno> |
| Component: | [OLD] Core system | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | CC: | arm, hanno |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: | gcc-4.6.3-compile.log.xz | ||
|
Description
Hanno Böck
2012-09-29 11:48:51 UTC
Created attachment 325302 [details]
gcc-4.6.3-compile.log.xz
Seems I'm not alone: http://forums.gentoo.org/viewtopic-t-934492-start-0.html This indicates that gcc tries to forcibly build with hardfp on a softftp system. (In reply to comment #1) > Created attachment 325302 [details] > gcc-4.6.3-compile.log.xz Lines 130 and 131 say: CFLAGS="-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16" CXXFLAGS="-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16" This says to use a floating point unit so somewhere somehow in your toolchain you have a mix of both soft and hard. The VFP register are used in hard float. To guarantee that you're getting softfloat, add CFLAGS="-mfloat-abi=soft" or softfp. Man gcc for the difference. But both will generate libraries for calls to floating point operations. > To guarantee that you're getting softfloat, add CFLAGS="-mfloat-abi=soft"
> or softfp.
Look at my emerge --info output:
CFLAGS="-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp"
I already have that.
(In reply to comment #4) > > To guarantee that you're getting softfloat, add CFLAGS="-mfloat-abi=soft" > > or softfp. > > Look at my emerge --info output: > CFLAGS="-O2 -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp" > > I already have that. Yeah I see that now that you point it out. I don't understand why the log doesn't show that. Also around lines 2850 to 2925, it looks like the build system is aware of the soft float. For curiosity, can you try dropping -mfpu=vfpv3-d16 and usuing just -mfloat-abi=soft. Dropping -mfpu=vfpv3-d16 and using either softfp or soft both produce just the same error. your CHOST is wrong if you want softfp. as announced already, armv7 targets default to hardfp by design. *** This bug has been marked as a duplicate of bug 416727 *** |