diff --git a/bl1/bl1.ld.S b/bl1/bl1.ld.S index 484787d02f1a00d58c43b855b44d35b76d457b54..fabe3ef66a217dd0ebd76b3aa814785e4bf59677 100644 --- a/bl1/bl1.ld.S +++ b/bl1/bl1.ld.S @@ -32,6 +32,15 @@ SECTIONS __TEXT_END__ = .; } >ROM + /* .ARM.extab and .ARM.exidx are only added because Clang need them */ + .ARM.extab . : { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } >ROM + + .ARM.exidx . : { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } >ROM + .rodata . : { __RODATA_START__ = .; *(.rodata*) diff --git a/bl2/bl2.ld.S b/bl2/bl2.ld.S index 5935a64b9f2db8ebabda0ddc6ac0f5e8a7cc24c9..6d26cdb226855a8cab44ea40180b76c4644d6a2e 100644 --- a/bl2/bl2.ld.S +++ b/bl2/bl2.ld.S @@ -32,6 +32,15 @@ SECTIONS __TEXT_END__ = .; } >RAM + /* .ARM.extab and .ARM.exidx are only added because Clang need them */ + .ARM.extab . : { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } >RAM + + .ARM.exidx . : { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } >RAM + .rodata . : { __RODATA_START__ = .; *(.rodata*) diff --git a/bl2u/bl2u.ld.S b/bl2u/bl2u.ld.S index d0ffebc3ae7b12d042e2969ecdebacd358c6665f..3db5f894666cd4efc522a0ea0f42b996cd0d49bb 100644 --- a/bl2u/bl2u.ld.S +++ b/bl2u/bl2u.ld.S @@ -32,6 +32,15 @@ SECTIONS __TEXT_END__ = .; } >RAM + /* .ARM.extab and .ARM.exidx are only added because Clang need them */ + .ARM.extab . : { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } >RAM + + .ARM.exidx . : { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } >RAM + .rodata . : { __RODATA_START__ = .; *(.rodata*) diff --git a/bl32/sp_min/sp_min.ld.S b/bl32/sp_min/sp_min.ld.S index fa3b3acd5d0e70aa2b7a280f3e740fe0b94334bd..ce6c954eca54d95d4eb2e01c333092c985c3b8cc 100644 --- a/bl32/sp_min/sp_min.ld.S +++ b/bl32/sp_min/sp_min.ld.S @@ -32,6 +32,15 @@ SECTIONS __TEXT_END__ = .; } >RAM + /* .ARM.extab and .ARM.exidx are only added because Clang need them */ + .ARM.extab . : { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } >RAM + + .ARM.exidx . : { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } >RAM + .rodata . : { __RODATA_START__ = .; *(.rodata*)