From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: michael.d.kinney@intel.com) Received: from mga09.intel.com (mga09.intel.com []) by groups.io with SMTP; Wed, 03 Apr 2019 15:00:19 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Apr 2019 15:00:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,306,1549958400"; d="scan'208";a="220321893" Received: from unknown (HELO mdkinney-MOBL2.amr.corp.intel.com) ([10.241.98.74]) by orsmga001.jf.intel.com with ESMTP; 03 Apr 2019 15:00:16 -0700 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Leif Lindholm , Ard Biesheuvel , Michael D Kinney Subject: [Patch 2/4] ArmPkg: Normalize line endings to CRLF Date: Wed, 3 Apr 2019 15:00:12 -0700 Message-Id: <20190403220014.14468-3-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.21.0.windows.1 In-Reply-To: <20190403220014.14468-1-michael.d.kinney@intel.com> References: <20190403220014.14468-1-michael.d.kinney@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit https://bugzilla.tianocore.org/show_bug.cgi?id=1659 Normalize line endings to use CRLF to pass PatchCheck.py Cc: Leif Lindholm Cc: Ard Biesheuvel Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney --- ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c | 44 +++---- .../ArmSmcPsciResetSystemLib/AArch64/Reset.S | 60 ++++----- .../AArch64/Reset.asm | 70 +++++----- .../ArmSmcPsciResetSystemLib/Arm/Reset.S | 58 ++++---- .../ArmSmcPsciResetSystemLib/Arm/Reset.asm | 68 +++++----- ArmPkg/Library/CompilerIntrinsicsLib/memset.c | 124 +++++++++--------- ArmPkg/Library/GccLto/liblto-aarch64.s | 54 ++++---- ArmPkg/Library/GccLto/liblto-arm.s | 122 ++++++++--------- 8 files changed, 300 insertions(+), 300 deletions(-) diff --git a/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c b/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c index e5d4e51133..393fc1a922 100644 --- a/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c +++ b/ArmPkg/Library/ArmSmcLibNull/ArmSmcLibNull.c @@ -1,22 +1,22 @@ -// -// Copyright (c) 2016, Linaro Limited. All rights reserved. -// -// This program and the accompanying materials -// are licensed and made available under the terms and conditions of the BSD License -// which accompanies this distribution. The full text of the license may be found at -// http://opensource.org/licenses/bsd-license.php -// -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -// - -#include -#include - -VOID -ArmCallSmc ( - IN OUT ARM_SMC_ARGS *Args - ) -{ -} +// +// Copyright (c) 2016, Linaro Limited. All rights reserved. +// +// This program and the accompanying materials +// are licensed and made available under the terms and conditions of the BSD License +// which accompanies this distribution. The full text of the license may be found at +// http://opensource.org/licenses/bsd-license.php +// +// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// +// + +#include +#include + +VOID +ArmCallSmc ( + IN OUT ARM_SMC_ARGS *Args + ) +{ +} diff --git a/ArmPkg/Library/ArmSmcPsciResetSystemLib/AArch64/Reset.S b/ArmPkg/Library/ArmSmcPsciResetSystemLib/AArch64/Reset.S index 1edca941cb..208422b8a6 100644 --- a/ArmPkg/Library/ArmSmcPsciResetSystemLib/AArch64/Reset.S +++ b/ArmPkg/Library/ArmSmcPsciResetSystemLib/AArch64/Reset.S @@ -1,30 +1,30 @@ -/** @file - ResetSystemLib implementation using PSCI calls - - Copyright (c) 2018, Linaro Ltd. All rights reserved.
- - This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#include - -ASM_FUNC(DisableMmuAndReenterPei) - stp x29, x30, [sp, #-16]! - mov x29, sp - - bl ArmDisableMmu - - // no memory accesses after MMU and caches have been disabled - - MOV64 (x0, FixedPcdGet64 (PcdFvBaseAddress)) - blr x0 - - // never returns - nop +/** @file + ResetSystemLib implementation using PSCI calls + + Copyright (c) 2018, Linaro Ltd. All rights reserved.
+ + This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include + +ASM_FUNC(DisableMmuAndReenterPei) + stp x29, x30, [sp, #-16]! + mov x29, sp + + bl ArmDisableMmu + + // no memory accesses after MMU and caches have been disabled + + MOV64 (x0, FixedPcdGet64 (PcdFvBaseAddress)) + blr x0 + + // never returns + nop diff --git a/ArmPkg/Library/ArmSmcPsciResetSystemLib/AArch64/Reset.asm b/ArmPkg/Library/ArmSmcPsciResetSystemLib/AArch64/Reset.asm index 9e30c13329..090035178f 100644 --- a/ArmPkg/Library/ArmSmcPsciResetSystemLib/AArch64/Reset.asm +++ b/ArmPkg/Library/ArmSmcPsciResetSystemLib/AArch64/Reset.asm @@ -1,35 +1,35 @@ -;/** @file -; ResetSystemLib implementation using PSCI calls -; -; Copyright (c) 2018, Linaro Ltd. All rights reserved.
-; -; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;**/ - - AREA Reset, CODE, READONLY - - EXPORT DisableMmuAndReenterPei - IMPORT ArmDisableMmu - -DisableMmuAndReenterPei - stp x29, x30, [sp, #-16]! - mov x29, sp - - bl ArmDisableMmu - - ; no memory accesses after MMU and caches have been disabled - - movl x0, FixedPcdGet64 (PcdFvBaseAddress) - blr x0 - - ; never returns - nop - - END +;/** @file +; ResetSystemLib implementation using PSCI calls +; +; Copyright (c) 2018, Linaro Ltd. All rights reserved.
+; +; This program and the accompanying materials +; are licensed and made available under the terms and conditions of the BSD License +; which accompanies this distribution. The full text of the license may be found at +; http://opensource.org/licenses/bsd-license.php +; +; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +; +;**/ + + AREA Reset, CODE, READONLY + + EXPORT DisableMmuAndReenterPei + IMPORT ArmDisableMmu + +DisableMmuAndReenterPei + stp x29, x30, [sp, #-16]! + mov x29, sp + + bl ArmDisableMmu + + ; no memory accesses after MMU and caches have been disabled + + movl x0, FixedPcdGet64 (PcdFvBaseAddress) + blr x0 + + ; never returns + nop + + END diff --git a/ArmPkg/Library/ArmSmcPsciResetSystemLib/Arm/Reset.S b/ArmPkg/Library/ArmSmcPsciResetSystemLib/Arm/Reset.S index b6fe2bd82b..7fef8bf301 100644 --- a/ArmPkg/Library/ArmSmcPsciResetSystemLib/Arm/Reset.S +++ b/ArmPkg/Library/ArmSmcPsciResetSystemLib/Arm/Reset.S @@ -1,29 +1,29 @@ -/** @file - ResetSystemLib implementation using PSCI calls - - Copyright (c) 2018, Linaro Ltd. All rights reserved.
- - This program and the accompanying materials - are licensed and made available under the terms and conditions of the BSD License - which accompanies this distribution. The full text of the license may be found at - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#include - -ASM_FUNC(DisableMmuAndReenterPei) - push {lr} - - bl ArmDisableMmu - - // no memory accesses after MMU and caches have been disabled - - MOV32 (r0, FixedPcdGet64 (PcdFvBaseAddress)) - blx r0 - - // never returns - nop +/** @file + ResetSystemLib implementation using PSCI calls + + Copyright (c) 2018, Linaro Ltd. All rights reserved.
+ + This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include + +ASM_FUNC(DisableMmuAndReenterPei) + push {lr} + + bl ArmDisableMmu + + // no memory accesses after MMU and caches have been disabled + + MOV32 (r0, FixedPcdGet64 (PcdFvBaseAddress)) + blx r0 + + // never returns + nop diff --git a/ArmPkg/Library/ArmSmcPsciResetSystemLib/Arm/Reset.asm b/ArmPkg/Library/ArmSmcPsciResetSystemLib/Arm/Reset.asm index fa4fbd0e07..98b4d2020d 100644 --- a/ArmPkg/Library/ArmSmcPsciResetSystemLib/Arm/Reset.asm +++ b/ArmPkg/Library/ArmSmcPsciResetSystemLib/Arm/Reset.asm @@ -1,34 +1,34 @@ -;/** @file -; ResetSystemLib implementation using PSCI calls -; -; Copyright (c) 2018, Linaro Ltd. All rights reserved.
-; -; This program and the accompanying materials -; are licensed and made available under the terms and conditions of the BSD License -; which accompanies this distribution. The full text of the license may be found at -; http://opensource.org/licenses/bsd-license.php -; -; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -; -;**/ - - INCLUDE AsmMacroExport.inc - PRESERVE8 - - IMPORT ArmDisableMmu - -RVCT_ASM_EXPORT DisableMmuAndReenterPei - push {lr} - - bl ArmDisableMmu - - ; no memory accesses after MMU and caches have been disabled - - mov32 r0, FixedPcdGet64 (PcdFvBaseAddress) - blx r0 - - ; never returns - nop - - END +;/** @file +; ResetSystemLib implementation using PSCI calls +; +; Copyright (c) 2018, Linaro Ltd. All rights reserved.
+; +; This program and the accompanying materials +; are licensed and made available under the terms and conditions of the BSD License +; which accompanies this distribution. The full text of the license may be found at +; http://opensource.org/licenses/bsd-license.php +; +; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +; +;**/ + + INCLUDE AsmMacroExport.inc + PRESERVE8 + + IMPORT ArmDisableMmu + +RVCT_ASM_EXPORT DisableMmuAndReenterPei + push {lr} + + bl ArmDisableMmu + + ; no memory accesses after MMU and caches have been disabled + + mov32 r0, FixedPcdGet64 (PcdFvBaseAddress) + blx r0 + + ; never returns + nop + + END diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/memset.c b/ArmPkg/Library/CompilerIntrinsicsLib/memset.c index 7271b4be6f..30a0a1ba03 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/memset.c +++ b/ArmPkg/Library/CompilerIntrinsicsLib/memset.c @@ -1,62 +1,62 @@ -//------------------------------------------------------------------------------ -// -// Copyright (c) 2016, Linaro Ltd. All rights reserved.
-// -// This program and the accompanying materials are licensed and made -// available under the terms and conditions of the BSD License which -// accompanies this distribution. The full text of the license may be -// found at http://opensource.org/licenses/bsd-license.php -// -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR -// IMPLIED. -// -//------------------------------------------------------------------------------ - -typedef __SIZE_TYPE__ size_t; - -static __attribute__((__used__)) -void *__memset(void *s, int c, size_t n) -{ - unsigned char *d = s; - - while (n--) - *d++ = c; - - return s; -} - -// -// Other modules (such as CryptoPkg/IntrinsicLib) may provide another -// implementation of memset(), which may conflict with this one if this -// object was pulled into the link due to the definitions below. So make -// our memset() 'weak' to let the other implementation take precedence. -// -__attribute__((__weak__, __alias__("__memset"))) -void *memset(void *dest, int c, size_t n); - -#ifdef __arm__ - -void __aeabi_memset(void *dest, size_t n, int c) -{ - __memset(dest, c, n); -} - -__attribute__((__alias__("__aeabi_memset"))) -void __aeabi_memset4(void *dest, size_t n, int c); - -__attribute__((__alias__("__aeabi_memset"))) -void __aeabi_memset8(void *dest, size_t n, int c); - -void __aeabi_memclr(void *dest, size_t n) -{ - __memset(dest, 0, n); -} - -__attribute__((__alias__("__aeabi_memclr"))) -void __aeabi_memclr4(void *dest, size_t n); - -__attribute__((__alias__("__aeabi_memclr"))) -void __aeabi_memclr8(void *dest, size_t n); - -#endif +//------------------------------------------------------------------------------ +// +// Copyright (c) 2016, Linaro Ltd. All rights reserved.
+// +// This program and the accompanying materials are licensed and made +// available under the terms and conditions of the BSD License which +// accompanies this distribution. The full text of the license may be +// found at http://opensource.org/licenses/bsd-license.php +// +// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR +// IMPLIED. +// +//------------------------------------------------------------------------------ + +typedef __SIZE_TYPE__ size_t; + +static __attribute__((__used__)) +void *__memset(void *s, int c, size_t n) +{ + unsigned char *d = s; + + while (n--) + *d++ = c; + + return s; +} + +// +// Other modules (such as CryptoPkg/IntrinsicLib) may provide another +// implementation of memset(), which may conflict with this one if this +// object was pulled into the link due to the definitions below. So make +// our memset() 'weak' to let the other implementation take precedence. +// +__attribute__((__weak__, __alias__("__memset"))) +void *memset(void *dest, int c, size_t n); + +#ifdef __arm__ + +void __aeabi_memset(void *dest, size_t n, int c) +{ + __memset(dest, c, n); +} + +__attribute__((__alias__("__aeabi_memset"))) +void __aeabi_memset4(void *dest, size_t n, int c); + +__attribute__((__alias__("__aeabi_memset"))) +void __aeabi_memset8(void *dest, size_t n, int c); + +void __aeabi_memclr(void *dest, size_t n) +{ + __memset(dest, 0, n); +} + +__attribute__((__alias__("__aeabi_memclr"))) +void __aeabi_memclr4(void *dest, size_t n); + +__attribute__((__alias__("__aeabi_memclr"))) +void __aeabi_memclr8(void *dest, size_t n); + +#endif diff --git a/ArmPkg/Library/GccLto/liblto-aarch64.s b/ArmPkg/Library/GccLto/liblto-aarch64.s index 45000d3277..28ef4031fd 100644 --- a/ArmPkg/Library/GccLto/liblto-aarch64.s +++ b/ArmPkg/Library/GccLto/liblto-aarch64.s @@ -1,27 +1,27 @@ -// -// Copyright (c) 2016, Linaro Ltd. All rights reserved.
-// -// This program and the accompanying materials are licensed and made available under -// the terms and conditions of the BSD License that accompanies this distribution. -// The full text of the license may be found at -// http://opensource.org/licenses/bsd-license.php. -// -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// - -// -// GCC in LTO mode interoperates poorly with non-standard libraries that -// provide implementations of compiler intrinsics such as memcpy/memset -// or the stack protector entry points. -// -// By referencing these functions from a non-LTO object that can be passed -// to the linker via the -plugin-opt=-pass-through=-lxxx options, the -// intrinsics are included in the link in a way that allows them to be -// pruned again if no other references to them exist. -// - - .long memcpy - . - .long memset - . - .long __stack_chk_fail - . - .long __stack_chk_guard - . +// +// Copyright (c) 2016, Linaro Ltd. All rights reserved.
+// +// This program and the accompanying materials are licensed and made available under +// the terms and conditions of the BSD License that accompanies this distribution. +// The full text of the license may be found at +// http://opensource.org/licenses/bsd-license.php. +// +// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// + +// +// GCC in LTO mode interoperates poorly with non-standard libraries that +// provide implementations of compiler intrinsics such as memcpy/memset +// or the stack protector entry points. +// +// By referencing these functions from a non-LTO object that can be passed +// to the linker via the -plugin-opt=-pass-through=-lxxx options, the +// intrinsics are included in the link in a way that allows them to be +// pruned again if no other references to them exist. +// + + .long memcpy - . + .long memset - . + .long __stack_chk_fail - . + .long __stack_chk_guard - . diff --git a/ArmPkg/Library/GccLto/liblto-arm.s b/ArmPkg/Library/GccLto/liblto-arm.s index bc16320a46..75abf6c52e 100644 --- a/ArmPkg/Library/GccLto/liblto-arm.s +++ b/ArmPkg/Library/GccLto/liblto-arm.s @@ -1,61 +1,61 @@ -// -// Copyright (c) 2016, Linaro Ltd. All rights reserved.
-// -// This program and the accompanying materials are licensed and made available under -// the terms and conditions of the BSD License that accompanies this distribution. -// The full text of the license may be found at -// http://opensource.org/licenses/bsd-license.php. -// -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// - -// -// GCC in LTO mode interoperates poorly with non-standard libraries that -// provide implementations of compiler intrinsics such as memcpy/memset -// or the stack protector entry points. -// -// By referencing these functions from a non-LTO object that can be passed -// to the linker via the -plugin-opt=-pass-through=-lxxx options, the -// intrinsics are included in the link in a way that allows them to be -// pruned again if no other references to them exist. -// - - .long memcpy - . - .long memset - . - .long __stack_chk_fail - . - .long __stack_chk_guard - . - .long __ashrdi3 - . - .long __ashldi3 - . - .long __aeabi_idiv - . - .long __aeabi_idivmod - . - .long __aeabi_uidiv - . - .long __aeabi_uidivmod - . - .long __divdi3 - . - .long __divsi3 - . - .long __lshrdi3 - . - .long __aeabi_memcpy - . - .long __aeabi_memset - . - .long memmove - . - .long __modsi3 - . - .long __moddi3 - . - .long __muldi3 - . - .long __aeabi_lmul - . - .long __ARM_ll_mullu - . - .long __udivsi3 - . - .long __umodsi3 - . - .long __udivdi3 - . - .long __umoddi3 - . - .long __udivmoddi4 - . - .long __clzsi2 - . - .long __ctzsi2 - . - .long __ucmpdi2 - . - .long __switch8 - . - .long __switchu8 - . - .long __switch16 - . - .long __switch32 - . - .long __aeabi_ulcmp - . - .long __aeabi_uldivmod - . - .long __aeabi_ldivmod - . - .long __aeabi_llsr - . - .long __aeabi_llsl - . +// +// Copyright (c) 2016, Linaro Ltd. All rights reserved.
+// +// This program and the accompanying materials are licensed and made available under +// the terms and conditions of the BSD License that accompanies this distribution. +// The full text of the license may be found at +// http://opensource.org/licenses/bsd-license.php. +// +// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// + +// +// GCC in LTO mode interoperates poorly with non-standard libraries that +// provide implementations of compiler intrinsics such as memcpy/memset +// or the stack protector entry points. +// +// By referencing these functions from a non-LTO object that can be passed +// to the linker via the -plugin-opt=-pass-through=-lxxx options, the +// intrinsics are included in the link in a way that allows them to be +// pruned again if no other references to them exist. +// + + .long memcpy - . + .long memset - . + .long __stack_chk_fail - . + .long __stack_chk_guard - . + .long __ashrdi3 - . + .long __ashldi3 - . + .long __aeabi_idiv - . + .long __aeabi_idivmod - . + .long __aeabi_uidiv - . + .long __aeabi_uidivmod - . + .long __divdi3 - . + .long __divsi3 - . + .long __lshrdi3 - . + .long __aeabi_memcpy - . + .long __aeabi_memset - . + .long memmove - . + .long __modsi3 - . + .long __moddi3 - . + .long __muldi3 - . + .long __aeabi_lmul - . + .long __ARM_ll_mullu - . + .long __udivsi3 - . + .long __umodsi3 - . + .long __udivdi3 - . + .long __umoddi3 - . + .long __udivmoddi4 - . + .long __clzsi2 - . + .long __ctzsi2 - . + .long __ucmpdi2 - . + .long __switch8 - . + .long __switchu8 - . + .long __switch16 - . + .long __switch32 - . + .long __aeabi_ulcmp - . + .long __aeabi_uldivmod - . + .long __aeabi_ldivmod - . + .long __aeabi_llsr - . + .long __aeabi_llsl - . -- 2.21.0.windows.1