diff options
57 files changed, 680 insertions, 2783 deletions
| diff --git a/arch/powerpc/cpu/mpc8xx/Makefile b/arch/powerpc/cpu/mpc8xx/Makefile index 527771eda..0d1a12c45 100644 --- a/arch/powerpc/cpu/mpc8xx/Makefile +++ b/arch/powerpc/cpu/mpc8xx/Makefile @@ -27,8 +27,8 @@ include $(TOPDIR)/config.mk  LIB	= $(obj)lib$(CPU).o -START-y	+= start.o -START-y	+= kgdb.o +SSTART-y += start.o +CSTART-y += traps.o  COBJS-y	+= bedbug_860.o  COBJS-y	+= commproc.o  COBJS-y	+= cpu.o @@ -42,19 +42,19 @@ COBJS-y	+= scc.o  COBJS-y	+= serial.o  COBJS-y	+= speed.o  COBJS-y	+= spi.o -COBJS-y	+= traps.o  COBJS-y	+= upatch.o  COBJS-y	+= video.o +SOBJS-y	+= kgdb.o  SOBJS-y	+= plprcr_write.o -SRCS	:= $(START-y:.o=.S) $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c) +SRCS	:= $(SSTART-y:.o=.S) $(CSTART-y:.o=.c) $(SOBJS-y:.o=.S) $(COBJS-y:.o=.c)  OBJS	:= $(addprefix $(obj),$(SOBJS-y) $(COBJS-y)) -START	:= $(addprefix $(obj),$(START-y)) +START	:= $(addprefix $(obj),$(SSTART-y) $(CSTART-y))  all:	$(obj).depend $(START) $(LIB)  $(LIB):	$(OBJS) -	$(call cmd_link_o_target, $(OBJS) $(obj)kgdb.o) +	$(call cmd_link_o_target, $(OBJS))  ######################################################################### diff --git a/board/LEOX/elpt860/u-boot.lds b/board/LEOX/elpt860/u-boot.lds index 1efdf7dc3..9077e6971 100644 --- a/board/LEOX/elpt860/u-boot.lds +++ b/board/LEOX/elpt860/u-boot.lds @@ -31,67 +31,35 @@  */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o			(.text) -    common/dlmalloc.o			(.text) -    arch/powerpc/lib/ppcstring.o			(.text) -    lib/vsprintf.o		(.text) -    lib/crc32.o			(.text) -    lib/zlib.o			(.text) -    lib/string.o		(.text) -    arch/powerpc/lib/cache.o			(.text) -    arch/powerpc/lib/extable.o			(.text) -    arch/powerpc/lib/time.o			(.text) -    arch/powerpc/lib/ticks.o			(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    common/libcommon.o			(.text*) +    arch/powerpc/cpu/mpc8xx/libmpc8xx.o	(.text*) +    board/LEOX/elpt860/libelpt860.o	(.text*) +    arch/powerpc/lib/libpowerpc.o	(.text*) +/*    drivers/rtc/librtc.o		(.text*)	*/      . = env_offset; -    common/env_embedded.o		(.text) +    common/env_embedded.o		(.text*) -    *(.text) -    *(.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; @@ -99,23 +67,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -140,9 +104,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/RPXClassic/u-boot.lds b/board/RPXClassic/u-boot.lds index 3f92a9dc4..fbd901a3c 100644 --- a/board/RPXClassic/u-boot.lds +++ b/board/RPXClassic/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,63 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -/* XXX ? -    . = env_offset; -*/ -    common/env_embedded.o(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -86,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -128,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/RPXlite/u-boot.lds b/board/RPXlite/u-boot.lds index 3f92a9dc4..fbd901a3c 100644 --- a/board/RPXlite/u-boot.lds +++ b/board/RPXlite/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,63 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -/* XXX ? -    . = env_offset; -*/ -    common/env_embedded.o(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -86,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -128,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/RPXlite_dw/u-boot.lds b/board/RPXlite_dw/u-boot.lds index 6bff2a800..fbd901a3c 100644 --- a/board/RPXlite_dw/u-boot.lds +++ b/board/RPXlite_dw/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000-2004 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,63 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -/* XXX ? -    . = env_offset; -*/ -    common/env_embedded.o(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -86,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -128,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/RRvision/u-boot.lds b/board/RRvision/u-boot.lds index e426247c9..5232e2068 100644 --- a/board/RRvision/u-boot.lds +++ b/board/RRvision/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000-2002 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,65 +22,29 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    arch/powerpc/lib/time.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*)      . = env_offset;      common/env_embedded.o	(.ppcenv) -    *(.text) -    *(.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; @@ -88,23 +52,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -130,9 +90,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/adder/u-boot.lds b/board/adder/u-boot.lds index dc6dd7ae6..26c9a2235 100644 --- a/board/adder/u-boot.lds +++ b/board/adder/u-boot.lds @@ -28,40 +28,14 @@ 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          :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    *(.text) -    *(.got1) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    *(.text*)      . = ALIGN(16); -    *(.eh_frame)      *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x0FFF) & 0xFFFFF000; @@ -69,23 +43,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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,9 +81,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/c2mon/u-boot.lds b/board/c2mon/u-boot.lds index 36dd55dee..7a088c97d 100644 --- a/board/c2mon/u-boot.lds +++ b/board/c2mon/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2001 + * (C) Copyright 2001-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,62 +22,32 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    arch/powerpc/cpu/mpc8xx/libmpc8xx.o	(.text*) +    net/libnet.o			(.text*)      . = env_offset; -    common/env_embedded.o(.text) +    common/env_embedded.o		(.text*) -    *(.text) -    *(.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; @@ -85,23 +55,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -127,9 +93,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/cogent/u-boot.lds b/board/cogent/u-boot.lds index 2fecb0fcf..b4c7a0ed6 100644 --- a/board/cogent/u-boot.lds +++ b/board/cogent/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,50 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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) -    common/env_embedded.o(.text) -    *(.got1) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) + +    *(.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: */    . = (. + 0x0FFF) & 0xFFFFF000; @@ -73,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/eltec/mhpc/u-boot.lds b/board/eltec/mhpc/u-boot.lds index 9fe9758c4..4a96388f0 100644 --- a/board/eltec/mhpc/u-boot.lds +++ b/board/eltec/mhpc/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2001 + * (C) Copyright 2001-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,52 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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      :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    common/env_embedded.o(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -75,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/emk/top860/u-boot.lds b/board/emk/top860/u-boot.lds index 4f986f72c..ae1a791b0 100644 --- a/board/emk/top860/u-boot.lds +++ b/board/emk/top860/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,51 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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      :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -74,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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,9 +86,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/ep88x/u-boot.lds b/board/ep88x/u-boot.lds index 172caa556..851348e65 100644 --- a/board/ep88x/u-boot.lds +++ b/board/ep88x/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2001-2003 + * (C) Copyright 2001-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * Modified by Yuli Barcohen <yuli@arabellasw.com> @@ -28,39 +28,14 @@ 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          :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    *(.text) -    *(.got1) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    *(.text*)      . = ALIGN(16);      *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x0FFF) & 0xFFFFF000; @@ -68,23 +43,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -110,9 +81,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/esteem192e/u-boot.lds b/board/esteem192e/u-boot.lds index 5b6a9c0a1..93b756bc8 100644 --- a/board/esteem192e/u-boot.lds +++ b/board/esteem192e/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,62 +22,33 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    net/libnet.o			(.text*) +    board/esteem192e/libesteem192e.o	(.text*) +    *(.text.*printf)      . = env_offset; -    common/env_embedded.o(.text) +    common/env_embedded.o		(.text*) -    *(.text) -    *(.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; @@ -85,23 +56,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -127,9 +94,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/etx094/u-boot.lds b/board/etx094/u-boot.lds index 28ac825c1..614880be1 100644 --- a/board/etx094/u-boot.lds +++ b/board/etx094/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,64 +22,33 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    arch/powerpc/cpu/mpc8xx/traps.o	(.text) -    arch/powerpc/cpu/mpc8xx/interrupts.o	(.text) -    arch/powerpc/cpu/mpc8xx/serial.o	(.text) -    arch/powerpc/cpu/mpc8xx/cpu_init.o	(.text) -    arch/powerpc/cpu/mpc8xx/speed.o	(.text) -    common/dlmalloc.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    net/libnet.o			(.text*) +    arch/powerpc/cpu/mpc8xx/libmpc8xx.o	(.text*) +    *(.text.*printf*)      . = env_offset; -    common/env_embedded.o(.text) -    *(.text) -    *(.got1) +    common/env_embedded.o		(.text*) + +    *(.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,23 +56,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -129,9 +94,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/fads/u-boot.lds b/board/fads/u-boot.lds index 100c9804d..c1ad14120 100644 --- a/board/fads/u-boot.lds +++ b/board/fads/u-boot.lds @@ -26,48 +26,22 @@ 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      :    { -    arch/powerpc/cpu/mpc8xx/start.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*)      /*. = DEFINED(env_offset) ? env_offset : .;*/ -    common/env_embedded.o	(.ppcenv) +    common/env_embedded.o	(.ppcenv*) -    *(.text) -    *(.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: */    . = (. + 0x0FFF) & 0xFFFFF000; @@ -75,23 +49,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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,9 +87,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/fads/u-boot.lds.debug b/board/fads/u-boot.lds.debug deleted file mode 100644 index a7a67a927..000000000 --- a/board/fads/u-boot.lds.debug +++ /dev/null @@ -1,136 +0,0 @@ -/* - * (C) Copyright 2000 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    arch/powerpc/lib/extable.o	(.text) - -    . = env_offset; -    common/env_embedded.o(.text) - -    *(.text) -    *(.got1) -  } -  _etext = .; -  PROVIDE (etext = .); -  .rodata    : -  { -    *(.rodata) -    *(.rodata1) -    *(.rodata.str1.4) -    *(.eh_frame) -  } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   } - -  /* Read-write section, merged into data segment: */ -  . = (. + 0x0FFF) & 0xFFFFF000; -  _erotext = .; -  PROVIDE (erotext = .); -  .reloc   : -  { -    *(.got) -    _GOT2_TABLE_ = .; -    *(.got2) -    _FIXUP_TABLE_ = .; -    *(.fixup) -  } -  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2; -  __fixup_entries = (. - _FIXUP_TABLE_)>>2; - -  .data    : -  { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS -  } -  _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 = .; - -  . = ALIGN(4096); -  __init_begin = .; -  .text.init : { *(.text.init) } -  .data.init : { *(.data.init) } -  . = ALIGN(4096); -  __init_end = .; - -  __bss_start = .; -  .bss       : -  { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) -   *(COMMON) -  } -  _end = . ; -  PROVIDE (end = .); -} diff --git a/board/flagadm/u-boot.lds b/board/flagadm/u-boot.lds index 0da55d979..4a96388f0 100644 --- a/board/flagadm/u-boot.lds +++ b/board/flagadm/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2001 + * (C) Copyright 2001-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,51 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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      :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -74,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -116,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/gen860t/u-boot-flashenv.lds b/board/gen860t/u-boot-flashenv.lds index 35e92d111..cda6c47b3 100644 --- a/board/gen860t/u-boot-flashenv.lds +++ b/board/gen860t/u-boot-flashenv.lds @@ -2,7 +2,7 @@   * Linker command file for the GEN860T board when the environment is   * stored in flash memory.   * - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -31,33 +31,12 @@ 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 :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    *(.text) -    *(.got1) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) + +    *(.text*)    }    _etext = .;    PROVIDE (etext = .); @@ -65,9 +44,6 @@ SECTIONS    {      *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /*     * Read-write section, merged into data segment: @@ -77,23 +53,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -118,9 +90,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/gen860t/u-boot.lds b/board/gen860t/u-boot.lds index a4c303211..1729c1755 100644 --- a/board/gen860t/u-boot.lds +++ b/board/gen860t/u-boot.lds @@ -1,7 +1,7 @@  /*   * Linker command file for the GEN860T board.   * - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -30,44 +30,19 @@ 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 :    { -    arch/powerpc/cpu/mpc8xx/start.o		(.text) -    *(.text) -    *(.got1) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) + +    *(.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: @@ -77,23 +52,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -119,9 +90,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/genietv/u-boot.lds b/board/genietv/u-boot.lds index bcfdd87af..6b45ea0c2 100644 --- a/board/genietv/u-boot.lds +++ b/board/genietv/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,61 +22,38 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    lib/libgeneric.o			(.text*) +    net/libnet.o			(.text*) +    arch/powerpc/cpu/mpc8xx/libmpc8xx.o	(.text*) +    board/genietv/libgenietv.o		(.text*) +    arch/powerpc/lib/libpowerpc.o	(.text*) +    *(.text.do_load_serial*) +    *(.text.do_mem_*) +    *(.text.do_bootm*)      . = env_offset; -    common/env_embedded.o(.text) -    *(.text) -    *(.got1) +    common/env_embedded.o		(.text*) + +    *(.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: */    . = (. + 0x0FFF) & 0xFFFFF000; @@ -84,23 +61,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -126,9 +99,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)    }    . = ALIGN(256 * 1024); diff --git a/board/hermes/u-boot.lds b/board/hermes/u-boot.lds index e121d65f7..456140df9 100644 --- a/board/hermes/u-boot.lds +++ b/board/hermes/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,62 +22,30 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    board/hermes/libhermes.o		(.text*) -    arch/powerpc/cpu/mpc8xx/start.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/cpu/mpc8xx/interrupts.o	(.text) -    arch/powerpc/lib/time.o		(.text) -    arch/powerpc/lib/ticks.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    lib/crc32.o		(.text)      . = env_offset; -    common/env_embedded.o(.text) +    common/env_embedded.o		(.text*) -    *(.text) -    *(.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; @@ -85,23 +53,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -127,9 +91,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/icu862/u-boot.lds b/board/icu862/u-boot.lds index 7c5278ada..08dfaeec0 100644 --- a/board/icu862/u-boot.lds +++ b/board/icu862/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2001 + * (C) Copyright 2001-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,65 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -/* -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) - -    . = env_offset; -    common/env_embedded.o(.text) -*/ +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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: */    . = (. + 0x0FFF) & 0xFFFFF000; @@ -88,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -130,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/ip860/u-boot.lds b/board/ip860/u-boot.lds index 4ac77c298..fbd901a3c 100644 --- a/board/ip860/u-boot.lds +++ b/board/ip860/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,62 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    arch/powerpc/cpu/mpc8xx/interrupts.o (.text) -    arch/powerpc/lib/time.o		(.text) -    arch/powerpc/lib/ticks.o		(.text) -/** -    . = env_offset; -    common/env_embedded.o(.text) -**/ -    *(.text) -    *(.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; @@ -85,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -127,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/ivm/u-boot.lds b/board/ivm/u-boot.lds index b6e08843f..f4c6c981a 100644 --- a/board/ivm/u-boot.lds +++ b/board/ivm/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,51 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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      :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    common/env_embedded.o(.text) -    *(.text) -    *(.got1) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) + +    *(.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: */    . = (. + 0x0FF) & 0xFFFFFF00; @@ -74,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -116,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/keymile/km8xx/u-boot.lds b/board/keymile/km8xx/u-boot.lds index cba9c6c68..ea70ae458 100644 --- a/board/keymile/km8xx/u-boot.lds +++ b/board/keymile/km8xx/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,54 +22,17 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    arch/powerpc/lib/time.o		(.text) - -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.ppcenv) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.got1) +    *(.text*)    }    _etext = .;    PROVIDE (etext = .); @@ -78,11 +41,7 @@ SECTIONS      *(.rodata)      *(.rodata1)      *(.rodata.str1.4) -    *(.eh_frame)    } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   }    /* Read-write section, merged into data segment: */    . = (. + 0x00FF) & 0xFFFFFF00; @@ -90,23 +49,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -132,9 +87,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds index 369ef19a4..fbd901a3c 100644 --- a/board/kup/kup4k/u-boot.lds +++ b/board/kup/kup4k/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000-2004 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,65 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o		(.text) -/* -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) - -    . = env_offset; -    common/env_embedded.o(.text) -*/ +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -88,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -130,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/kup/kup4x/u-boot.lds b/board/kup/kup4x/u-boot.lds index 369ef19a4..fbd901a3c 100644 --- a/board/kup/kup4x/u-boot.lds +++ b/board/kup/kup4x/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000-2004 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,65 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o		(.text) -/* -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) - -    . = env_offset; -    common/env_embedded.o(.text) -*/ +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -88,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -130,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/lantec/u-boot.lds b/board/lantec/u-boot.lds index 9fd4d1c61..00af66977 100644 --- a/board/lantec/u-boot.lds +++ b/board/lantec/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000, 2001 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,62 +22,33 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    net/libnet.o			(.text*) +    arch/powerpc/lib/libpowerpc.o	(.text*) +    drivers/rtc/librtc.o		(.text*)      . = env_offset; -    common/env_embedded.o(.text) +    common/env_embedded.o		(.text*) -    *(.text) -    *(.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; @@ -85,23 +56,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -127,9 +94,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/lwmon/u-boot.lds b/board/lwmon/u-boot.lds index b871958f1..dd9be60cf 100644 --- a/board/lwmon/u-boot.lds +++ b/board/lwmon/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2001 + * (C) Copyright 2001-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,51 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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      :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    common/env_embedded.o(.text) -    *(.text) -    *(.got1) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) + +    *(.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: */    . = (. + 0x0FF) & 0xFFFFFF00; @@ -74,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -116,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/manroland/uc100/u-boot.lds b/board/manroland/uc100/u-boot.lds index 0d8f60594..dc8307160 100644 --- a/board/manroland/uc100/u-boot.lds +++ b/board/manroland/uc100/u-boot.lds @@ -22,64 +22,27 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    arch/powerpc/lib/time.o		(.text) - -    common/env_embedded.o	(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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,23 +50,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -129,9 +88,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/manroland/uc100/u-boot.lds.debug b/board/manroland/uc100/u-boot.lds.debug deleted file mode 100644 index a7caa8d90..000000000 --- a/board/manroland/uc100/u-boot.lds.debug +++ /dev/null @@ -1,134 +0,0 @@ -/* - * (C) Copyright 2000 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. - * - * See file CREDITS for list of people who contributed to this - * project. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - -OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) - -    common/env_embedded.o(.text) - -    *(.text) -    *(.got1) -  } -  _etext = .; -  PROVIDE (etext = .); -  .rodata    : -  { -    *(.rodata) -    *(.rodata1) -    *(.rodata.str1.4) -    *(.eh_frame) -  } -  .fini      : { *(.fini)    } =0 -  .ctors     : { *(.ctors)   } -  .dtors     : { *(.dtors)   } - -  /* Read-write section, merged into data segment: */ -  . = (. + 0x0FFF) & 0xFFFFF000; -  _erotext = .; -  PROVIDE (erotext = .); -  .reloc   : -  { -    *(.got) -    _GOT2_TABLE_ = .; -    *(.got2) -    _FIXUP_TABLE_ = .; -    *(.fixup) -  } -  __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2; -  __fixup_entries = (. - _FIXUP_TABLE_)>>2; - -  .data    : -  { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS -  } -  _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 = .; - -  . = ALIGN(4096); -  __init_begin = .; -  .text.init : { *(.text.init) } -  .data.init : { *(.data.init) } -  . = ALIGN(4096); -  __init_end = .; - -  __bss_start = .; -  .bss       : -  { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) -   *(COMMON) -  } -  _end = . ; -  PROVIDE (end = .); -} diff --git a/board/mbx8xx/u-boot.lds b/board/mbx8xx/u-boot.lds index f883e7f02..fbd901a3c 100644 --- a/board/mbx8xx/u-boot.lds +++ b/board/mbx8xx/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,51 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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      :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -74,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -116,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/netphone/u-boot.lds b/board/netphone/u-boot.lds index 77aebe6b4..684ab81c4 100644 --- a/board/netphone/u-boot.lds +++ b/board/netphone/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000-2004 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,62 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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	:    { -    arch/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    arch/powerpc/lib/time.o		(.text) - -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -85,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -127,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/netta/u-boot.lds b/board/netta/u-boot.lds index 9001767ef..684ab81c4 100644 --- a/board/netta/u-boot.lds +++ b/board/netta/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000-2004 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,62 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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	:    { -    arch/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    arch/powerpc/lib/time.o		(.text) - -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -85,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -127,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/netta2/u-boot.lds b/board/netta2/u-boot.lds index 9001767ef..684ab81c4 100644 --- a/board/netta2/u-boot.lds +++ b/board/netta2/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000-2004 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,62 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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	:    { -    arch/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    arch/powerpc/lib/time.o		(.text) - -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -85,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -127,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds index d05f80bb3..684ab81c4 100644 --- a/board/netvia/u-boot.lds +++ b/board/netvia/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,62 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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	:    { -    arch/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    arch/powerpc/lib/time.o		(.text) - -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -85,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -127,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/nx823/u-boot.lds b/board/nx823/u-boot.lds index 9fe9758c4..4a96388f0 100644 --- a/board/nx823/u-boot.lds +++ b/board/nx823/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2001 + * (C) Copyright 2001-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,52 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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      :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    common/env_embedded.o(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -75,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/quantum/u-boot.lds b/board/quantum/u-boot.lds index 3f92a9dc4..fbd901a3c 100644 --- a/board/quantum/u-boot.lds +++ b/board/quantum/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,63 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -/* XXX ? -    . = env_offset; -*/ -    common/env_embedded.o(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -86,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -128,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/r360mpi/u-boot.lds b/board/r360mpi/u-boot.lds index 3cf0ba4bf..a18c515e5 100644 --- a/board/r360mpi/u-boot.lds +++ b/board/r360mpi/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,60 +22,26 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    arch/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/cpu_init.o	(.text) -    arch/powerpc/cpu/mpc8xx/interrupts.o	(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -/*** -    . = env_offset; -    common/env_embedded.o	(.text) -***/ -    *(.text) -    *(.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; @@ -83,23 +49,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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,9 +87,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/rbc823/u-boot.lds b/board/rbc823/u-boot.lds index f188b979a..77f592e0a 100644 --- a/board/rbc823/u-boot.lds +++ b/board/rbc823/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,62 +22,35 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) + +    lib/libgeneric.o			(.text*) +    net/libnet.o			(.text*) +    arch/powerpc/cpu/mpc8xx/libmpc8xx.o	(.text*) +    arch/powerpc/lib/libpowerpc.o	(.text*)      . = env_offset; -    common/env_embedded.o(.text) +    common/env_embedded.o		(.text*) -    *(.text) -    *(.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; @@ -85,23 +58,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -126,9 +95,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/rmu/u-boot.lds b/board/rmu/u-boot.lds index 3f92a9dc4..fbd901a3c 100644 --- a/board/rmu/u-boot.lds +++ b/board/rmu/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,63 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -/* XXX ? -    . = env_offset; -*/ -    common/env_embedded.o(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -86,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -128,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/siemens/IAD210/u-boot.lds b/board/siemens/IAD210/u-boot.lds index a9b00cafa..0514f5a51 100644 --- a/board/siemens/IAD210/u-boot.lds +++ b/board/siemens/IAD210/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000, 2001, 2002 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,60 +22,33 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    arch/powerpc/cpu/mpc8xx/interrupts.o (.text) -    arch/powerpc/lib/time.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    arch/powerpc/cpu/mpc8xx/libmpc8xx.o	(.text*) +    net/libnet.o			(.text*) +    drivers/rtc/librtc.o		(.text*) +      . = env_offset; -    common/env_embedded.o(.text) +    common/env_embedded.o		(.text*) -    *(.text) -    *(.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; @@ -83,23 +56,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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,9 +94,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/sixnet/u-boot.lds b/board/sixnet/u-boot.lds index 43a8e20f0..b4c7a0ed6 100644 --- a/board/sixnet/u-boot.lds +++ b/board/sixnet/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,51 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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      :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    common/env_embedded.o(.text) -    *(.text) -    *(.got1) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) + +    *(.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: */    . = (. + 0x0FFF) & 0xFFFFF000; @@ -74,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -116,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/snmc/qs850/u-boot.lds b/board/snmc/qs850/u-boot.lds index 1c008959f..f8c50cba7 100644 --- a/board/snmc/qs850/u-boot.lds +++ b/board/snmc/qs850/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,65 +22,27 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o		(.text) -	arch/powerpc/cpu/mpc8xx/traps.o		(.text) -	common/dlmalloc.o		(.text) -	arch/powerpc/lib/ppcstring.o		(.text) -	lib/vsprintf.o	(.text) -	lib/crc32.o		(.text) -	lib/zlib.o		(.text) -	arch/powerpc/lib/cache.o		(.text) -	arch/powerpc/lib/time.o		(.text) - -    . = DEFINED(env_offset) ? env_offset : .; -	common/env_embedded.o	(.ppcenv) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -88,23 +50,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -130,9 +88,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/snmc/qs860t/u-boot.lds b/board/snmc/qs860t/u-boot.lds index 1c008959f..fbd901a3c 100644 --- a/board/snmc/qs860t/u-boot.lds +++ b/board/snmc/qs860t/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,65 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o		(.text) -	arch/powerpc/cpu/mpc8xx/traps.o		(.text) -	common/dlmalloc.o		(.text) -	arch/powerpc/lib/ppcstring.o		(.text) -	lib/vsprintf.o	(.text) -	lib/crc32.o		(.text) -	lib/zlib.o		(.text) -	arch/powerpc/lib/cache.o		(.text) -	arch/powerpc/lib/time.o		(.text) - -    . = DEFINED(env_offset) ? env_offset : .; -	common/env_embedded.o	(.ppcenv) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -88,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -130,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/spc1920/u-boot.lds b/board/spc1920/u-boot.lds index 363101811..fbd901a3c 100644 --- a/board/spc1920/u-boot.lds +++ b/board/spc1920/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,65 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    arch/powerpc/lib/time.o		(.text) - -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.ppcenv) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -88,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -130,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/spd8xx/u-boot.lds b/board/spd8xx/u-boot.lds index 866777428..b9dd8b719 100644 --- a/board/spd8xx/u-boot.lds +++ b/board/spd8xx/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,51 +22,34 @@   */  OUTPUT_ARCH(powerpc) -/* 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      :    { -    arch/powerpc/cpu/mpc8xx/start.o	(.text) -    common/env_embedded.o(.text) -    *(.text) -    *(.got1) +    /* WARNING - the following is hand-optimized to fit within	*/ +    /* the sector layout of our flash chips!	XXX FIXME XXX	*/ + +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    net/libnet.o			(.text*) +    arch/powerpc/cpu/mpc8xx/libmpc8xx.o	(.text*) +    board/spd8xx/libspd8xx.o		(.text*) +    *(.text.v*printf) + +    . = DEFINED(env_offset) ? env_offset : .; +    common/env_embedded.o	(.ppcenv*) + +    *(.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: */    . = (. + 0x0FF) & 0xFFFFFF00; @@ -74,23 +57,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -116,9 +95,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/stx/stxxtc/u-boot.lds b/board/stx/stxxtc/u-boot.lds index 9001767ef..684ab81c4 100644 --- a/board/stx/stxxtc/u-boot.lds +++ b/board/stx/stxxtc/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000-2004 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,62 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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	:    { -    arch/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    arch/powerpc/lib/time.o		(.text) - -    . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -85,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -127,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/svm_sc8xx/u-boot.lds b/board/svm_sc8xx/u-boot.lds index 59f184488..6ff4d8c01 100644 --- a/board/svm_sc8xx/u-boot.lds +++ b/board/svm_sc8xx/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,65 +22,40 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    arch/powerpc/lib/time.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    lib/libgeneric.o			(.text*) +    net/libnet.o			(.text*) +    arch/powerpc/cpu/mpc8xx/libmpc8xx.o	(.text*) +    arch/powerpc/lib/libpowerpc.o	(.text*) +    board/svm_sc8xx/libsvm_sc8xx.o	(.text*) +    *(.text.*printf) +    *(.text.do_mem_*) +    *(.text.flash*) +    *(.text.run_command) +    *(.text.main_loop) +    *(.text.srec_decode)      . = env_offset; -    common/env_embedded.o	(.ppcenv) +    common/env_embedded.o		(.ppcenv*) -    *(.text) -    *(.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; @@ -88,23 +63,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -131,9 +102,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/tqc/tqm8xx/u-boot.lds b/board/tqc/tqm8xx/u-boot.lds index 32a3e2bf0..209d1e004 100644 --- a/board/tqc/tqm8xx/u-boot.lds +++ b/board/tqc/tqm8xx/u-boot.lds @@ -22,64 +22,40 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    arch/powerpc/cpu/mpc8xx/libmpc8xx.o (.text*) +    arch/powerpc/lib/libpowerpc.o	(.text*) +    board/tqc/tqm8xx/libtqm8xx.o	(.text*) +    disk/libdisk.o			(.text*) +    drivers/net/libnet.o		(.text*) +    drivers/pcmcia/libpcmcia.o		(.text*) +    drivers/rtc/librtc.o		(.text*) +    drivers/misc/libmisc.o		(.text*) +    *(.text.print_buffer) +    *(.text.print_size)      . = DEFINED(env_offset) ? env_offset : .; -    common/env_embedded.o	(.ppcenv) +    common/env_embedded.o	(.ppcenv*) -    *(.text) -    *(.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,23 +63,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -129,9 +101,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/v37/u-boot.lds b/board/v37/u-boot.lds index 9bdc97fe4..9f36f53e6 100644 --- a/board/v37/u-boot.lds +++ b/board/v37/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2003 + * (C) Copyright 2003-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -22,67 +22,24 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o		(.text) -    arch/powerpc/cpu/mpc8xx/traps.o		(.text) -    common/dlmalloc.o		(.text) -    arch/powerpc/lib/ppcstring.o		(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) -    arch/powerpc/lib/cache.o		(.text) -    arch/powerpc/lib/time.o		(.text) - -/* -    . = env_offset; -*/ -    common/env_embedded.o	(.ppcenv) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) -    *(.text) -    *(.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; @@ -90,23 +47,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -132,9 +85,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/westel/amx860/u-boot.lds b/board/westel/amx860/u-boot.lds index 36dd55dee..206ec7054 100644 --- a/board/westel/amx860/u-boot.lds +++ b/board/westel/amx860/u-boot.lds @@ -22,62 +22,33 @@   */  OUTPUT_ARCH(powerpc) -/* 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/powerpc/cpu/mpc8xx/start.o	(.text) -    common/dlmalloc.o	(.text) -    arch/powerpc/lib/ppcstring.o	(.text) -    lib/vsprintf.o	(.text) -    lib/crc32.o		(.text) -    lib/zlib.o		(.text) +    arch/powerpc/cpu/mpc8xx/start.o	(.text*) +    arch/powerpc/cpu/mpc8xx/traps.o	(.text*) +    net/libnet.o			(.text*) +    board/westel/amx860/libamx860.o	(.text*) +    *(.text.*printf)      . = env_offset; -    common/env_embedded.o(.text) +    common/env_embedded.o		(.text*) -    *(.text) -    *(.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; @@ -85,23 +56,19 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _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 = .); @@ -127,9 +94,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/include/configs/NETPHONE.h b/include/configs/NETPHONE.h index 04f0f0bc5..88339ac0a 100644 --- a/include/configs/NETPHONE.h +++ b/include/configs/NETPHONE.h @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000-2004 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -220,11 +220,9 @@  #define CONFIG_ENV_SECT_SIZE	0x10000  #define	CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + 0x60000) -#define CONFIG_ENV_OFFSET		0  #define	CONFIG_ENV_SIZE		0x4000  #define CONFIG_ENV_ADDR_REDUND	(CONFIG_SYS_FLASH_BASE + 0x70000) -#define CONFIG_ENV_OFFSET_REDUND	0  #define CONFIG_ENV_SIZE_REDUND	CONFIG_ENV_SIZE  /*----------------------------------------------------------------------- diff --git a/include/configs/NETTA.h b/include/configs/NETTA.h index 795c0f61f..bdc93b6f1 100644 --- a/include/configs/NETTA.h +++ b/include/configs/NETTA.h @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000-2004 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -224,11 +224,9 @@  #define CONFIG_ENV_SECT_SIZE	0x10000  #define	CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + 0x60000) -#define CONFIG_ENV_OFFSET		0  #define	CONFIG_ENV_SIZE		0x4000  #define CONFIG_ENV_ADDR_REDUND	(CONFIG_SYS_FLASH_BASE + 0x70000) -#define CONFIG_ENV_OFFSET_REDUND	0  #define CONFIG_ENV_SIZE_REDUND	CONFIG_ENV_SIZE  /*----------------------------------------------------------------------- diff --git a/include/configs/NETVIA.h b/include/configs/NETVIA.h index a92e3a626..3494b7acd 100644 --- a/include/configs/NETVIA.h +++ b/include/configs/NETVIA.h @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -192,11 +192,9 @@  #define CONFIG_ENV_SECT_SIZE	0x10000  #define	CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + 0x60000) -#define CONFIG_ENV_OFFSET		0  #define	CONFIG_ENV_SIZE		0x4000  #define CONFIG_ENV_ADDR_REDUND	(CONFIG_SYS_FLASH_BASE + 0x70000) -#define CONFIG_ENV_OFFSET_REDUND	0  #define CONFIG_ENV_SIZE_REDUND	CONFIG_ENV_SIZE  /*----------------------------------------------------------------------- diff --git a/include/configs/cogent_mpc8xx.h b/include/configs/cogent_mpc8xx.h index 3ee4a40a3..58aa88b7b 100644 --- a/include/configs/cogent_mpc8xx.h +++ b/include/configs/cogent_mpc8xx.h @@ -1,5 +1,5 @@  /* - * (C) Copyright 2000 + * (C) Copyright 2000-2010   * Murray Jensen <Murray.Jensen@cmst.csiro.au>   *   * See file CREDITS for list of people who contributed to this @@ -80,7 +80,7 @@  #define CONFIG_CMD_I2C  #undef CONFIG_CMD_NET - +#undef CONFIG_CMD_NFS  #if 0  #define CONFIG_BOOTDELAY	-1	/* autoboot disabled		*/ diff --git a/include/configs/quantum.h b/include/configs/quantum.h index 0ebb09408..3ff80d286 100644 --- a/include/configs/quantum.h +++ b/include/configs/quantum.h @@ -1,5 +1,5 @@  /* - * (C) Copyright 2003-2005 + * (C) Copyright 2003-2010   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.   *   * See file CREDITS for list of people who contributed to this @@ -210,7 +210,7 @@  #define CONFIG_SYS_FLASH_WRITE_TOUT	500	/* Timeout for Flash Write (in ms)	*/  #define CONFIG_ENV_IS_IN_FLASH	1 -#define CONFIG_ENV_OFFSET	    0x00F40000	/*   Offset   of Environment Sector	absolute address 0xfff40000*/ +#define CONFIG_ENV_OFFSET	    0x00040000	/*   Offset   of Environment Sector	absolute address 0xfff40000*/  #define CONFIG_ENV_SECT_SIZE	0x40000	/* Total Size of Environment Sector	*/  #define CONFIG_ENV_SIZE		CONFIG_ENV_SECT_SIZE  #define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + CONFIG_ENV_OFFSET) |