diff options
| author | Wolfgang Denk <wd@denx.de> | 2010-11-22 23:36:42 +0100 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2010-11-27 23:35:11 +0100 | 
| commit | 566d49a3f508670baca73371ae0064caa2bcb836 (patch) | |
| tree | 767dab11abec9c360cf4074c9ac7c3999bfb1c27 | |
| parent | 53f378fea46e647b076e319738faf46432f65e0a (diff) | |
| download | olio-uboot-2014.01-566d49a3f508670baca73371ae0064caa2bcb836.tar.xz olio-uboot-2014.01-566d49a3f508670baca73371ae0064caa2bcb836.zip | |
512x: Cleanup for partial linking and --gc-sections
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Timur Tabi <timur@freescale.com>
Acked-by: Stefan Roese <sr@denx.de>
| -rw-r--r-- | Makefile | 5 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc512x/Makefile | 1 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc512x/u-boot.lds | 53 | ||||
| -rw-r--r-- | board/freescale/common/Makefile | 4 | 
4 files changed, 16 insertions, 47 deletions
| @@ -185,6 +185,9 @@ LIBS += lib/lzma/liblzma.o  LIBS += lib/lzo/liblzo.o  LIBS += $(shell if [ -f board/$(VENDOR)/common/Makefile ]; then echo \  	"board/$(VENDOR)/common/lib$(VENDOR).o"; fi) +ifdef CONFIG_FSL_DIU_FB +LIBS += board/freescale/common/libfreescale.o +endif  LIBS += $(CPUDIR)/lib$(CPU).o  ifdef SOC  LIBS += $(CPUDIR)/$(SOC)/lib$(SOC).o @@ -260,7 +263,7 @@ ifeq ($(SOC),s5pc2xx)  LIBS += $(CPUDIR)/s5p-common/libs5p-common.o  endif -LIBS := $(addprefix $(obj),$(LIBS)) +LIBS := $(addprefix $(obj),$(sort $(LIBS)))  .PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE)  LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).o diff --git a/arch/powerpc/cpu/mpc512x/Makefile b/arch/powerpc/cpu/mpc512x/Makefile index cb1263ab7..4a4bc0d47 100644 --- a/arch/powerpc/cpu/mpc512x/Makefile +++ b/arch/powerpc/cpu/mpc512x/Makefile @@ -37,7 +37,6 @@ COBJS-y += iopin.o  COBJS-y += serial.o  COBJS-y += speed.o  COBJS-$(CONFIG_FSL_DIU_FB) += diu.o -COBJS-$(CONFIG_FSL_DIU_FB) += ../../../../board/freescale/common/fsl_diu_fb.o  COBJS-$(CONFIG_CMD_IDE) += ide.o  COBJS-$(CONFIG_IIM) += iim.o  COBJS-$(CONFIG_PCI) += pci.o diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds index c71679960..361e71489 100644 --- a/arch/powerpc/cpu/mpc512x/u-boot.lds +++ b/arch/powerpc/cpu/mpc512x/u-boot.lds @@ -1,5 +1,5 @@  /* - * (C) Copyright 2007 DENX Software Engineering. + * (C) Copyright 2007-2010 DENX Software Engineering.   *   * See file CREDITS for list of people who contributed to this   * project. @@ -23,42 +23,13 @@  OUTPUT_ARCH(powerpc)  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/mpc512x/start.o	(.text) -    *(.text) -    *(.got1) +    arch/powerpc/cpu/mpc512x/start.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; @@ -66,10 +37,11 @@ SECTIONS    PROVIDE (erotext = .);    .reloc   :    { -    *(.got) +    KEEP(*(.got))      _GOT2_TABLE_ = .; -    *(.got2) +    KEEP(*(.got2))      _FIXUP_TABLE_ = .; +    KEEP(*(.fixup))      *(.fixup)    }    __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2; @@ -77,12 +49,8 @@ SECTIONS    .data    :    { -    *(.data) -    *(.data1) -    *(.sdata) -    *(.sdata2) -    *(.dynamic) -    CONSTRUCTORS +    *(.data*) +    *(.sdata*)    }    _edata  =  .;    PROVIDE (edata = .); @@ -108,9 +76,8 @@ SECTIONS    __bss_start = .;    .bss (NOLOAD)       :    { -   *(.sbss) *(.scommon) -   *(.dynbss) -   *(.bss) +   *(.bss*) +   *(.sbss*)     *(COMMON)     . = ALIGN(4);    } diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile index 703a3477a..905dd7a0a 100644 --- a/board/freescale/common/Makefile +++ b/board/freescale/common/Makefile @@ -24,10 +24,10 @@  include $(TOPDIR)/config.mk  ifneq ($(OBJTREE),$(SRCTREE)) -$(shell mkdir -p $(obj)board/$(VENDOR)/common) +$(shell mkdir -p $(obj)board/freescale/common)  endif -LIB	= $(obj)lib$(VENDOR).o +LIB	= $(obj)libfreescale.o  COBJS-$(CONFIG_FSL_CADMUS)	+= cadmus.o  COBJS-$(CONFIG_FSL_VIA)		+= cds_via.o |