diff options
author | Kévin Petit <kevin.petit@arm.com> | 2015-03-24 14:03:57 +0000 |
---|---|---|
committer | Kévin Petit <kevin.petit@arm.com> | 2015-04-08 13:02:59 +0100 |
commit | 8b779620d3bad024b83650ecfeaafd7b3ae26ccf (patch) | |
tree | 345141826138671577efda8e8b8426dd3f039916 /services | |
parent | cd319142464907e3760129f3e245a325300eb3c3 (diff) | |
download | platform_external_arm-trusted-firmware-8b779620d3bad024b83650ecfeaafd7b3ae26ccf.tar.gz platform_external_arm-trusted-firmware-8b779620d3bad024b83650ecfeaafd7b3ae26ccf.tar.bz2 platform_external_arm-trusted-firmware-8b779620d3bad024b83650ecfeaafd7b3ae26ccf.zip |
Add support to indicate size and end of assembly functions
In order for the symbol table in the ELF file to contain the size of
functions written in assembly, it is necessary to report it to the
assembler using the .size directive.
To fulfil the above requirements, this patch introduces an 'endfunc'
macro which contains the .endfunc and .size directives. It also adds
a .func directive to the 'func' assembler macro.
The .func/.endfunc have been used so the assembler can fail if
endfunc is omitted.
Fixes ARM-Software/tf-issues#295
Change-Id: If8cb331b03d7f38fe7e3694d4de26f1075b278fc
Signed-off-by: Kévin Petit <kevin.petit@arm.com>
Diffstat (limited to 'services')
-rw-r--r-- | services/spd/opteed/opteed_helpers.S | 2 | ||||
-rw-r--r-- | services/spd/tlkd/tlkd_helpers.S | 2 | ||||
-rw-r--r-- | services/spd/tspd/tspd_helpers.S | 2 | ||||
-rw-r--r-- | services/std_svc/psci/psci_entry.S | 2 | ||||
-rw-r--r-- | services/std_svc/psci/psci_helpers.S | 2 |
5 files changed, 10 insertions, 0 deletions
diff --git a/services/spd/opteed/opteed_helpers.S b/services/spd/opteed/opteed_helpers.S index ef59540be..32c38f1b2 100644 --- a/services/spd/opteed/opteed_helpers.S +++ b/services/spd/opteed/opteed_helpers.S @@ -64,6 +64,7 @@ func opteed_enter_sp * --------------------------------------------- */ b el3_exit +endfunc opteed_enter_sp /* --------------------------------------------- * This function is called 'x0' pointing to a C @@ -99,3 +100,4 @@ func opteed_exit_sp */ mov x0, x1 ret +endfunc opteed_exit_sp
\ No newline at end of file diff --git a/services/spd/tlkd/tlkd_helpers.S b/services/spd/tlkd/tlkd_helpers.S index 55a82a36b..e6fb9ea55 100644 --- a/services/spd/tlkd/tlkd_helpers.S +++ b/services/spd/tlkd/tlkd_helpers.S @@ -66,6 +66,7 @@ func tlkd_enter_sp * ---------------------------------------------- */ b el3_exit +endfunc tlkd_enter_sp /* ---------------------------------------------- * This function is called with 'x0' pointing to @@ -100,3 +101,4 @@ func tlkd_exit_sp */ mov x0, x1 ret +endfunc tlkd_exit_sp diff --git a/services/spd/tspd/tspd_helpers.S b/services/spd/tspd/tspd_helpers.S index dd3b07b45..515e8245d 100644 --- a/services/spd/tspd/tspd_helpers.S +++ b/services/spd/tspd/tspd_helpers.S @@ -64,6 +64,7 @@ func tspd_enter_sp * --------------------------------------------- */ b el3_exit +endfunc tspd_enter_sp /* --------------------------------------------- * This function is called 'x0' pointing to a C @@ -99,3 +100,4 @@ func tspd_exit_sp */ mov x0, x1 ret +endfunc tspd_exit_sp diff --git a/services/std_svc/psci/psci_entry.S b/services/std_svc/psci/psci_entry.S index fb3f00761..3f0d4f0c0 100644 --- a/services/std_svc/psci/psci_entry.S +++ b/services/std_svc/psci/psci_entry.S @@ -148,6 +148,7 @@ psci_aff_common_finish_entry: bl psci_afflvl_power_on_finish b el3_exit +endfunc psci_aff_on_finish_entry /* -------------------------------------------- * This function is called to indicate to the @@ -163,4 +164,5 @@ func psci_power_down_wfi wfi wfi_spill: b wfi_spill +endfunc psci_power_down_wfi diff --git a/services/std_svc/psci/psci_helpers.S b/services/std_svc/psci/psci_helpers.S index 9a51d5c29..1d99158e1 100644 --- a/services/std_svc/psci/psci_helpers.S +++ b/services/std_svc/psci/psci_helpers.S @@ -120,6 +120,7 @@ do_stack_maintenance: ldp x19, x20, [sp], #16 ldp x29, x30, [sp], #16 ret +endfunc psci_do_pwrdown_cache_maintenance /* ----------------------------------------------------------------------- @@ -164,3 +165,4 @@ func psci_do_pwrup_cache_maintenance ldp x29, x30, [sp], #16 ret +endfunc psci_do_pwrup_cache_maintenance |