This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See crosstool-NG for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
You are correct, that is the root of the issue. Can you add -v to that gcc invocation and post the output? On Thu, Mar 21, 2019, 23:58 Lewis Zhou <lewisou@gmail.com> wrote: > Hi, > > I am pretty sure the root cause is this: > ~/OpenProj/linux-beagleboard/scripts$ arm-cortex_a8-linux-gnueabihf > -Werror -march=armv7-a -c -x c /dev/null -o "$$TMP" > cc1: error: -mfloat-abi=hard: selected processor lacks an FPU > > Why does the arm-cortex_a8-linux-gnueabihf toolchain built by ct-ng > emit this error? Which make the Kbuild believe the CC not support > armv7-a! > > > Kind regards, > Lewis > > On Fri, Mar 22, 2019 at 11:30 AM Lewis Zhou <lewisou@gmail.com> wrote: > > > > Hi, > > > > I was using arm-cortex_a8-linux-gnueabihf built by ct-ng to compile > > Linux-4.19 and got a stranger cc-option -march=armv5t > > -Wa,-march=armv7-a which is believed to cause the make failure. > > > > After some investigations, I guess that a line in the > > ./arch/arm/Makefile below generated the strange cc-option: > > > > arch-$(CONFIG_CPU_32v7) =-D__LINUX_ARM_ARCH__=7 $(call > > cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a) > > > > But I have no idea why. I have tried the arm-linux-gnueabihf package > > on Ubuntu, that works ok. > > > > Kind regards, > > Lewis > > > > On Thu, Mar 21, 2019 at 4:40 PM Austin Morton <austinpmorton@gmail.com> > wrote: > > > > > > Any recent version of gcc should spit out a list of supported March > values if invoked with an invalid value. (read gcc 7 or higher). > > > > > > What does this command output on your compiler? > > > > > > # gcc -E -march=help -xc /dev/null > > > > > > > https://stackoverflow.com/questions/47299458/how-can-i-determine-what-architectures-gcc-supports > > > > > > On Thu, Mar 21, 2019, 04:25 Lewis Zhou <lewisou@gmail.com> wrote: > > >> > > >> Hi, > > >> > > >> I recently tried to compile the barebox bootloaer with the > > >> arm-cortex_a8-linux-gnueabihf configuration which is based on the > > >> sample configuration arm-cortex_a8-linux-gnueabi with the hardware > > >> float enabled. > > >> > > >> However, the compiler (gcc) seems not support -march=armv7-a flag. I > > >> think something is wrong as the cortex_a8 is a sub-architecture of > > >> armv7-a. > > >> > > >> The toolchain failed to compile both the barebox and the linux kernel > > >> (4.19). Please help! Attached is a response from the barebox mailing > > >> list. > > >> > > >> > > >> Kind regards, > > >> Lewis > > >> > > >> ---------- Forwarded message --------- > > >> From: Sascha Hauer <s.hauer@pengutronix.de> > > >> Date: Thu, Mar 21, 2019 at 4:06 PM > > >> Subject: Re: selected processor does not support `rev r7,r7' > > >> To: Lewis Zhou <lewisou@gmail.com> > > >> Cc: <barebox@lists.infradead.org> > > >> > > >> > > >> On Thu, Mar 21, 2019 at 03:53:06PM +0800, Lewis Zhou wrote: > > >> > Hi Sascha, > > >> > > > >> > Here's the log: > > >> > > > >> > make -f scripts/Makefile.build obj=common > > >> > > > >> > arm-cortex_a8-linux-gnueabihf-gcc -Wp,-MD,common/.memory.o.d > > >> > -nostdinc -isystem > > >> > > /home/lewis/x-tools/arm-cortex_a8-linux-gnueabihf/lib/gcc/arm-cortex_a8-linux-gnueabihf/8.3.0/include > > >> > -D__KERNEL__ -D__BAREBOX__ -Iinclude > > >> > -I/home/lewis/OpenProj/barebox/dts/include > > >> > -I/home/lewis/OpenProj/barebox/arch/arm/include > > >> > -I/home/lewis/OpenProj/barebox/arch/arm/include -include > > >> > /home/lewis/OpenProj/barebox/include/linux/kconfig.h -fno-builtin > > >> > -ffreestanding -D__ARM__ -fno-strict-aliasing -marm -mlittle-endian > > >> > -mabi=aapcs-linux -mno-thumb-interwork -D__LINUX_ARM_ARCH__=7 > > >> > -march=armv5t -Wa,-march=armv7-a -msoft-float -mthumb > > >> > > >> -march=armv5t -Wa,-march=armv7-a shouldn't be here. It comes from this > > >> line in arch/arm/Makefile: > > >> > > >> arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call > > >> cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a) > > >> > > >> This means the build process will use "-march=armv7-a" when the > compiler > > >> supports it. Apparently it does not, so it will fall back to > > >> "-march=armv5t -Wa,-march=armv7-a". armv5t doesn't support thumb2 > code, > > >> only thumb and as it seems thumb does not support the "rev" > instruction. > > >> > > >> Your compiler should really support "-march=armv7-a". If it doesn't I > > >> really think there is something wrong with it. > > >> > > >> Sascha > > >> > > >> -- > > >> Pengutronix e.K. | > | > > >> Industrial Linux Solutions | > http://www.pengutronix.de/ | > > >> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: > +49-5121-206917-0 | > > >> Amtsgericht Hildesheim, HRA 2686 | Fax: > +49-5121-206917-5555 | >
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |