diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/config.mk | 3 | ||||
| -rw-r--r-- | arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds | 16 | ||||
| -rw-r--r-- | arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds | 16 | ||||
| -rw-r--r-- | arch/arm/cpu/ixp/u-boot.lds | 15 | ||||
| -rw-r--r-- | arch/arm/cpu/u-boot-spl.lds | 15 | ||||
| -rw-r--r-- | arch/arm/cpu/u-boot.lds | 18 | ||||
| -rw-r--r-- | board/actux1/u-boot.lds | 15 | ||||
| -rw-r--r-- | board/actux2/u-boot.lds | 15 | ||||
| -rw-r--r-- | board/actux3/u-boot.lds | 15 | ||||
| -rw-r--r-- | board/dvlhost/u-boot.lds | 15 | ||||
| -rw-r--r-- | board/freescale/mx31ads/u-boot.lds | 18 | ||||
| -rw-r--r-- | board/ti/am335x/u-boot.lds | 15 | ||||
| -rw-r--r-- | board/vpac270/u-boot-spl.lds | 18 | 
14 files changed, 113 insertions, 83 deletions
| @@ -393,7 +393,7 @@ $(obj)u-boot.hex:	$(obj)u-boot  		$(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@  $(obj)u-boot.srec:	$(obj)u-boot -		$(OBJCOPY) -O srec $< $@ +		$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@  $(obj)u-boot.bin:	$(obj)u-boot  		$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ diff --git a/arch/arm/config.mk b/arch/arm/config.mk index bdabcf407..fd3e5fb66 100644 --- a/arch/arm/config.mk +++ b/arch/arm/config.mk @@ -103,3 +103,6 @@ ALL-y += checkarmreloc  # such usage by requiring word relocations.  PLATFORM_CPPFLAGS += $(call cc-option, -mword-relocations)  endif + +# limit ourselves to the sections we want in the .bin. +OBJCFLAGS += -j .text -j .rodata -j .data -j .u_boot_list -j .rel.dyn diff --git a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds index 40bcc3132..80fb9bdc8 100644 --- a/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds @@ -51,11 +51,13 @@ SECTIONS  	_end = .; -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynsym*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.hash*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } +	.dynsym _end : { *(.dynsym) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.hash : { *(.hash*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  } diff --git a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds index 4927736b9..76b499d87 100644 --- a/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds +++ b/arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds @@ -51,11 +51,13 @@ SECTIONS  	_end = .; -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynsym*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.hash*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } +	.dynsym _end : { *(.dynsym) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.hash : { *(.hash*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  } diff --git a/arch/arm/cpu/ixp/u-boot.lds b/arch/arm/cpu/ixp/u-boot.lds index c8d2e126a..676ae2c4f 100644 --- a/arch/arm/cpu/ixp/u-boot.lds +++ b/arch/arm/cpu/ixp/u-boot.lds @@ -79,10 +79,13 @@ SECTIONS  		KEEP(*(.__bss_end));  	} -	/DISCARD/ : { *(.dynsym) } -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } +	.dynsym _end : { *(.dynsym) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.hash : { *(.hash*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  } diff --git a/arch/arm/cpu/u-boot-spl.lds b/arch/arm/cpu/u-boot-spl.lds index 36cc54a29..4880d0f78 100644 --- a/arch/arm/cpu/u-boot-spl.lds +++ b/arch/arm/cpu/u-boot-spl.lds @@ -51,12 +51,15 @@ SECTIONS  		__bss_end = .;  	} -	/DISCARD/ : { *(.dynsym) } -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } +	.dynsym _end : { *(.dynsym) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.hash : { *(.hash*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  }  #if defined(CONFIG_SPL_MAX_SIZE) diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds index 23bf03065..9463a33dc 100644 --- a/arch/arm/cpu/u-boot.lds +++ b/arch/arm/cpu/u-boot.lds @@ -91,12 +91,14 @@ SECTIONS  		KEEP(*(.__bss_end));  	} -	/DISCARD/ : { *(.dynsym) } -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } -	/DISCARD/ : { *(.ARM.exidx*) } -	/DISCARD/ : { *(.gnu.linkonce.armexidx.*) } +	.dynsym _end : { *(.dynsym) } +	.hash : { *(.hash) } +	.got.plt : { *(.got.plt) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  } diff --git a/board/actux1/u-boot.lds b/board/actux1/u-boot.lds index a656fa99d..12e018f31 100644 --- a/board/actux1/u-boot.lds +++ b/board/actux1/u-boot.lds @@ -87,10 +87,13 @@ SECTIONS  		KEEP(*(.__bss_end));  	} -	/DISCARD/ : { *(.dynsym) } -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } +	.dynsym _end : { *(.dynsym) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.hash : { *(.hash*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  } diff --git a/board/actux2/u-boot.lds b/board/actux2/u-boot.lds index 7a1717640..300273bf7 100644 --- a/board/actux2/u-boot.lds +++ b/board/actux2/u-boot.lds @@ -87,10 +87,13 @@ SECTIONS  		KEEP(*(.__bss_end));  	} -	/DISCARD/ : { *(.dynsym) } -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } +	.dynsym _end : { *(.dynsym) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.hash : { *(.hash*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  } diff --git a/board/actux3/u-boot.lds b/board/actux3/u-boot.lds index aadfdd2f5..9c97c533d 100644 --- a/board/actux3/u-boot.lds +++ b/board/actux3/u-boot.lds @@ -87,10 +87,13 @@ SECTIONS  		KEEP(*(.__bss_end));  	} -	/DISCARD/ : { *(.dynsym) } -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } +	.dynsym _end : { *(.dynsym) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.hash : { *(.hash*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  } diff --git a/board/dvlhost/u-boot.lds b/board/dvlhost/u-boot.lds index 40c9c8038..057d94b62 100644 --- a/board/dvlhost/u-boot.lds +++ b/board/dvlhost/u-boot.lds @@ -87,10 +87,13 @@ SECTIONS  		KEEP(*(.__bss_end));  	} -	/DISCARD/ : { *(.dynsym) } -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } +	.dynsym _end : { *(.dynsym) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.hash : { *(.hash*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  } diff --git a/board/freescale/mx31ads/u-boot.lds b/board/freescale/mx31ads/u-boot.lds index 3acc4ca54..6cfca2dab 100644 --- a/board/freescale/mx31ads/u-boot.lds +++ b/board/freescale/mx31ads/u-boot.lds @@ -90,13 +90,13 @@ SECTIONS  		KEEP(*(.__bss_end));  	} -	/DISCARD/ : { *(.bss*) } -	/DISCARD/ : { *(.dynsym) } -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynsym*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.hash*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } +	.dynsym _end : { *(.dynsym) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.hash : { *(.hash*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  } diff --git a/board/ti/am335x/u-boot.lds b/board/ti/am335x/u-boot.lds index a173f620e..9f96a4389 100644 --- a/board/ti/am335x/u-boot.lds +++ b/board/ti/am335x/u-boot.lds @@ -108,10 +108,13 @@ SECTIONS  		KEEP(*(.__bss_end));  	} -	/DISCARD/ : { *(.dynsym) } -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } +	.dynsym _end : { *(.dynsym) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.hash : { *(.hash*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  } diff --git a/board/vpac270/u-boot-spl.lds b/board/vpac270/u-boot-spl.lds index 7eac4975b..08c78b3db 100644 --- a/board/vpac270/u-boot-spl.lds +++ b/board/vpac270/u-boot-spl.lds @@ -62,13 +62,13 @@ SECTIONS  		__bss_end = .;  	} -	/DISCARD/ : { *(.bss*) } -	/DISCARD/ : { *(.dynsym) } -	/DISCARD/ : { *(.dynstr*) } -	/DISCARD/ : { *(.dynsym*) } -	/DISCARD/ : { *(.dynamic*) } -	/DISCARD/ : { *(.hash*) } -	/DISCARD/ : { *(.plt*) } -	/DISCARD/ : { *(.interp*) } -	/DISCARD/ : { *(.gnu*) } +	.dynsym _end : { *(.dynsym) } +	.dynbss : { *(.dynbss) } +	.dynstr : { *(.dynstr*) } +	.dynamic : { *(.dynamic*) } +	.hash : { *(.hash*) } +	.plt : { *(.plt*) } +	.interp : { *(.interp*) } +	.gnu : { *(.gnu*) } +	.ARM.exidx : { *(.ARM.exidx*) }  } |