ColdFire: Cleanup lds files for multiple defined symbols
Lds files cleened to remove multiple defined section and modified to be compliant with --gc-sections added for ColdFire platform in a previous patch. Signed-off-by: Stany MARCEL <stany.marcel@novasys-ingenierie.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
		
							parent
							
								
									efb2172ece
								
							
						
					
					
						commit
						25ceb277de
					
				| 
						 | 
				
			
			@ -22,52 +22,14 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
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/start.o	(.text)
 | 
			
		||||
    common/dlmalloc.o	(.text)
 | 
			
		||||
    lib/string.o	(.text)
 | 
			
		||||
    lib/vsprintf.o	(.text)
 | 
			
		||||
    lib/crc32.o	(.text)
 | 
			
		||||
    lib/zlib.o	(.text)
 | 
			
		||||
 | 
			
		||||
/*    . = env_offset; */
 | 
			
		||||
    common/env_embedded.o(.text)
 | 
			
		||||
 | 
			
		||||
    *(.text)
 | 
			
		||||
    *(.fixup)
 | 
			
		||||
    *(.got1)
 | 
			
		||||
    *(.text*)
 | 
			
		||||
  }
 | 
			
		||||
  _etext = .;
 | 
			
		||||
  PROVIDE (etext = .);
 | 
			
		||||
| 
						 | 
				
			
			@ -75,43 +37,39 @@ SECTIONS
 | 
			
		|||
  {
 | 
			
		||||
    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
 | 
			
		||||
  }
 | 
			
		||||
  .fini      : { *(.fini)    } =0
 | 
			
		||||
  .ctors     : { *(.ctors)   }
 | 
			
		||||
  .dtors     : { *(.dtors)   }
 | 
			
		||||
 | 
			
		||||
  /* Read-write section, merged into data segment: */
 | 
			
		||||
  . = (. + 0x00FF) & 0xFFFFFF00;
 | 
			
		||||
  _erotext = .;
 | 
			
		||||
  PROVIDE (erotext = .);
 | 
			
		||||
    .reloc   :
 | 
			
		||||
 | 
			
		||||
  .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 = .);
 | 
			
		||||
 | 
			
		||||
  . = .;
 | 
			
		||||
  __u_boot_cmd_start = .;
 | 
			
		||||
  .u_boot_cmd : { *(.u_boot_cmd) }
 | 
			
		||||
  __u_boot_cmd_end = .;
 | 
			
		||||
 | 
			
		||||
  . = .;
 | 
			
		||||
  __start___ex_table = .;
 | 
			
		||||
  __ex_table : { *(__ex_table) }
 | 
			
		||||
  __stop___ex_table = .;
 | 
			
		||||
| 
						 | 
				
			
			@ -124,12 +82,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss (NOLOAD)       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,51 +22,17 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
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/cpu_init.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 = .);
 | 
			
		||||
| 
						 | 
				
			
			@ -74,9 +40,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 +49,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 +72,6 @@ SECTIONS
 | 
			
		|||
  .u_boot_cmd : { *(.u_boot_cmd) }
 | 
			
		||||
  __u_boot_cmd_end = .;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  . = .;
 | 
			
		||||
  __start___ex_table = .;
 | 
			
		||||
  __ex_table : { *(__ex_table) }
 | 
			
		||||
| 
						 | 
				
			
			@ -127,12 +85,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss (NOLOAD)       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,62 +22,21 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
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/start.o		(.text)
 | 
			
		||||
    arch/m68k/lib/traps.o		(.text)
 | 
			
		||||
    arch/m68k/cpu/mcf52x2/interrupts.o	(.text)
 | 
			
		||||
    common/dlmalloc.o		(.text)
 | 
			
		||||
    lib/zlib.o		(.text)
 | 
			
		||||
 | 
			
		||||
    . = DEFINED(env_offset) ? env_offset : .;
 | 
			
		||||
    common/env_embedded.o	(.text)
 | 
			
		||||
 | 
			
		||||
    *(.text)
 | 
			
		||||
    *(.fixup)
 | 
			
		||||
    *(.got1)
 | 
			
		||||
    *(.text*)
 | 
			
		||||
  }
 | 
			
		||||
  _etext = .;
 | 
			
		||||
  PROVIDE (etext = .);
 | 
			
		||||
  .rodata    :
 | 
			
		||||
  {
 | 
			
		||||
    *(.eh_frame)
 | 
			
		||||
    *(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 +46,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 +69,6 @@ SECTIONS
 | 
			
		|||
  .u_boot_cmd : { *(.u_boot_cmd) }
 | 
			
		||||
  __u_boot_cmd_end = .;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  . = .;
 | 
			
		||||
  __start___ex_table = .;
 | 
			
		||||
  __ex_table : { *(__ex_table) }
 | 
			
		||||
| 
						 | 
				
			
			@ -128,12 +82,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss (NOLOAD)       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,63 +22,24 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
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/mcf523x/start.o		(.text)
 | 
			
		||||
    arch/m68k/cpu/mcf523x/cpu_init.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/mcf523x/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;
 | 
			
		||||
| 
						 | 
				
			
			@ -88,24 +49,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 +72,6 @@ SECTIONS
 | 
			
		|||
  .u_boot_cmd : { *(.u_boot_cmd) }
 | 
			
		||||
  __u_boot_cmd_end = .;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  . = .;
 | 
			
		||||
  __start___ex_table = .;
 | 
			
		||||
  __ex_table : { *(__ex_table) }
 | 
			
		||||
| 
						 | 
				
			
			@ -129,12 +85,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,71 +22,24 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
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/mcf523x/start.o		(.text)
 | 
			
		||||
    arch/m68k/cpu/mcf523x/cpu.o		(.text)
 | 
			
		||||
    arch/m68k/cpu/mcf523x/cpu_init.o	(.text)
 | 
			
		||||
    arch/m68k/cpu/mcf523x/interrupts.o	(.text)
 | 
			
		||||
    arch/m68k/cpu/mcf523x/speed.o		(.text)
 | 
			
		||||
    arch/m68k/lib/libm68k.o		(.text)
 | 
			
		||||
    common/dlmalloc.o		(.text)
 | 
			
		||||
    common/cmd_bootm.o		(.text)
 | 
			
		||||
    common/cmd_flash.o		(.text)
 | 
			
		||||
    common/cmd_elf.o		(.text)
 | 
			
		||||
    common/cmd_mem.o		(.text)
 | 
			
		||||
    common/console.o		(.text)
 | 
			
		||||
    common/main.o		(.text)
 | 
			
		||||
    lib/libgeneric.o	(.text)
 | 
			
		||||
    arch/m68k/cpu/mcf523x/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;
 | 
			
		||||
| 
						 | 
				
			
			@ -96,24 +49,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 = .);
 | 
			
		||||
| 
						 | 
				
			
			@ -123,7 +72,6 @@ SECTIONS
 | 
			
		|||
  .u_boot_cmd : { *(.u_boot_cmd) }
 | 
			
		||||
  __u_boot_cmd_end = .;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  . = .;
 | 
			
		||||
  __start___ex_table = .;
 | 
			
		||||
  __ex_table : { *(__ex_table) }
 | 
			
		||||
| 
						 | 
				
			
			@ -137,12 +85,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,62 +22,24 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
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 = .);
 | 
			
		||||
  .rodata    :
 | 
			
		||||
  {
 | 
			
		||||
    *(.eh_frame)
 | 
			
		||||
    *(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 +49,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 +72,6 @@ SECTIONS
 | 
			
		|||
  .u_boot_cmd : { *(.u_boot_cmd) }
 | 
			
		||||
  __u_boot_cmd_end = .;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  . = .;
 | 
			
		||||
  __start___ex_table = .;
 | 
			
		||||
  __ex_table : { *(__ex_table) }
 | 
			
		||||
| 
						 | 
				
			
			@ -128,12 +85,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss (NOLOAD)       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,51 +22,17 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
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 = .);
 | 
			
		||||
| 
						 | 
				
			
			@ -74,9 +40,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 +49,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 +72,6 @@ SECTIONS
 | 
			
		|||
  .u_boot_cmd : { *(.u_boot_cmd) }
 | 
			
		||||
  __u_boot_cmd_end = .;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  . = .;
 | 
			
		||||
  __start___ex_table = .;
 | 
			
		||||
  __ex_table : { *(__ex_table) }
 | 
			
		||||
| 
						 | 
				
			
			@ -127,12 +85,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss (NOLOAD)       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,52 +22,17 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
OUTPUT_ARCH(m68k)
 | 
			
		||||
/* Do we need any of these for elf?
 | 
			
		||||
   __DYNAMIC = 0;    */
 | 
			
		||||
GROUP(libgcc.o)
 | 
			
		||||
 | 
			
		||||
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	(.ppcenv)
 | 
			
		||||
 | 
			
		||||
    *(.text)
 | 
			
		||||
    *(.fixup)
 | 
			
		||||
    *(.got1)
 | 
			
		||||
    *(.text*)
 | 
			
		||||
  }
 | 
			
		||||
  _etext = .;
 | 
			
		||||
  PROVIDE (etext = .);
 | 
			
		||||
| 
						 | 
				
			
			@ -75,9 +40,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 +49,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 +72,6 @@ SECTIONS
 | 
			
		|||
  .u_boot_cmd : { *(.u_boot_cmd) }
 | 
			
		||||
  __u_boot_cmd_end = .;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  . = .;
 | 
			
		||||
  __start___ex_table = .;
 | 
			
		||||
  __ex_table : { *(__ex_table) }
 | 
			
		||||
| 
						 | 
				
			
			@ -128,12 +85,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss (NOLOAD)       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,51 +22,17 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
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 = .);
 | 
			
		||||
| 
						 | 
				
			
			@ -74,9 +40,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 +49,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 +72,6 @@ SECTIONS
 | 
			
		|||
  .u_boot_cmd : { *(.u_boot_cmd) }
 | 
			
		||||
  __u_boot_cmd_end = .;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  . = .;
 | 
			
		||||
  __start___ex_table = .;
 | 
			
		||||
  __ex_table : { *(__ex_table) }
 | 
			
		||||
| 
						 | 
				
			
			@ -127,12 +85,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss (NOLOAD)       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,50 +22,17 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
    common/dlmalloc.o		(.text)
 | 
			
		||||
    lib/string.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 = .);
 | 
			
		||||
| 
						 | 
				
			
			@ -73,35 +40,29 @@ SECTIONS
 | 
			
		|||
  {
 | 
			
		||||
    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
 | 
			
		||||
  }
 | 
			
		||||
  .fini      : { *(.fini)    } =0
 | 
			
		||||
  .ctors     : { *(.ctors)   }
 | 
			
		||||
  .dtors     : { *(.dtors)   }
 | 
			
		||||
 | 
			
		||||
  /* Read-write section, merged into data segment: */
 | 
			
		||||
  . = (. + 0x00FF) & 0xFFFFFF00;
 | 
			
		||||
  _erotext = .;
 | 
			
		||||
  PROVIDE (erotext = .);
 | 
			
		||||
    .reloc   :
 | 
			
		||||
 | 
			
		||||
  .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 = .);
 | 
			
		||||
| 
						 | 
				
			
			@ -124,12 +85,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,51 +22,14 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
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/start.o	(.text)
 | 
			
		||||
    common/dlmalloc.o	(.text)
 | 
			
		||||
    lib/string.o	(.text)
 | 
			
		||||
    lib/vsprintf.o	(.text)
 | 
			
		||||
    lib/crc32.o	(.text)
 | 
			
		||||
 | 
			
		||||
    . = DEFINED(env_offset) ? env_offset : .;
 | 
			
		||||
    common/env_embedded.o(.text)
 | 
			
		||||
 | 
			
		||||
    *(.text)
 | 
			
		||||
    *(.fixup)
 | 
			
		||||
    *(.got1)
 | 
			
		||||
    *(.text*)
 | 
			
		||||
  }
 | 
			
		||||
  _etext = .;
 | 
			
		||||
  PROVIDE (etext = .);
 | 
			
		||||
| 
						 | 
				
			
			@ -74,35 +37,29 @@ SECTIONS
 | 
			
		|||
  {
 | 
			
		||||
    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
 | 
			
		||||
  }
 | 
			
		||||
  .fini      : { *(.fini)    } =0
 | 
			
		||||
  .ctors     : { *(.ctors)   }
 | 
			
		||||
  .dtors     : { *(.dtors)   }
 | 
			
		||||
 | 
			
		||||
  /* Read-write section, merged into data segment: */
 | 
			
		||||
  . = (. + 0x00FF) & 0xFFFFFF00;
 | 
			
		||||
  _erotext = .;
 | 
			
		||||
  PROVIDE (erotext = .);
 | 
			
		||||
    .reloc   :
 | 
			
		||||
 | 
			
		||||
  .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 = .);
 | 
			
		||||
| 
						 | 
				
			
			@ -125,12 +82,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss (NOLOAD)       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,52 +22,14 @@
 | 
			
		|||
 */
 | 
			
		||||
 | 
			
		||||
OUTPUT_ARCH(m68k)
 | 
			
		||||
/* Do we need any of these for elf?
 | 
			
		||||
   __DYNAMIC = 0;    */
 | 
			
		||||
GROUP(libgcc.o)
 | 
			
		||||
 | 
			
		||||
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/start.o		(.text)
 | 
			
		||||
    arch/m68k/lib/traps.o		(.text)
 | 
			
		||||
    arch/m68k/cpu/mcf52x2/interrupts.o	(.text)
 | 
			
		||||
    common/dlmalloc.o		(.text)
 | 
			
		||||
    lib/zlib.o		(.text)
 | 
			
		||||
 | 
			
		||||
    . = DEFINED(env_offset) ? env_offset : .;
 | 
			
		||||
    common/env_embedded.o	(.ppcenv)
 | 
			
		||||
 | 
			
		||||
    *(.text)
 | 
			
		||||
    *(.fixup)
 | 
			
		||||
    *(.got1)
 | 
			
		||||
    *(.text*)
 | 
			
		||||
  }
 | 
			
		||||
  _etext = .;
 | 
			
		||||
  PROVIDE (etext = .);
 | 
			
		||||
| 
						 | 
				
			
			@ -75,9 +37,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 +46,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 +69,6 @@ SECTIONS
 | 
			
		|||
  .u_boot_cmd : { *(.u_boot_cmd) }
 | 
			
		||||
  __u_boot_cmd_end = .;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  . = .;
 | 
			
		||||
  __start___ex_table = .;
 | 
			
		||||
  __ex_table : { *(__ex_table) }
 | 
			
		||||
| 
						 | 
				
			
			@ -128,12 +82,11 @@ SECTIONS
 | 
			
		|||
  __init_end = .;
 | 
			
		||||
 | 
			
		||||
  __bss_start = .;
 | 
			
		||||
  .bss (NOLOAD)       :
 | 
			
		||||
  .bss (NOLOAD)      :
 | 
			
		||||
  {
 | 
			
		||||
   _sbss = .;
 | 
			
		||||
   *(.sbss) *(.scommon)
 | 
			
		||||
   *(.dynbss)
 | 
			
		||||
   *(.bss)
 | 
			
		||||
   *(.bss*)
 | 
			
		||||
   *(.sbss*)
 | 
			
		||||
   *(COMMON)
 | 
			
		||||
   . = ALIGN(4);
 | 
			
		||||
   _ebss = .;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue