diff options
| author | Jason Jin <Jason.jin@freescale.com> | 2011-08-22 17:24:45 +0800 | 
|---|---|---|
| committer | jason <jason@jason-ThinkPad-T61.(none)> | 2011-09-04 22:46:55 +0800 | 
| commit | 6c0bf27d74510d1d7fac9208e766eae8efac2592 (patch) | |
| tree | 950b20fafd95c83f5a497da2bebe12b51306c1df | |
| parent | 45263ec4c06fd8f1201df0bc7a8ab37a639a41f3 (diff) | |
| download | olio-uboot-2014.01-6c0bf27d74510d1d7fac9208e766eae8efac2592.tar.xz olio-uboot-2014.01-6c0bf27d74510d1d7fac9208e766eae8efac2592.zip | |
ColdFire: Cleanup for partial linking and --gc-sections
Introduce the --gc-sections for ColdFire platform and clean up the
corresponding lds file.
Signed-off-by: TsiChung Liew <tsicliew@gmail.com>
Signed-off-by: Jason Jin <Jason.jin@freescale.com>
| -rw-r--r-- | arch/m68k/config.mk | 2 | ||||
| -rw-r--r-- | board/freescale/m5208evbe/u-boot.lds | 66 | ||||
| -rw-r--r-- | board/freescale/m52277evb/u-boot.spa | 72 | ||||
| -rw-r--r-- | board/freescale/m5253demo/u-boot.lds | 65 | ||||
| -rw-r--r-- | board/freescale/m53017evb/u-boot.lds | 66 | ||||
| -rw-r--r-- | board/freescale/m5329evb/u-boot.lds | 64 | ||||
| -rw-r--r-- | board/freescale/m5373evb/u-boot.lds | 64 | ||||
| -rw-r--r-- | board/freescale/m54451evb/u-boot.spa | 73 | ||||
| -rw-r--r-- | board/freescale/m54451evb/u-boot.stm | 76 | ||||
| -rw-r--r-- | board/freescale/m54455evb/u-boot.atm | 70 | ||||
| -rw-r--r-- | board/freescale/m54455evb/u-boot.int | 67 | ||||
| -rw-r--r-- | board/freescale/m547xevb/u-boot.lds | 66 | ||||
| -rw-r--r-- | board/freescale/m548xevb/u-boot.lds | 68 | 
13 files changed, 146 insertions, 673 deletions
| diff --git a/arch/m68k/config.mk b/arch/m68k/config.mk index 863f3ddbc..81b14c23b 100644 --- a/arch/m68k/config.mk +++ b/arch/m68k/config.mk @@ -28,3 +28,5 @@ CONFIG_STANDALONE_LOAD_ADDR ?= 0x20000 -L $(clibdir)  PLATFORM_CPPFLAGS += -DCONFIG_M68K -D__M68K__  PLATFORM_LDFLAGS  += -n +PLATFORM_RELFLAGS              += -ffunction-sections -fdata-sections +LDFLAGS_FINAL                  += --gc-sections diff --git a/board/freescale/m5208evbe/u-boot.lds b/board/freescale/m5208evbe/u-boot.lds index e5011a63b..6e39be169 100644 --- a/board/freescale/m5208evbe/u-boot.lds +++ b/board/freescale/m5208evbe/u-boot.lds @@ -22,61 +22,25 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp        : { *(.interp)		} -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)	} -  .rela.text     : { *(.rela.text)	} -  .rel.data      : { *(.rel.data)	} -  .rela.data     : { *(.rela.data)	} -  .rel.rodata    : { *(.rel.rodata)	} -  .rela.rodata   : { *(.rela.rodata)	} -  .rel.got       : { *(.rel.got)	} -  .rela.got      : { *(.rela.got)	} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)	} -  .rela.bss      : { *(.rela.bss)	} -  .rel.plt       : { *(.rel.plt)	} -  .rela.plt      : { *(.rela.plt)	} -  .init          : { *(.init)		} -  .plt           : { *(.plt)		}    .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf52x2/start.o		(.text) -    arch/m68k/cpu/mcf52x2/libmcf52x2.o	(.text) -    arch/m68k/lib/libm68k.o		(.text) -    common/dlmalloc.o		(.text) +    arch/m68k/cpu/mcf52x2/start.o		(.text*)      . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) +    common/env_embedded.o	(.text*) -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .);    .rodata    :    { -    *(.rodata) -    *(.rodata1) +    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -86,24 +50,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -113,7 +73,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -130,9 +89,8 @@ SECTIONS    .bss (NOLOAD)       :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.sbss*) +   *(.bss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; diff --git a/board/freescale/m52277evb/u-boot.spa b/board/freescale/m52277evb/u-boot.spa index 4b710be94..e7b22e3fc 100644 --- a/board/freescale/m52277evb/u-boot.spa +++ b/board/freescale/m52277evb/u-boot.spa @@ -22,63 +22,27 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp : { *(.interp) } -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)		} -  .rela.text     : { *(.rela.text)	} -  .rel.data      : { *(.rel.data)		} -  .rela.data     : { *(.rela.data)	} -  .rel.rodata    : { *(.rel.rodata)	} -  .rela.rodata   : { *(.rela.rodata)	} -  .rel.got       : { *(.rel.got)		} -  .rela.got      : { *(.rela.got)		} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)		} -  .rela.bss      : { *(.rela.bss)		} -  .rel.plt       : { *(.rel.plt)		} -  .rela.plt      : { *(.rela.plt)		} -  .init          : { *(.init)	} -  .plt : { *(.plt) }    .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf5227x/start.o	(.text) -    arch/m68k/cpu/mcf5227x/libmcf5227x.o	(.text) -    arch/m68k/lib/libm68k.o		(.text) -    lib/libgeneric.o	(.text) -    common/cmd_mem.o		(.text) -    common/main.o		(.text) +    arch/m68k/cpu/mcf5227x/start.o	(.text*) +    arch/m68k/cpu/mcf5227x/libmcf5227x.o	(.text*) +    arch/m68k/lib/libm68k.o		(.text*)      . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) +    common/env_embedded.o	(.text*) -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .);    .rodata    :    { -    *(.rodata) -    *(.rodata1) +    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -88,24 +52,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -115,7 +75,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -129,12 +88,11 @@ SECTIONS    __init_end = .;    __bss_start = .; -  .bss       : +  .bss (NOLOAD)      :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.sbss*) +   *(.bss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; diff --git a/board/freescale/m5253demo/u-boot.lds b/board/freescale/m5253demo/u-boot.lds index 3644838ad..cbd28312a 100644 --- a/board/freescale/m5253demo/u-boot.lds +++ b/board/freescale/m5253demo/u-boot.lds @@ -22,52 +22,18 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp : { *(.interp) } -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)	} -  .rela.text     : { *(.rela.text) 	} -  .rel.data      : { *(.rel.data)	} -  .rela.data     : { *(.rela.data) 	} -  .rel.rodata    : { *(.rel.rodata) 	} -  .rela.rodata   : { *(.rela.rodata) 	} -  .rel.got       : { *(.rel.got)	} -  .rela.got      : { *(.rela.got)	} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)	} -  .rela.bss      : { *(.rela.bss)	} -  .rel.plt       : { *(.rel.plt)	} -  .rela.plt      : { *(.rela.plt)	} -  .init          : { *(.init)		} -  .plt : { *(.plt) }    .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf52x2/start.o		(.text) -    arch/m68k/lib/traps.o		(.text) -    arch/m68k/cpu/mcf52x2/interrupts.o	(.text) -    common/dlmalloc.o		(.text) -    lib/zlib.o		(.text) +    arch/m68k/cpu/mcf52x2/start.o		(.text*)      . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) +    common/env_embedded.o	(.text*) - -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .); @@ -75,9 +41,6 @@ SECTIONS    {      *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -87,24 +50,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -114,7 +73,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -131,9 +89,8 @@ SECTIONS    .bss       :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.sbss*) +   *(.bss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; diff --git a/board/freescale/m53017evb/u-boot.lds b/board/freescale/m53017evb/u-boot.lds index 445566b36..80935f28b 100644 --- a/board/freescale/m53017evb/u-boot.lds +++ b/board/freescale/m53017evb/u-boot.lds @@ -22,51 +22,20 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp : { *(.interp) } -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)		} -  .rela.text     : { *(.rela.text)	} -  .rel.data      : { *(.rel.data)		} -  .rela.data     : { *(.rela.data)	} -  .rel.rodata    : { *(.rel.rodata)	} -  .rela.rodata   : { *(.rela.rodata)	} -  .rel.got       : { *(.rel.got)		} -  .rela.got      : { *(.rela.got)		} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)		} -  .rela.bss      : { *(.rela.bss)		} -  .rel.plt       : { *(.rel.plt)		} -  .rela.plt      : { *(.rela.plt)		} -  .init          : { *(.init)	} -  .plt : { *(.plt) }    .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf532x/start.o		(.text) -    arch/m68k/cpu/mcf532x/libmcf532x.o	(.text) -    arch/m68k/lib/libm68k.o		(.text) -    common/dlmalloc.o		(.text) -    lib/zlib.o		(.text) +    arch/m68k/cpu/mcf532x/start.o		(.text*) +    arch/m68k/cpu/mcf532x/libmcf532x.o	(.text*) +    arch/m68k/lib/libm68k.o		(.text*)      . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) +    common/env_embedded.o	(.text*) -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .); @@ -74,9 +43,6 @@ SECTIONS    {      *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -86,24 +52,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -113,7 +75,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -130,9 +91,8 @@ SECTIONS    .bss (NOLOAD)       :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.sbss*) +   *(.bss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; diff --git a/board/freescale/m5329evb/u-boot.lds b/board/freescale/m5329evb/u-boot.lds index 4375342c8..40af8bc23 100644 --- a/board/freescale/m5329evb/u-boot.lds +++ b/board/freescale/m5329evb/u-boot.lds @@ -22,51 +22,18 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp : { *(.interp) } -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)		} -  .rela.text     : { *(.rela.text)	} -  .rel.data      : { *(.rel.data)		} -  .rela.data     : { *(.rela.data)	} -  .rel.rodata    : { *(.rel.rodata)	} -  .rela.rodata   : { *(.rela.rodata)	} -  .rel.got       : { *(.rel.got)		} -  .rela.got      : { *(.rela.got)		} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)		} -  .rela.bss      : { *(.rela.bss)		} -  .rel.plt       : { *(.rel.plt)		} -  .rela.plt      : { *(.rela.plt)		} -  .init          : { *(.init)	} -  .plt : { *(.plt) }    .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf532x/start.o		(.text) -    arch/m68k/lib/traps.o		(.text) -    arch/m68k/lib/interrupts.o	(.text) -    common/dlmalloc.o		(.text) -    lib/zlib.o		(.text) +    arch/m68k/cpu/mcf532x/start.o		(.text*)      . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) +    common/env_embedded.o	(.text*) -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .); @@ -74,9 +41,6 @@ SECTIONS    {      *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -86,24 +50,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -113,7 +73,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -130,9 +89,8 @@ SECTIONS    .bss (NOLOAD)       :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.sbss*) +   *(.bss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; diff --git a/board/freescale/m5373evb/u-boot.lds b/board/freescale/m5373evb/u-boot.lds index f3acfc735..19342ac21 100644 --- a/board/freescale/m5373evb/u-boot.lds +++ b/board/freescale/m5373evb/u-boot.lds @@ -22,51 +22,18 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp : { *(.interp) } -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)		} -  .rela.text     : { *(.rela.text)	} -  .rel.data      : { *(.rel.data)		} -  .rela.data     : { *(.rela.data)	} -  .rel.rodata    : { *(.rel.rodata)	} -  .rela.rodata   : { *(.rela.rodata)	} -  .rel.got       : { *(.rel.got)		} -  .rela.got      : { *(.rela.got)		} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)		} -  .rela.bss      : { *(.rela.bss)		} -  .rel.plt       : { *(.rel.plt)		} -  .rela.plt      : { *(.rela.plt)		} -  .init          : { *(.init)	} -  .plt : { *(.plt) }    .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf532x/start.o		(.text) -    arch/m68k/lib/traps.o		(.text) -    arch/m68k/lib/interrupts.o	(.text) -    common/dlmalloc.o		(.text) -    lib/zlib.o		(.text) +    arch/m68k/cpu/mcf532x/start.o		(.text*)      . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) +    common/env_embedded.o	(.text*) -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .); @@ -74,9 +41,6 @@ SECTIONS    {      *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -86,24 +50,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -113,7 +73,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -130,9 +89,8 @@ SECTIONS    .bss       :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.sbss*) +   *(.bss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; diff --git a/board/freescale/m54451evb/u-boot.spa b/board/freescale/m54451evb/u-boot.spa index e1bacd3d3..d13e7621c 100644 --- a/board/freescale/m54451evb/u-boot.spa +++ b/board/freescale/m54451evb/u-boot.spa @@ -22,65 +22,22 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp : { *(.interp) } -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)		} -  .rela.text     : { *(.rela.text)	} -  .rel.data      : { *(.rel.data)		} -  .rela.data     : { *(.rela.data)	} -  .rel.rodata    : { *(.rel.rodata)	} -  .rela.rodata   : { *(.rela.rodata)	} -  .rel.got       : { *(.rel.got)		} -  .rela.got      : { *(.rela.got)		} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)		} -  .rela.bss      : { *(.rela.bss)		} -  .rel.plt       : { *(.rel.plt)		} -  .rela.plt      : { *(.rela.plt)		} -  .init          : { *(.init)	} -  .plt : { *(.plt) }    .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf5445x/start.o		(.text) -    arch/m68k/cpu/mcf5445x/libmcf5445x.o	(.text) -    arch/m68k/lib/libm68k.o		(.text) -    common/cmd_flash.o		(.text) -    common/dlmalloc.o		(.text) -    common/main.o		(.text) -    common/image.o		(.text) -    lib/libgeneric.o	(.text) +    arch/m68k/cpu/mcf5445x/start.o		(.text*) -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) - -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .);    .rodata    :    { -    *(.rodata) -    *(.rodata1) +     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -90,24 +47,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -117,7 +70,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -131,12 +83,11 @@ SECTIONS    __init_end = .;    __bss_start = .; -  .bss       : +  .bss (NOLOAD)      :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; diff --git a/board/freescale/m54451evb/u-boot.stm b/board/freescale/m54451evb/u-boot.stm index 1c6979fba..45924b751 100644 --- a/board/freescale/m54451evb/u-boot.stm +++ b/board/freescale/m54451evb/u-boot.stm @@ -22,68 +22,22 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp : { *(.interp) } -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)		} -  .rela.text     : { *(.rela.text) 	} -  .rel.data      : { *(.rel.data)		} -  .rela.data     : { *(.rela.data) 	} -  .rel.rodata    : { *(.rel.rodata) 	} -  .rela.rodata   : { *(.rela.rodata) 	} -  .rel.got       : { *(.rel.got)		} -  .rela.got      : { *(.rela.got)		} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)		} -  .rela.bss      : { *(.rela.bss)		} -  .rel.plt       : { *(.rel.plt)		} -  .rela.plt      : { *(.rela.plt)		} -  .init          : { *(.init)	} -  .plt : { *(.plt) }    .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf5445x/start.o		(.text) -/*    arch/m68k/cpu/mcf5445x/cpu_init.o		(.text) -    arch/m68k/cpu/mcf5445x/cpu.o			(.text) -    arch/m68k/cpu/mcf5445x/dspi.o			(.text) -    arch/m68k/cpu/mcf5445x/interrupt.o		(.text) -    arch/m68k/cpu/mcf5445x/speed.o		(.text) -    arch/m68k/lib/board.o			(.text) -    common/serial.o			(.text) -    common/console.o			(.text) -    lib/display_options.o	(.text) -    board/freescale/m54455evb/m54455evb.o	(.text) +    arch/m68k/cpu/mcf5445x/start.o		(.text*) -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) -*/ -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .);    .rodata    :    { -    *(.rodata) -    *(.rodata1) +     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -93,24 +47,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -120,7 +70,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -134,12 +83,11 @@ SECTIONS    __init_end = .;    __bss_start = .; -  .bss       : +  .bss   (NOLOAD)    :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; diff --git a/board/freescale/m54455evb/u-boot.atm b/board/freescale/m54455evb/u-boot.atm index cf4650ee0..f34144934 100644 --- a/board/freescale/m54455evb/u-boot.atm +++ b/board/freescale/m54455evb/u-boot.atm @@ -22,62 +22,22 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp : { *(.interp) } -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)		} -  .rela.text     : { *(.rela.text)	} -  .rel.data      : { *(.rel.data)		} -  .rela.data     : { *(.rela.data)	} -  .rel.rodata    : { *(.rel.rodata)	} -  .rela.rodata   : { *(.rela.rodata)	} -  .rel.got       : { *(.rel.got)		} -  .rela.got      : { *(.rela.got)		} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)		} -  .rela.bss      : { *(.rela.bss)		} -  .rel.plt       : { *(.rel.plt)		} -  .rela.plt      : { *(.rela.plt)		} -  .init          : { *(.init)	} -  .plt : { *(.plt) }    .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf5445x/start.o		(.text) -    arch/m68k/lib/traps.o		(.text) -    arch/m68k/lib/interrupts.o	(.text) -    common/dlmalloc.o		(.text) -    lib/zlib.o		(.text) +    arch/m68k/cpu/mcf5445x/start.o		(.text*) -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) - -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .);    .rodata    :    { -    *(.rodata) -    *(.rodata1) +    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -87,24 +47,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -114,7 +70,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -128,12 +83,11 @@ SECTIONS    __init_end = .;    __bss_start = .; -  .bss       : +  .bss  (NOLOAD)     :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; diff --git a/board/freescale/m54455evb/u-boot.int b/board/freescale/m54455evb/u-boot.int index 79e64a2f2..f34144934 100644 --- a/board/freescale/m54455evb/u-boot.int +++ b/board/freescale/m54455evb/u-boot.int @@ -22,59 +22,22 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp : { *(.interp) } -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)		} -  .rela.text     : { *(.rela.text)	} -  .rel.data      : { *(.rel.data)		} -  .rela.data     : { *(.rela.data)	} -  .rel.rodata    : { *(.rel.rodata)	} -  .rela.rodata   : { *(.rela.rodata)	} -  .rel.got       : { *(.rel.got)		} -  .rela.got      : { *(.rela.got)		} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)		} -  .rela.bss      : { *(.rela.bss)		} -  .rel.plt       : { *(.rel.plt)		} -  .rela.plt      : { *(.rela.plt)		} -  .init          : { *(.init)	} -  .plt : { *(.plt) }    .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf5445x/start.o		(.text) -    arch/m68k/lib/traps.o		(.text) -    arch/m68k/lib/interrupts.o	(.text) -    common/dlmalloc.o		(.text) -    lib/zlib.o		(.text) +    arch/m68k/cpu/mcf5445x/start.o		(.text*) -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .);    .rodata    :    { -    *(.rodata) -    *(.rodata1) +    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -84,24 +47,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -111,7 +70,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -125,12 +83,11 @@ SECTIONS    __init_end = .;    __bss_start = .; -  .bss       : +  .bss  (NOLOAD)     :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; diff --git a/board/freescale/m547xevb/u-boot.lds b/board/freescale/m547xevb/u-boot.lds index a4e4d5ac5..5472689b5 100644 --- a/board/freescale/m547xevb/u-boot.lds +++ b/board/freescale/m547xevb/u-boot.lds @@ -22,50 +22,15 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp : { *(.interp) } -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)		} -  .rela.text     : { *(.rela.text)	} -  .rel.data      : { *(.rel.data)		} -  .rela.data     : { *(.rela.data)	} -  .rel.rodata    : { *(.rel.rodata)	} -  .rela.rodata   : { *(.rela.rodata)	} -  .rel.got       : { *(.rel.got)		} -  .rela.got      : { *(.rela.got)		} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)		} -  .rela.bss      : { *(.rela.bss)		} -  .rel.plt       : { *(.rel.plt)		} -  .rela.plt      : { *(.rela.plt)		} -  .init          : { *(.init)	} -  .plt : { *(.plt) }    .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf547x_8x/start.o		(.text) -    arch/m68k/lib/traps.o		(.text) -    arch/m68k/lib/interrupts.o	(.text) -    common/dlmalloc.o		(.text) +    arch/m68k/cpu/mcf547x_8x/start.o		(.text*) -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) - -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .); @@ -73,9 +38,6 @@ SECTIONS    {      *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -85,24 +47,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -112,7 +70,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -126,12 +83,11 @@ SECTIONS    __init_end = .;    __bss_start = .; -  .bss       : +  .bss (NOLOAD)      :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; diff --git a/board/freescale/m548xevb/u-boot.lds b/board/freescale/m548xevb/u-boot.lds index a4e4d5ac5..cf3f38c0f 100644 --- a/board/freescale/m548xevb/u-boot.lds +++ b/board/freescale/m548xevb/u-boot.lds @@ -22,50 +22,15 @@   */  OUTPUT_ARCH(m68k) -/* Do we need any of these for elf? -   __DYNAMIC = 0;    */ +  SECTIONS  {    /* Read-only sections, merged into text segment: */ -  . = + SIZEOF_HEADERS; -  .interp : { *(.interp) } -  .hash          : { *(.hash)		} -  .dynsym        : { *(.dynsym)		} -  .dynstr        : { *(.dynstr)		} -  .rel.text      : { *(.rel.text)		} -  .rela.text     : { *(.rela.text)	} -  .rel.data      : { *(.rel.data)		} -  .rela.data     : { *(.rela.data)	} -  .rel.rodata    : { *(.rel.rodata)	} -  .rela.rodata   : { *(.rela.rodata)	} -  .rel.got       : { *(.rel.got)		} -  .rela.got      : { *(.rela.got)		} -  .rel.ctors     : { *(.rel.ctors)	} -  .rela.ctors    : { *(.rela.ctors)	} -  .rel.dtors     : { *(.rel.dtors)	} -  .rela.dtors    : { *(.rela.dtors)	} -  .rel.bss       : { *(.rel.bss)		} -  .rela.bss      : { *(.rela.bss)		} -  .rel.plt       : { *(.rel.plt)		} -  .rela.plt      : { *(.rela.plt)		} -  .init          : { *(.init)	} -  .plt : { *(.plt) } -  .text      : +   .text      :    { -    /* WARNING - the following is hand-optimized to fit within	*/ -    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ - -    arch/m68k/cpu/mcf547x_8x/start.o		(.text) -    arch/m68k/lib/traps.o		(.text) -    arch/m68k/lib/interrupts.o	(.text) -    common/dlmalloc.o		(.text) +    arch/m68k/cpu/mcf547x_8x/start.o		(.text*) -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) - -    *(.text) -    *(.fixup) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .); @@ -73,9 +38,6 @@ SECTIONS    {      *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -85,24 +47,20 @@ SECTIONS    .reloc   :    {      __got_start = .; -    *(.got) +    KEEP(*(.got))      __got_end = .;      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; -    *(.fixup) +    KEEP(*(.fixup))    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;    __fixup_entries = (. - _FIXUP_TABLE_)>>2;    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -112,7 +70,6 @@ SECTIONS    .u_boot_cmd : { *(.u_boot_cmd) }    __u_boot_cmd_end = .; -    . = .;    __start___ex_table = .;    __ex_table : { *(__ex_table) } @@ -126,12 +83,11 @@ SECTIONS    __init_end = .;    __bss_start = .; -  .bss       : +  .bss (NOLOAD)      :    {     _sbss = .; -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);     _ebss = .; |