Patchwork [U-Boot] MIPS: remove OUTPUT_FORMAT from linker scripts

login
register
mail settings
Submitter Gabor Juhos
Date Jan. 30, 2013, 12:22 p.m.
Message ID <1359548571-23117-1-git-send-email-juhosg@openwrt.org>
Download mbox | patch
Permalink /patch/216892/
State Accepted
Delegated to: Daniel Schwierzeck
Headers show

Comments

Gabor Juhos - Jan. 30, 2013, 12:22 p.m.
The OUTPUT_FORMAT command in linker scripts
was always misused due to some endianess and
toolchain problems.

Use GCC flags to ensure proper output format,
and get rid of the OUTPUT_FORMAT commands in
the board specific u-boot.lds files.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Xiangfu Liu <xiangfu@openmobilefree.net>
---
 arch/mips/cpu/mips32/config.mk |    6 ++++++
 arch/mips/cpu/xburst/config.mk |    6 ++++++
 board/dbau1x00/u-boot.lds      |    4 ----
 board/incaip/u-boot.lds        |    4 ----
 board/micronas/vct/u-boot.lds  |    1 -
 board/pb1x00/u-boot.lds        |    4 ----
 board/qemu-mips/u-boot.lds     |    8 --------
 board/qi/qi_lb60/u-boot.lds    |    2 --
 8 files changed, 12 insertions(+), 23 deletions(-)
Daniel Schwierzeck - Jan. 30, 2013, 11:50 p.m.
2013/1/30 Gabor Juhos <juhosg@openwrt.org>:
> The OUTPUT_FORMAT command in linker scripts
> was always misused due to some endianess and
> toolchain problems.
>
> Use GCC flags to ensure proper output format,
> and get rid of the OUTPUT_FORMAT commands in
> the board specific u-boot.lds files.
>
> Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
> Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
> Cc: Stefan Roese <sr@denx.de>
> Cc: Wolfgang Denk <wd@denx.de>
> Cc: Xiangfu Liu <xiangfu@openmobilefree.net>
> ---
>  arch/mips/cpu/mips32/config.mk |    6 ++++++
>  arch/mips/cpu/xburst/config.mk |    6 ++++++
>  board/dbau1x00/u-boot.lds      |    4 ----
>  board/incaip/u-boot.lds        |    4 ----
>  board/micronas/vct/u-boot.lds  |    1 -
>  board/pb1x00/u-boot.lds        |    4 ----
>  board/qemu-mips/u-boot.lds     |    8 --------
>  board/qi/qi_lb60/u-boot.lds    |    2 --
>  8 files changed, 12 insertions(+), 23 deletions(-)

applied to u-boot-mips/master, thanks

Patch

diff --git a/arch/mips/cpu/mips32/config.mk b/arch/mips/cpu/mips32/config.mk
index 481e984..7399701 100644
--- a/arch/mips/cpu/mips32/config.mk
+++ b/arch/mips/cpu/mips32/config.mk
@@ -30,5 +30,11 @@ 
 MIPSFLAGS := -march=mips32r2
 
 PLATFORM_CPPFLAGS += $(MIPSFLAGS)
+PLATFORM_CPPFLAGS += -mabi=32 -DCONFIG_32BIT
+ifdef CONFIG_SYS_BIG_ENDIAN
+PLATFORM_LDFLAGS  += -m elf32btsmip
+else
+PLATFORM_LDFLAGS  += -m elf32ltsmip
+endif
 
 CONFIG_STANDALONE_LOAD_ADDR ?= 0x80200000 -T mips.lds
diff --git a/arch/mips/cpu/xburst/config.mk b/arch/mips/cpu/xburst/config.mk
index 1536746..cf5fa6a 100644
--- a/arch/mips/cpu/xburst/config.mk
+++ b/arch/mips/cpu/xburst/config.mk
@@ -21,5 +21,11 @@ 
 #
 
 PLATFORM_CPPFLAGS += -march=mips32
+PLATFORM_CPPFLAGS += -mabi=32 -DCONFIG_32BIT
+ifdef CONFIG_SYS_BIG_ENDIAN
+PLATFORM_LDFLAGS  += -m elf32btsmip
+else
+PLATFORM_LDFLAGS  += -m elf32ltsmip
+endif
 
 CONFIG_STANDALONE_LOAD_ADDR ?= 0x80200000 -T mips.lds
diff --git a/board/dbau1x00/u-boot.lds b/board/dbau1x00/u-boot.lds
index 8a871cf..d9c01af 100644
--- a/board/dbau1x00/u-boot.lds
+++ b/board/dbau1x00/u-boot.lds
@@ -21,10 +21,6 @@ 
  * MA 02111-1307 USA
  */
 
-/*
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
-*/
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS
diff --git a/board/incaip/u-boot.lds b/board/incaip/u-boot.lds
index 8a871cf..d9c01af 100644
--- a/board/incaip/u-boot.lds
+++ b/board/incaip/u-boot.lds
@@ -21,10 +21,6 @@ 
  * MA 02111-1307 USA
  */
 
-/*
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
-*/
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS
diff --git a/board/micronas/vct/u-boot.lds b/board/micronas/vct/u-boot.lds
index 2ce8d0e..cc7db1b 100644
--- a/board/micronas/vct/u-boot.lds
+++ b/board/micronas/vct/u-boot.lds
@@ -21,7 +21,6 @@ 
  * MA 02111-1307 USA
  */
 
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS
diff --git a/board/pb1x00/u-boot.lds b/board/pb1x00/u-boot.lds
index 07ddd36..d9c01af 100644
--- a/board/pb1x00/u-boot.lds
+++ b/board/pb1x00/u-boot.lds
@@ -21,10 +21,6 @@ 
  * MA 02111-1307 USA
  */
 
-/*
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
-*/
-OUTPUT_FORMAT("elf32-tradlittlemips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS
diff --git a/board/qemu-mips/u-boot.lds b/board/qemu-mips/u-boot.lds
index cb2356f..33b42f3 100644
--- a/board/qemu-mips/u-boot.lds
+++ b/board/qemu-mips/u-boot.lds
@@ -21,14 +21,6 @@ 
  * MA 02111-1307 USA
  */
 
-/*
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
-*/
-#if defined(CONFIG_64BIT)
-OUTPUT_FORMAT("elf64-tradbigmips", "elf64-tradbigmips", "elf64-tradlittlemips")
-#else
-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
-#endif
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS
diff --git a/board/qi/qi_lb60/u-boot.lds b/board/qi/qi_lb60/u-boot.lds
index b3cb869..d074a27 100644
--- a/board/qi/qi_lb60/u-boot.lds
+++ b/board/qi/qi_lb60/u-boot.lds
@@ -18,8 +18,6 @@ 
  * MA 02111-1307 USA
  */
 
-OUTPUT_FORMAT("elf32-tradlittlemips", "elf32-tradlittlemips", "elf32-tradlittlemips")
-
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SECTIONS