Place assembler functions in separate sections
This extends the --gc-sections behaviour to the many assembler
support functions in the firmware images by placing each function
into its own code section. This is achieved by creating a 'func'
macro used to declare each function label.
Fixes ARM-software/tf-issues#80
Change-Id: I301937b630add292d2dec6d2561a7fcfa6fec690
diff --git a/lib/arch/aarch64/tlb_helpers.S b/lib/arch/aarch64/tlb_helpers.S
index 69fd9f5..4244974 100644
--- a/lib/arch/aarch64/tlb_helpers.S
+++ b/lib/arch/aarch64/tlb_helpers.S
@@ -29,6 +29,7 @@
*/
#include <arch_helpers.h>
+#include <asm_macros.S>
.globl tlbialle1
.globl tlbialle1is
@@ -39,50 +40,48 @@
.globl tlbivmalle1
- .section .text, "ax"
-
-tlbialle1: ; .type tlbialle1, %function
+func tlbialle1
tlbi alle1
dsb sy
isb
ret
-tlbialle1is: ; .type tlbialle1is, %function
+func tlbialle1is
tlbi alle1is
dsb sy
isb
ret
-tlbialle2: ; .type tlbialle2, %function
+func tlbialle2
tlbi alle2
dsb sy
isb
ret
-tlbialle2is: ; .type tlbialle2is, %function
+func tlbialle2is
tlbi alle2is
dsb sy
isb
ret
-tlbialle3: ; .type tlbialle3, %function
+func tlbialle3
tlbi alle3
dsb sy
isb
ret
-tlbialle3is: ; .type tlbialle3is, %function
+func tlbialle3is
tlbi alle3is
dsb sy
isb
ret
-tlbivmalle1: ; .type tlbivmalle1, %function
+func tlbivmalle1
tlbi vmalle1
dsb sy
isb