On Tue, Jun 1, 2010 at 6:35 PM, Sam Ravnborg <firstname.lastname@example.org> wrote:
> On Tue, Jun 01, 2010 at 05:23:15PM +0200, Manuel Lauss wrote:
>> Cc: Sam Ravnborg <email@example.com>
>> Signed-off-by: Manuel Lauss <firstname.lastname@example.org>
>> On top of latest mips-queue. The changes to the mtx1/xx1500 Makefiles were
>> necessary to work around vmlinux link failures.
> Was this something the platform patches introduced or
> is it needed to fix the build?
Maybe. Link failures with the "lib-y" parts do crop up occasionally.
Usually, the lib-y parts are built as the last files (along with other
arch/mips/lib code); with your changes they're built with the other
files in a directory:
That lib.a is apparently not picked up by the linker:
arch/mips/built-in.o: In function `plat_mem_setup':
undefined reference to `board_setup'
relocation truncated to fit: R_MIPS_26 against `board_setup'
arch/mips/built-in.o: In function `setup_arch':
undefined reference to `prom_init'
relocation truncated to fit: R_MIPS_26 against `prom_init'
make: *** [.tmp_vmlinux1] Error 1
make: *** [sub-make] Error 2
Using obj-y is much more reliable. I have no idea why some boards have
lib-y code; maybe Ralf knows more.
>> diff --git a/arch/mips/alchemy/Platform b/arch/mips/alchemy/Platform
>> new file mode 100644
>> index 0000000..495cc9a
>> --- /dev/null
>> +++ b/arch/mips/alchemy/Platform
>> +# 4G-Systems eval board
>> +platform-$(CONFIG_MIPS_MTX1) += alchemy/mtx-1/
>> +load-$(CONFIG_MIPS_MTX1) += 0xffffffff80100000
>> diff --git a/arch/mips/alchemy/mtx-1/Makefile
>> index 4a53815..4d1367e 100644
>> --- a/arch/mips/alchemy/mtx-1/Makefile
>> +++ b/arch/mips/alchemy/mtx-1/Makefile
>> @@ -6,7 +6,6 @@
>> # Makefile for 4G Systems MTX-1 board.
>> -lib-y := init.o board_setup.o
>> -obj-y := platform.o
>> +obj-y := init.o board_setup.o platform.o
>> EXTRA_CFLAGS += -Werror
> In the above we added alchemy/mtx-1/ to platform-y
> so mtx-1/ is automatically covered by -Werror by arch/mips/Kbuild
> So the above assignment to EXTRA_CFLAGS is now redundant and can be dropped.
Okay, they're gone.