From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gabor Juhos Date: Tue, 29 Jan 2013 18:13:01 +0100 Subject: [U-Boot] [PATCH 1/7] MIPS: add unified u-boot.lds file In-Reply-To: References: <1359448308-8808-1-git-send-email-juhosg@openwrt.org> Message-ID: <5108031D.3070309@openwrt.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 2013.01.29. 11:44 keltez?ssel, Daniel Schwierzeck ?rta: > 2013/1/29 Gabor Juhos : >> The patch adds an unified linker script file which >> can be used for all currently supported MIPS targets. >> >> Signed-off-by: Gabor Juhos >> Cc: Daniel Schwierzeck >> Cc: Vlad Lungu >> Cc: Thomas Sailer >> Cc: Stefan Roese >> Cc: Wolfgang Denk >> Cc: Thomas Lange >> Cc: Xiangfu Liu > > 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 >> + } >> + >> + 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