aboutsummaryrefslogtreecommitdiffstats
path: root/include/lib
diff options
context:
space:
mode:
authorSoby Mathew <soby.mathew@arm.com>2019-12-17 16:43:39 +0000
committerTrustedFirmware Code Review <review@review.trustedfirmware.org>2019-12-17 16:43:39 +0000
commit4e0d14f218bd361e0373c9851b65e1106c11e61e (patch)
treea3c0c0bc077ea2752922ce58f198df7ea5301587 /include/lib
parent287a81dfada75024e06a16544ea8da2672630011 (diff)
parentd01969118f1120d469d8f870cd195cb97e55fa90 (diff)
downloadplatform_external_arm-trusted-firmware-4e0d14f218bd361e0373c9851b65e1106c11e61e.tar.gz
platform_external_arm-trusted-firmware-4e0d14f218bd361e0373c9851b65e1106c11e61e.tar.bz2
platform_external_arm-trusted-firmware-4e0d14f218bd361e0373c9851b65e1106c11e61e.zip
Merge "arm: gicv3: Fix compiler dependent behavior" into integration
Diffstat (limited to 'include/lib')
-rw-r--r--include/lib/utils.h14
1 files changed, 6 insertions, 8 deletions
diff --git a/include/lib/utils.h b/include/lib/utils.h
index cdb125cfa..17ee93694 100644
--- a/include/lib/utils.h
+++ b/include/lib/utils.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2016-2019, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
@@ -79,13 +79,11 @@ void zeromem(void *mem, u_register_t length);
* which is constant and does not depend on the execute address of the binary.
*/
#define DEFINE_LOAD_SYM_ADDR(_name) \
-static inline u_register_t load_addr_## _name(void) \
-{ \
- u_register_t v; \
- /* Create a void reference to silence compiler */ \
- (void) _name; \
- __asm__ volatile ("ldr %0, =" #_name : "=r" (v)); \
- return v; \
+static inline u_register_t load_addr_## _name(void) \
+{ \
+ u_register_t v; \
+ __asm__ volatile ("ldr %0, =" #_name : "=r" (v) : "X" (#_name));\
+ return v; \
}
/* Helper to invoke the function defined by DEFINE_LOAD_SYM_ADDR() */