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