// | |
// Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR> | |
// | |
// SPDX-License-Identifier: BSD-2-Clause-Patent | |
// | |
// | |
// 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 - . |