On Mon, May 21, 2007 at 05:08:23PM -0400, Mike Frysinger wrote:
> i'm not terribly familiar with the kconfig/kbuild system so i'm
> looking for some pointers so i can track down the root cause here ...
>
> some people like to cross-compile the Blackfin kernel on OS X hosts
> and we noticed that in some cases the vmlinux.lds linker script is not
> properly regenerated when changing some options in the kernel config
> menu ... it works just fine on all our Linux hosts :)
>
> linux/arch/blackfin/kernel/vmlinux.lds.S has this:
> MEMORY
> {
> ram : ORIGIN = CONFIG_BOOT_LOAD,
> ...
>
> and in linux/arch/blackfin/Kconfig, we have:
> config BOOT_LOAD
> hex "Kernel load address"
> default "0x1000"
>
> if vmlinux.lds does not exist yet, running `make` generates the proper
> file. but if we do `make menuconfig` and update just BOOT_LOAD to say
> 0x4000 and then run `make`, vmlinux.lds is not regenerated.
>
> doing `rm -f` on vmlinux.lds and re-running `make` once again produces
> the correct file
>
> any pointers on where to dig ? :)
The file arch/blackfin/kernel/.vmlinux.lds.cmd should look like this:
cmd_arch/i386/kernel/vmlinux.lds := i686-unknown-linux-gnu-gcc -m32 -E
-Wp,-MD,arch/i386/kernel/.vmlinux.lds.d -nostdinc -isystem
/opt/crosstool/gcc-4.1.0-glibc-2.3.6/i686-unknown-linux-gnu/lib/gcc/i686-unknown-linux-gnu/4.1.0/include
-D__KERNEL__ -I/home/sam/kernel/kbuild-fix.git/include -Iinclude
-I/home/sam/kernel/kbuild-fix.git/include2 -Iinclude2
-I/home/sam/kernel/kbuild-fix.git/include -include include/linux/autoconf.h -P
-C -Ui386 -D__ASSEMBLY__ -o arch/i386/kernel/vmlinux.lds
/home/sam/kernel/kbuild-fix.git/arch/i386/kernel/vmlinux.lds.S
deps_arch/i386/kernel/vmlinux.lds := \
/home/sam/kernel/kbuild-fix.git/arch/i386/kernel/vmlinux.lds.S \
$(wildcard include/config/blk/dev/initrd.h) \
/home/sam/kernel/kbuild-fix.git/include/asm-generic/vmlinux.lds.h \
include2/asm/thread_info.h \
$(wildcard include/config/4kstacks.h) \
$(wildcard include/config/debug/stack/usage.h) \
/home/sam/kernel/kbuild-fix.git/include/linux/compiler.h \
....
Could you please check this.
The line that says:
deps_arch/blackfin/kernel/vmlinux.lds := \ ....
list all the files that the .lds file is dependent on (the prerequisites).
For the config option BOOT_LOAD look for include/config/boot/load
Check that this file gets properly update on OS X.
Sam
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
kbuild-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel