[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Ltib] where is the '-mcpu' type specified? -> linux kernel build wa
From: |
Lambrecht Jürgen |
Subject: |
Re: [Ltib] where is the '-mcpu' type specified? -> linux kernel build warning |
Date: |
Mon, 28 Nov 2011 09:53:58 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101208 Lightning/1.0b2 Thunderbird/3.1.7 |
On 11/24/2011 08:14 PM, Peter Barada wrote:
>
> On 11/24/2011 10:27 AM, Lambrecht Jürgen wrote:
> > I have a strange error during the kernel build (see below): aparently,
> > the architecture is not specified ?? (see "-march=" below)
> > Where is the 'arch' type specified for the kernel in ltib?
> > (In my platform main.lkc, LINTARCH=arm. So that is OK.)
> Look in the kernel source, specificially arch/arm/Makefile - depending
> on the version you'll see KBUILD_CFLAGS define dusing $(arch-y) and
> $(tune-y) which are set based on CONFIG_CPU_XXX being set.
>
It uses
arch-$(CONFIG_CPU_32v5) :=-D__LINUX_ARM_ARCH__=5 $(call
cc-option,-march=armv5te,-march=armv4t)
> You might want to also build your kernel, then look for the line "+ make
> ARCH=arm 'HOSTCC=ccache /usr/bin/gcc -B/usr/bin//' uImage" that builds
> uImage. Open up another shell, then execute "./ltib -m shell" and cd
> into your kernel build directory (rpm/build/kernel-xxx usually), and
> execute the make target that build uImage. However add "V=1" after the
> make; this causes the build to show you the compiler command line so you
> can see the -mcpu= and -march= selections your kernel is making.
> Remember to exit this new shell, or "ltib" will fail to build (due to
> .lock_file existing).
>
In that ltib shell, I can see it is correct (it contains
"-march=armv5te"), so the kernel is build with the correct options:
make -f /usr/src/cross/Linux-svn/scripts/Makefile.build obj=.
missing-syscalls
/bin/bash /usr/src/cross/Linux-svn/scripts/checksyscalls.sh gcc
-Wp,-MD,./.missing-syscalls.d -nostdinc -isystem
/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/lib/gcc/arm-none-linux-gnueabi/4.1.2/include
-I/usr/src/cross/Linux-svn/arch/arm/include -Iarch/arm/include/generated
-Iinclude -I/usr/src/cross/Linux-svn/include -include
include/generated/autoconf.h -I/usr/src/cross/Linux-svn/. -I.
-D__KERNEL__ -mlittle-endian
-I/usr/src/cross/Linux-svn/arch/arm/mach-imx/include
-I/usr/src/cross/Linux-svn/arch/arm/plat-mxc/include -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -Wno-format-security
-fno-delete-null-pointer-checks -Os -marm -fno-omit-frame-pointer -mapcs
-mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork
-D__LINUX_ARM_ARCH__=5 -march=armv5te -mtune=arm9tdmi -msoft-float -Uarm
-fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls
-Wdeclaration-after-statement -Wno-pointer-sign -D"KBUILD_STR(s)=#s"
-D"KBUILD_BASENAME=KBUILD_STR(missing_syscalls)"
-D"KBUILD_MODNAME=KBUILD_STR(missing_syscalls)"
But this is the next line:
:0: warning: switch -mcpu=arm926ej-s conflicts with -march= switch
That "-mcpu=arm926ej-s" comes from the ltib build options
(CONFIG_TOOLCHAIN_CFLAGS), but I don't know where the "-march=" comes from??
In the ltib build options, I also specify "-march=armv5te" now, but it
did not help..
Kind regards,
Jürgen
>
>
> Hope this helps.
>
> --
> Peter Barada
> address@hidden
>
>
> _______________________________________________
> LTIB home page: http://ltib.org
>
> Ltib mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/ltib
>