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
kbuild-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kbuild-devel