Index: flash/bootloader/no_rom.lds =================================================================== --- flash/bootloader/no_rom.lds (revision 31343) +++ flash/bootloader/no_rom.lds (working copy) @@ -13,7 +13,7 @@ { .vectors : { - *(.vectors) + KEEP(*(.vectors)) . = ALIGN(0x200); } > FLASH Index: firmware/decompressor/link.lds =================================================================== --- firmware/decompressor/link.lds (revision 31343) +++ firmware/decompressor/link.lds (working copy) @@ -17,7 +17,7 @@ { _loadaddress = .; _dramend = . + DRAMSIZE; - *(.vectors) + KEEP(*(.vectors)) . = ALIGN(0x200); } > DRAM Index: firmware/target/arm/tatung/app.lds =================================================================== --- firmware/target/arm/tatung/app.lds (revision 31343) +++ firmware/target/arm/tatung/app.lds (working copy) @@ -84,7 +84,7 @@ .vectors 0x0 : { _vectorsstart = .; - *(.vectors); + KEEP(*(.vectors)); _vectorsend = .; } AT> DRAM Index: firmware/target/arm/pnx0101/app.lds =================================================================== --- firmware/target/arm/pnx0101/app.lds (revision 31343) +++ firmware/target/arm/pnx0101/app.lds (working copy) @@ -73,7 +73,7 @@ .vectors 0x0 : { _vectorsstart = .; - *(.vectors); + KEEP(*(.vectors)); _vectorsend = .; *(.dmabuf) } >IRAM0 AT> DRAM Index: firmware/target/arm/philips/app.lds =================================================================== --- firmware/target/arm/philips/app.lds (revision 31343) +++ firmware/target/arm/philips/app.lds (working copy) @@ -84,7 +84,7 @@ .vectors 0x0 : { _vectorsstart = .; - *(.vectors); + KEEP(*(.vectors)); _vectorsend = .; } AT> DRAM Index: firmware/target/arm/tcc780x/app.lds =================================================================== --- firmware/target/arm/tcc780x/app.lds (revision 31343) +++ firmware/target/arm/tcc780x/app.lds (working copy) @@ -69,7 +69,7 @@ .vectors ITCMORIG : { _vectorsstart = .; - *(.vectors); + KEEP(*(.vectors)); _vectorsend = .; } > ITCM AT> DRAM Index: firmware/target/arm/imx31/app.lds =================================================================== --- firmware/target/arm/imx31/app.lds (revision 31343) +++ firmware/target/arm/imx31/app.lds (working copy) @@ -89,7 +89,7 @@ .vectors 0x0 : { _vectorsstart = .; - *(.vectors) + KEEP(*(.vectors)) _vectorsend = .; } AT> DRAM Index: firmware/target/arm/samsung/app.lds =================================================================== --- firmware/target/arm/samsung/app.lds (revision 31343) +++ firmware/target/arm/samsung/app.lds (working copy) @@ -84,7 +84,7 @@ .vectors 0x0 : { _vectorsstart = .; - *(.vectors); + KEEP(*(.vectors)); _vectorsend = .; } AT> DRAM Index: firmware/target/arm/at91sam/boot.lds =================================================================== --- firmware/target/arm/at91sam/boot.lds (revision 31343) +++ firmware/target/arm/at91sam/boot.lds (working copy) @@ -29,7 +29,7 @@ .vectors 0 : AT (DRAMORIG + DRAMSIZE - 1M) { _start_vectors_section = .; - *(.vectors) + KEEP(*(.vectors)) *(.glue_7) *(.glue_7t) . = ALIGN(4); Index: firmware/target/arm/pbell/app.lds =================================================================== --- firmware/target/arm/pbell/app.lds (revision 31343) +++ firmware/target/arm/pbell/app.lds (working copy) @@ -84,7 +84,7 @@ .vectors 0x0 : { _vectorsstart = .; - *(.vectors); + KEEP(*(.vectors)); _vectorsend = .; } AT> DRAM Index: firmware/target/arm/iriver/app.lds =================================================================== --- firmware/target/arm/iriver/app.lds (revision 31343) +++ firmware/target/arm/iriver/app.lds (working copy) @@ -84,7 +84,7 @@ .vectors 0x0 : { _vectorsstart = .; - *(.vectors); + KEEP(*(.vectors)); _vectorsend = .; } AT> DRAM Index: firmware/target/arm/s3c2440/boot.lds =================================================================== --- firmware/target/arm/s3c2440/boot.lds (revision 31343) +++ firmware/target/arm/s3c2440/boot.lds (working copy) @@ -23,7 +23,7 @@ .vectors DRAMORIG : { _vectorstart = .; - *(.vectors*); + KEEP(*(.vectors*)); *(.init.text) . = ALIGN(0x4); } > DRAM Index: firmware/target/arm/s3c2440/app.lds =================================================================== --- firmware/target/arm/s3c2440/app.lds (revision 31343) +++ firmware/target/arm/s3c2440/app.lds (working copy) @@ -35,7 +35,7 @@ .vectors DRAMORIG : { _vectorstart = .; - *(.vectors*); + KEEP(*(.vectors*)); *(.init.text) . = ALIGN(0x4); } > DRAM Index: firmware/target/arm/olympus/app.lds =================================================================== --- firmware/target/arm/olympus/app.lds (revision 31343) +++ firmware/target/arm/olympus/app.lds (working copy) @@ -84,7 +84,7 @@ .vectors 0x0 : { _vectorsstart = .; - *(.vectors); + KEEP(*(.vectors)); _vectorsend = .; } AT> DRAM Index: firmware/target/arm/ipod/app.lds =================================================================== --- firmware/target/arm/ipod/app.lds (revision 31343) +++ firmware/target/arm/ipod/app.lds (working copy) @@ -84,7 +84,7 @@ .vectors 0x0 : { _vectorsstart = .; - *(.vectors); + KEEP(*(.vectors)); _vectorsend = .; } AT> DRAM Index: firmware/target/arm/sandisk/app.lds =================================================================== --- firmware/target/arm/sandisk/app.lds (revision 31343) +++ firmware/target/arm/sandisk/app.lds (working copy) @@ -81,7 +81,7 @@ .vectors 0x0 : { _vectorsstart = .; - *(.vectors); + KEEP(*(.vectors)); _vectorsend = .; } AT> DRAM Index: firmware/target/arm/tms320dm320/app.lds =================================================================== --- firmware/target/arm/tms320dm320/app.lds (revision 31343) +++ firmware/target/arm/tms320dm320/app.lds (working copy) @@ -77,7 +77,7 @@ { . = ALIGN(0x4); _vectorsstart = .; - *(.vectors); + KEEP(*(.vectors)); _vectorsend = .; } > ITCM AT> DRAM Index: firmware/target/mips/ingenic_jz47xx/boot.lds =================================================================== --- firmware/target/mips/ingenic_jz47xx/boot.lds (revision 31343) +++ firmware/target/mips/ingenic_jz47xx/boot.lds (working copy) @@ -49,14 +49,14 @@ .iram IRAMORIG: { _iramstart = .; - *(.vectors.1); + KEEP(*(.vectors.1)); . = 0x100; - *(.vectors.2); + KEEP(*(.vectors.2)); . = 0x180; - *(.vectors.3); + KEEP(*(.vectors.3)); . = 0x200; - *(.vectors.4); - *(.vectors); + KEEP(*(.vectors.4)); + KEEP(*(.vectors)); *(.icode); *(.irodata); Index: firmware/target/mips/ingenic_jz47xx/app.lds =================================================================== --- firmware/target/mips/ingenic_jz47xx/app.lds (revision 31343) +++ firmware/target/mips/ingenic_jz47xx/app.lds (working copy) @@ -55,20 +55,20 @@ .iram IRAMORIG: AT (_edata) { _iramstart = .; - *(.vectors.1); + KEEP(*(.vectors.1)); . = 0x100; - *(.vectors.2); + KEEP(*(.vectors.2)); . = 0x180; - *(.vectors.3); + KEEP(*(.vectors.3)); . = 0x200; - *(.vectors.4); - *(.vectors); + KEEP(*(.vectors.4)); + KEEP(*(.vectors)); *(.icode); *(.irodata); *(.idata); KEEP(*(.vectors)) - *(.vectors); + KEEP(*(.vectors)); _iramend = .; } > IRAM _iramcopy = LOADADDR(.iram); Index: firmware/rom.lds =================================================================== --- firmware/rom.lds (revision 31343) +++ firmware/rom.lds (working copy) @@ -81,10 +81,10 @@ loadaddress = .; _loadaddress = .; _datastart = .; - *(.resetvectors); - *(.vectors); + KEEP(*(.resetvectors)); + KEEP(*(.vectors)); . = ALIGN(0x200); - *(.data) + *(.data*) . = ALIGN(0x4); _dataend = .; . = ALIGN(0x10); /* Maintain proper alignment for .text section */ @@ -101,13 +101,13 @@ .text LOADADDR(.data) + SIZEOF(.data) : { *(.init.text) - *(.text) + *(.text*) . = ALIGN(0x4); } > FLASH .rodata : { - *(.rodata) + *(.rodata*) *(.rodata.str1.1) *(.rodata.str1.4) . = ALIGN(0x4); Index: firmware/test/kernel/app.lds =================================================================== --- firmware/test/kernel/app.lds (revision 31343) +++ firmware/test/kernel/app.lds (working copy) @@ -4,7 +4,7 @@ { .text 0x09010000 : { - *(.vectors) + KEEP(*(.vectors)) . = ALIGN(0x200); *(.init.text) } Index: firmware/test/i2c/app.lds =================================================================== --- firmware/test/i2c/app.lds (revision 31343) +++ firmware/test/i2c/app.lds (working copy) @@ -4,7 +4,7 @@ { .text 0x09010000 : { - *(.vectors) + KEEP(*(.vectors)) . = ALIGN(0x200); *(.init.text) }