summaryrefslogtreecommitdiff
path: root/bl1
diff options
context:
space:
mode:
authorRoberto Vargas <roberto.vargas@arm.com>2018-05-10 11:01:16 +0100
committerRoberto Vargas <roberto.vargas@arm.com>2018-07-11 09:21:04 +0100
commitad92509476ca9c0a675bd484b7dc48ce69cc37fb (patch)
treec1c19c6c6442529294674f67921135fa9b43a9cb /bl1
parent5629b2b11ccbb422847cae776d5faf9bdc5cb5dd (diff)
Add .extab and .exidx sections
These sections are required by clang when the code is compiled for aarch32. These sections are related to the unwind of the stack in exceptions, but in the way that clang defines and uses them, the garbage collector cannot get rid of them. Change-Id: I085efc0cf77eae961d522472f72c4b5bad2237ab Signed-off-by: Roberto Vargas <roberto.vargas@arm.com>
Diffstat (limited to 'bl1')
-rw-r--r--bl1/bl1.ld.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/bl1/bl1.ld.S b/bl1/bl1.ld.S
index 484787d0..fabe3ef6 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*)