From: Antonio Nino Diaz Date: Thu, 16 Aug 2018 14:42:44 +0000 (+0100) Subject: libc: armclang: Implement compiler printf symbols X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=8422a8406b7d2d8e01c113e24eca167854981dfe;p=project%2Fbcm63xx%2Fatf.git libc: armclang: Implement compiler printf symbols armclang replaces calls to printf by calls to one of the symbols __0printf, __1printf or __2printf. This patch adds new functions with these names that internally call printf so that the Trusted Firmware can be compiled with this compiler. Change-Id: I06a0e3e5001232fe5b2577615666ddd66e81eef0 Signed-off-by: Antonio Nino Diaz --- diff --git a/Makefile b/Makefile index e7ca14a5..bdc317b1 100644 --- a/Makefile +++ b/Makefile @@ -211,6 +211,10 @@ BL_COMMON_SOURCES += common/bl_common.c \ plat/common/${ARCH}/platform_helpers.S \ ${COMPILER_RT_SRCS} +ifeq ($(notdir $(CC)),armclang) +BL_COMMON_SOURCES += lib/${ARCH}/armclang_printf.S +endif + INCLUDES += -Iinclude \ -Iinclude/bl1 \ -Iinclude/bl2 \ @@ -239,7 +243,6 @@ INCLUDES += -Iinclude \ ${SPD_INCLUDES} \ -Iinclude/tools_share - ################################################################################ # Generic definitions ################################################################################ diff --git a/lib/aarch32/armclang_printf.S b/lib/aarch32/armclang_printf.S new file mode 100644 index 00000000..2b87bf7e --- /dev/null +++ b/lib/aarch32/armclang_printf.S @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include + +/* Symbols needed by armclang */ + + .globl __0printf + .globl __1printf + .globl __2printf + +func __0printf +__1printf: +__2printf: + b printf +endfunc __0printf diff --git a/lib/aarch64/armclang_printf.S b/lib/aarch64/armclang_printf.S new file mode 100644 index 00000000..2b87bf7e --- /dev/null +++ b/lib/aarch64/armclang_printf.S @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include + +/* Symbols needed by armclang */ + + .globl __0printf + .globl __1printf + .globl __2printf + +func __0printf +__1printf: +__2printf: + b printf +endfunc __0printf