Hello again,

And sorry to insist, but I need this to work. Can anyone help me?

Thanks in advance

On Monday, February 18, 2013, Alberich de megres <alberich...@gmail.com>
wrote:
> Hello again,
>
> I was looking on how the kernel build works.
> All error happened when building the kernel at: oldconfig prepare
scripts, and modules. The first one is defined into the include/
kernel-defaults.mk, which is called in this line (inside
Kernel/Configure/Default define):
>
> $(MAKE) $(KERNEL_MAKEOPTS) oldconfig prepare scripts
>
> I can edit the KERNEL_MAKEOPTS variable to pass KBUILD_CFLAGS="" (for
example), but I'm will be overwriting an internal kernel Makefile variable.
How openwrt passes the CFLAGS to the kernel?
>
> I tried the KBUILD_CFLAGS way (I also tried to include a CFLAGS="" into
KERNEL_MAKEOPTS, with no result), but I got a new different error (I think
due to I overwrote the flags). Is there some export? are the flags stored
at some place?
>
> Thanks in advance
>
> I'm including the output
>
>
> export MAKEFLAGS= ;make -C
/home/projects/con/delme/openwrt/build_dir/linux-hardfp/linux-3.6
CROSS_COMPILE="arm-hardfp-linux-gnueabi-" ARCH="arm" KBUILD_HAVE_NLS=no
CONFIG_SHELL="/usr/local/bin/bash" KBUILD_CFLAGS="-O2 -pipe -mfpu=vfp
-mtune=arm1176jzf-s -march=armv6zk"  CC="arm-hardfp-linux-gnueabi-gcc"
oldconfig prepare scripts
> make[5]: Entering directory `/home/projects/con/rp-kernel'
> scripts/kconfig/conf --oldconfig Kconfig
> #
> # configuration written to .config
> #
> scripts/kconfig/conf --silentoldconfig Kconfig
>   CHK     include/linux/version.h
>   CHK     include/generated/utsrelease.h
> make[7]: `include/generated/mach-types.h' is up to date.
>   CC      arch/arm/kernel/asm-offsets.s
> In file included from include/linux/time.h:9:0,
>                  from include/linux/timex.h:56,
>                  from include/linux/sched.h:57,
>                  from arch/arm/kernel/asm-offsets.c:13:
> include/linux/math64.h: In function 'div_u64_rem':
> include/linux/math64.h:55:15: error: '__LINUX_ARM_ARCH__' undeclared
(first use in this function)
> include/linux/math64.h:55:15: note: each undeclared identifier is
reported only once for each function it appears in
> make[7]: *** [arch/arm/kernel/asm-offsets.s] Error 1
> make[6]: *** [prepare0] Error 2
> make[5]: *** [prepare] Error 2
> make[5]: Leaving directory `/home/projects/con/rp-kernel'
> make[4]:
[/home/projects/con/delme/openwrt/build_dir/linux-harfp/linux-3.6/.configured]
Error 2 (ignored)
>
>
>
> Alberich
>
>
> On Mon, Feb 18, 2013 at 10:59 AM, Alberich de megres <
alberich...@gmail.com> wrote:
>
> Hello,
>
> Thanks for the quick reply :)
>
>
> On Mon, Feb 18, 2013 at 10:46 AM, Florian Fainelli <flor...@openwrt.org>
wrote:
>
> Hello,
>
> On 02/18/2013 10:21 AM, Alberich de megres wrote:
>
> Hello Again,
>
> And sorry to insist.
> Editing the KBUILD_CFLAGS and KBUILD_AFLAGS from the
> build_dir/linux-arm/linux/arch/arm/Makefile and removing the
> -msoft-float I can bypass the error.
>
> This does not sound right, the kernel must be compiled with software
floating point, I assume this is because we do not want the kernel to trap
itself by making it use hardware floating point and attempt to emulate
this. The real fix would be to filter out the floating-point related CFLAGS
that are being passed to the Linux kernel build system by OpenWrt, I will
reproduce your issue and fix this.
>
> in my target/linux/arm-hardfp/Makefile I'm using CLFAGS which contains
-mhard-soft and vfp.
> Where this should be filtered? If you want I can give a try.
>
>
>
> My I happiness did not last any longer.. as I'm getting this next error:
> arm-hardfp-linux-gnueabi-ld: unrecognised emulation mode: uclibc
> Supported emulations: armelf_linux_eabi armelfb_linux_eabi
>
> If I try to compile the same kernel tree (which is in a local git repo),
> with the toolchain (based on glibc) I can do it with no problems (also
> without the -mfloat-abi=soft and -mfloat-abi=hard error). Also using a
> demo .c and manually passing the -muclibc to the gcc compiler I'm able
> to compile it with any complains from the compiler.
>
> An user-space application can select the floating point implementation at
will, this is not the case for the kernel so your example here just works
because your toolchain is properly configured and will not attempt to
override the kernel floating-point CFLAGS.
>
> Now I understand, thanks :)
>
>
> When using an external toolchain, openwrt asked me for a file in
> include/site/arm-hardfp-linux-gnueabi. I created one as a clone of the
> arm-openwrt-linux-gnueabi.
>
> I think I'm missing something. Can anyone helpme?
>
> thanks!
>
>
> On Sun, Feb 17, 2013 at 3:16 PM, Alberich de megres
> <alberich...@gmail.com <mailto:alberich...@gmail.com>> wrote:
>
>     Hello Florian,
>
>     Thanks for your quick reply.
>
>     I had the fpu feature for my target Makefile, and Also I disabled
>     the SOFT_FLOAT.
>     Also, I did a quick hack into rules.mk <http://rules.mk> to ensure
>     msoft-float is never activated,
>
>     ifeq ($(CONFIG_SOFT_FLOAT),y)
>     #  SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft
>     #  TARGET_CFLAGS+= -msoft-float
>        SOFT_FLOAT_CONFIG_OPTION:=
>     else
>        SOFT_FLOAT_CONFIG_OPTION:=
>     endif
>
>     But i'm still getting the same error.
>     Maybe am I looking at the wrong place?
>
>     Thanks once again,
>     Alberich
>
>
>
>
>
>
>
>     On Sun, Feb 17, 2013 at 2:32 PM, Florian Fainelli
>     <flor...@openwrt.org <mailto:flor...@openwrt.org
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to