MIPS: fix linking of standalone programs
Use the global MIPS specific u-boot.lds for linking standalone programs instead of the outdated ones in examples/standalone/. Also pass --gc-sections in LDFLAGS_STANDALONE to optimize the size of standalone programs. Finally remove the deprecated config.mk files in arch/mips/cpu/mips[32,64]/. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
This commit is contained in:
parent
d3a9ba7f95
commit
1bef0c530b
5 changed files with 4 additions and 98 deletions
|
@ -25,12 +25,14 @@ ifdef CONFIG_32BIT
|
||||||
PLATFORM_CPPFLAGS += -mabi=32
|
PLATFORM_CPPFLAGS += -mabi=32
|
||||||
PLATFORM_LDFLAGS += -m $(32bit-emul)
|
PLATFORM_LDFLAGS += -m $(32bit-emul)
|
||||||
OBJCOPYFLAGS += -O $(32bit-bfd)
|
OBJCOPYFLAGS += -O $(32bit-bfd)
|
||||||
|
CONFIG_STANDALONE_LOAD_ADDR ?= 0x80200000
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_64BIT
|
ifdef CONFIG_64BIT
|
||||||
PLATFORM_CPPFLAGS += -mabi=64
|
PLATFORM_CPPFLAGS += -mabi=64
|
||||||
PLATFORM_LDFLAGS += -m$(64bit-emul)
|
PLATFORM_LDFLAGS += -m$(64bit-emul)
|
||||||
OBJCOPYFLAGS += -O $(64bit-bfd)
|
OBJCOPYFLAGS += -O $(64bit-bfd)
|
||||||
|
CONFIG_STANDALONE_LOAD_ADDR ?= 0xffffffff80200000
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PLATFORM_CPPFLAGS += -D__MIPS__
|
PLATFORM_CPPFLAGS += -D__MIPS__
|
||||||
|
@ -65,3 +67,5 @@ PLATFORM_LDFLAGS += -G 0 -static -n -nostdlib
|
||||||
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
|
PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
|
||||||
LDFLAGS_FINAL += --gc-sections
|
LDFLAGS_FINAL += --gc-sections
|
||||||
OBJCOPYFLAGS += -j .text -j .rodata -j .data -j .u_boot_list
|
OBJCOPYFLAGS += -j .text -j .rodata -j .data -j .u_boot_list
|
||||||
|
|
||||||
|
LDFLAGS_STANDALONE += --gc-sections
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0+
|
|
||||||
#
|
|
||||||
# (C) Copyright 2003
|
|
||||||
# Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
|
|
||||||
|
|
||||||
CONFIG_STANDALONE_LOAD_ADDR ?= 0x80200000
|
|
||||||
LDFLAGS_STANDALONE += -T $(srctree)/examples/standalone/mips.lds
|
|
|
@ -1,7 +0,0 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0+
|
|
||||||
#
|
|
||||||
# (C) Copyright 2003
|
|
||||||
# Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
|
|
||||||
|
|
||||||
CONFIG_STANDALONE_LOAD_ADDR ?= 0xffffffff80200000
|
|
||||||
LDFLAGS_STANDALONE += -T $(srctree)/examples/standalone/mips64.lds
|
|
|
@ -1,42 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
||||||
/*
|
|
||||||
* (C) Copyright 2003
|
|
||||||
* Wolfgang Denk Engineering, <wd@denx.de>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
|
|
||||||
*/
|
|
||||||
OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
|
|
||||||
OUTPUT_ARCH(mips)
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
*(.text*)
|
|
||||||
}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
.data : { *(.data*) }
|
|
||||||
|
|
||||||
. = .;
|
|
||||||
_gp = ALIGN(16) + 0x7ff0;
|
|
||||||
|
|
||||||
.got : {
|
|
||||||
__got_start = .;
|
|
||||||
*(.got)
|
|
||||||
__got_end = .;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sdata : { *(.sdata*) }
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__bss_start = .;
|
|
||||||
.sbss (NOLOAD) : { *(.sbss*) }
|
|
||||||
.bss (NOLOAD) : { *(.bss*) . = ALIGN(4); }
|
|
||||||
|
|
||||||
_end = .;
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
||||||
/*
|
|
||||||
* (C) Copyright 2003
|
|
||||||
* Wolfgang Denk Engineering, <wd@denx.de>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips")
|
|
||||||
*/
|
|
||||||
OUTPUT_FORMAT("elf64-tradbigmips", "elf64-tradbigmips", "elf64-tradlittlemips")
|
|
||||||
OUTPUT_ARCH(mips)
|
|
||||||
SECTIONS
|
|
||||||
{
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
*(.text*)
|
|
||||||
}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
.data : { *(.data*) }
|
|
||||||
|
|
||||||
. = .;
|
|
||||||
_gp = ALIGN(16) + 0x7ff0;
|
|
||||||
|
|
||||||
.got : {
|
|
||||||
__got_start = .;
|
|
||||||
*(.got)
|
|
||||||
__got_end = .;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sdata : { *(.sdata*) }
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
|
||||||
__bss_start = .;
|
|
||||||
.sbss (NOLOAD) : { *(.sbss*) }
|
|
||||||
.bss (NOLOAD) : { *(.bss*) . = ALIGN(4); }
|
|
||||||
|
|
||||||
_end = .;
|
|
||||||
}
|
|
Loading…
Reference in a new issue