
On Tue, Jan 29, 2013 at 11:13 AM, Gabor Juhos juhosg@openwrt.org wrote:
2013.01.29. 11:44 keltezéssel, Daniel Schwierzeck írta:
2013/1/29 Gabor Juhos juhosg@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@openwrt.org Cc: Daniel Schwierzeck daniel.schwierzeck@googlemail.com Cc: Vlad Lungu vlad@comsys.ro Cc: Thomas Sailer sailer@scs.ch Cc: Stefan Roese sr@denx.de Cc: Wolfgang Denk wd@denx.de Cc: Thomas Lange thomas@corelatus.se Cc: Xiangfu Liu xiangfu@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.
IIRC, If you put .sdata in with .data, you also have to adjust the _gp initialization so the .sdata section is within the signed 16 bit address offset allowed.
. = 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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot