mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-09-26 08:11:25 +02:00
powerpc: mpc85xx: Define linker sections in ascending order
It is too confusing if sections are defined in non-ascending order. Also linker has to go backward and then again forward when generating final binary. To make future changes easier, define all linker sections in ascending order. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
parent
1b780b654f
commit
1245c6e258
@ -18,6 +18,13 @@ PHDRS
|
|||||||
#endif
|
#endif
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
/* For ifc, elbc, esdhc, espi, all need the SPL without section .resetvec */
|
||||||
|
#ifdef CONFIG_SYS_MPC85XX_NO_RESETVEC
|
||||||
|
.bootpg IMAGE_TEXT_BASE - 0x1000 :
|
||||||
|
{
|
||||||
|
KEEP(*(.bootpg))
|
||||||
|
} :text = 0xffff
|
||||||
|
#endif
|
||||||
. = IMAGE_TEXT_BASE;
|
. = IMAGE_TEXT_BASE;
|
||||||
.text : {
|
.text : {
|
||||||
*(.text*)
|
*(.text*)
|
||||||
@ -67,18 +74,13 @@ SECTIONS
|
|||||||
__bss_end = .;
|
__bss_end = .;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* For ifc, elbc, esdhc, espi, all need the SPL without section .resetvec */
|
/* For nor and nand is needed the SPL with section .resetvec */
|
||||||
#ifdef CONFIG_SYS_MPC85XX_NO_RESETVEC
|
#ifndef CONFIG_SYS_MPC85XX_NO_RESETVEC
|
||||||
.bootpg ADDR(.text) - 0x1000 :
|
|
||||||
{
|
|
||||||
KEEP(*(.bootpg))
|
|
||||||
} :text = 0xffff
|
|
||||||
#else
|
|
||||||
#if defined(CONFIG_FSL_IFC) /* Restrict bootpg at 4K boundry for IFC */
|
#if defined(CONFIG_FSL_IFC) /* Restrict bootpg at 4K boundry for IFC */
|
||||||
#ifndef BOOT_PAGE_OFFSET
|
#ifndef BOOT_PAGE_OFFSET
|
||||||
#define BOOT_PAGE_OFFSET 0x1000
|
#define BOOT_PAGE_OFFSET 0x1000
|
||||||
#endif
|
#endif
|
||||||
.bootpg ADDR(.text) + BOOT_PAGE_OFFSET :
|
.bootpg IMAGE_TEXT_BASE + BOOT_PAGE_OFFSET :
|
||||||
{
|
{
|
||||||
arch/powerpc/cpu/mpc85xx/start.o (.bootpg)
|
arch/powerpc/cpu/mpc85xx/start.o (.bootpg)
|
||||||
}
|
}
|
||||||
@ -90,7 +92,7 @@ SECTIONS
|
|||||||
#else
|
#else
|
||||||
#error unknown NAND controller
|
#error unknown NAND controller
|
||||||
#endif
|
#endif
|
||||||
.resetvec ADDR(.text) + RESET_VECTOR_OFFSET : {
|
.resetvec IMAGE_TEXT_BASE + RESET_VECTOR_OFFSET : {
|
||||||
KEEP(*(.resetvec))
|
KEEP(*(.resetvec))
|
||||||
} = 0xffff
|
} = 0xffff
|
||||||
#endif
|
#endif
|
||||||
|
@ -23,6 +23,13 @@ PHDRS
|
|||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
/* Read-only sections, merged into text segment: */
|
/* Read-only sections, merged into text segment: */
|
||||||
|
#ifdef CONFIG_SYS_MPC85XX_NO_RESETVEC
|
||||||
|
.bootpg CONFIG_SYS_TEXT_BASE - 0x1000 :
|
||||||
|
{
|
||||||
|
KEEP(arch/powerpc/cpu/mpc85xx/start.o (.bootpg))
|
||||||
|
} :text = 0xffff
|
||||||
|
. = CONFIG_SYS_TEXT_BASE;
|
||||||
|
#endif
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
*(.text*)
|
*(.text*)
|
||||||
@ -77,13 +84,7 @@ SECTIONS
|
|||||||
__init_end = .;
|
__init_end = .;
|
||||||
_end = .;
|
_end = .;
|
||||||
|
|
||||||
#ifdef CONFIG_SYS_MPC85XX_NO_RESETVEC
|
#ifndef CONFIG_SYS_MPC85XX_NO_RESETVEC
|
||||||
.bootpg ADDR(.text) - 0x1000 :
|
|
||||||
{
|
|
||||||
KEEP(arch/powerpc/cpu/mpc85xx/start.o (.bootpg))
|
|
||||||
} :text = 0xffff
|
|
||||||
. = _end;
|
|
||||||
#else
|
|
||||||
.bootpg RESET_VECTOR_ADDRESS - 0xffc :
|
.bootpg RESET_VECTOR_ADDRESS - 0xffc :
|
||||||
{
|
{
|
||||||
arch/powerpc/cpu/mpc85xx/start.o (.bootpg)
|
arch/powerpc/cpu/mpc85xx/start.o (.bootpg)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user