[U-Boot] [PATCH 1/7] MIPS: add unified u-boot.lds file
Gabor Juhos
juhosg at openwrt.org
Tue Jan 29 18:13:01 CET 2013
2013.01.29. 11:44 keltezéssel, Daniel Schwierzeck írta:
> 2013/1/29 Gabor Juhos <juhosg at openwrt.org>:
>> The patch adds an unified linker script file which
>> can be used for all currently supported MIPS targets.
>>
>> Signed-off-by: Gabor Juhos <juhosg at openwrt.org>
>> Cc: Daniel Schwierzeck <daniel.schwierzeck at googlemail.com>
>> Cc: Vlad Lungu <vlad at comsys.ro>
>> Cc: Thomas Sailer <sailer at scs.ch>
>> Cc: Stefan Roese <sr at denx.de>
>> Cc: Wolfgang Denk <wd at denx.de>
>> Cc: Thomas Lange <thomas at corelatus.se>
>> Cc: Xiangfu Liu <xiangfu at openmobilefree.net>
>
> AFAIK you can remove Vlad Lungu and Thomas Lange from the list of
> board maintainers
Ok. I will remove Thomas Sailer as well because his e-mail address bounces.
>> ---
>> arch/mips/cpu/u-boot.lds | 90 ++++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 90 insertions(+)
>> create mode 100644 arch/mips/cpu/u-boot.lds
>>
<...>
>> +OUTPUT_FORMAT(MIPS_FORMAT, MIPS_FORMAT, MIPS_FORMAT)
>
> we need to get rid of OUTPUT_FORMAT. This was always misused due to
> some endianess and toolchain problems which have been resolved in the meantime.
>
> We should use gcc flags like it is done in linux kernel. The config.mk
> of mips64 already
> has those flags. Mips32 and xburst need to be extended with:
>
> PLATFORM_CPPFLAGS += -mabi=32 -DCONFIG_32BIT
> ifdef CONFIG_SYS_BIG_ENDIAN
> PLATFORM_LDFLAGS += -m elf32btsmip
> else
> PLATFORM_LDFLAGS += -m elf32ltsmip
> endif
Makes sense. However I would do that in a separate change. Either before or
after the current series.
>
>> +OUTPUT_ARCH(mips)
>> +ENTRY(_start)
>> +SECTIONS
>> +{
>> + . = 0x00000000;
>> +
>> + . = ALIGN(4);
>> + .text :
>> + {
>> + *(.text*)
>> + }
>
> please fix the style globally to
>
> .text : {
> *(.text*)
> }
Ok, will change it.
>
>> +
>> + . = ALIGN(4);
>> + .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
>> +
>> + . = ALIGN(4);
>> + .data : { *(.data*) }
>> +
>> + . = .;
>> + _gp = ALIGN(16) +0x7ff0;
>> +
>> + .got : {
>> + __got_start = .;
>> + *(.got)
>> + __got_end = .;
>> + }
>> +
>> + . = ALIGN(4);
>> + .sdata : { *(.sdata*) }
>
> *(.sdata*) should be merged with .data
This is separated in all current linker scripts, so the merge should be done in
a separate patch IMHO.
>
>> +
>> + . = ALIGN(4);
>> + .u_boot_list : {
>> + #include <u-boot.lst>
>> + }
>> +
>> + uboot_end_data = .;
>> +
>> + num_got_entries = (__got_end - __got_start) >> PTR_COUNT_SHIFT;
>> +
>> + . = ALIGN(4);
>> + .sbss : { *(.sbss*) }
>> + .bss : {
>> + *(.bss*)
>> + . = ALIGN(4);
>> + }
>
> . = ALIGN(4);
> .bss : {
> *(.bss*)
> *(.sbss*)
> . = ALIGN(4);
> }
Same as above.
Thank you for the review!
-Gabor
More information about the U-Boot
mailing list