diff options
Diffstat (limited to 'ArmPkg/Library')
34 files changed, 126 insertions, 6 deletions
diff --git a/ArmPkg/Library/ArmLib/Arm11/Arm11Support.S b/ArmPkg/Library/ArmLib/Arm11/Arm11Support.S index 885043414c..8c2ce60f5a 100644 --- a/ArmPkg/Library/ArmLib/Arm11/Arm11Support.S +++ b/ArmPkg/Library/ArmLib/Arm11/Arm11Support.S @@ -15,24 +15,43 @@ .text .align 2 .globl ASM_PFX(ArmCleanInvalidateDataCache) +INTERWORK_FUNC(ArmCleanInvalidateDataCache) .globl ASM_PFX(ArmCleanDataCache) +INTERWORK_FUNC(ArmCleanDataCache) .globl ASM_PFX(ArmInvalidateDataCache) +INTERWORK_FUNC(ArmInvalidateDataCache) .globl ASM_PFX(ArmInvalidateInstructionCache) +INTERWORK_FUNC(ArmInvalidateInstructionCache) .globl ASM_PFX(ArmInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmEnableMmu) +INTERWORK_FUNC(ArmEnableMmu) .globl ASM_PFX(ArmDisableMmu) +INTERWORK_FUNC(ArmDisableMmu) .globl ASM_PFX(ArmMmuEnabled) +INTERWORK_FUNC(ArmMmuEnabled) .globl ASM_PFX(ArmEnableDataCache) +INTERWORK_FUNC(ArmEnableDataCache) .globl ASM_PFX(ArmDisableDataCache) +INTERWORK_FUNC(ArmDisableDataCache) .globl ASM_PFX(ArmEnableInstructionCache) +INTERWORK_FUNC(ArmEnableInstructionCache) .globl ASM_PFX(ArmDisableInstructionCache) +INTERWORK_FUNC(ArmDisableInstructionCache) .globl ASM_PFX(ArmEnableBranchPrediction) +INTERWORK_FUNC(ArmEnableBranchPrediction) .globl ASM_PFX(ArmDisableBranchPrediction) +INTERWORK_FUNC(ArmDisableBranchPrediction) .globl ASM_PFX(ArmDataMemoryBarrier) +INTERWORK_FUNC(ArmDataMemoryBarrier) .globl ASM_PFX(ArmDataSyncronizationBarrier) +INTERWORK_FUNC(ArmDataSyncronizationBarrier) .globl ASM_PFX(ArmInstructionSynchronizationBarrier) +INTERWORK_FUNC(ArmInstructionSynchronizationBarrier) .set DC_ON, (0x1<<2) diff --git a/ArmPkg/Library/ArmLib/Arm9/Arm9Support.S b/ArmPkg/Library/ArmLib/Arm9/Arm9Support.S index 281603b117..f570f75059 100644 --- a/ArmPkg/Library/ArmLib/Arm9/Arm9Support.S +++ b/ArmPkg/Library/ArmLib/Arm9/Arm9Support.S @@ -15,24 +15,43 @@ .text .align 2 .globl ASM_PFX(ArmCleanInvalidateDataCache) +INTERWORK_FUNC(ArmCleanInvalidateDataCache) .globl ASM_PFX(ArmCleanDataCache) +INTERWORK_FUNC(ArmCleanDataCache) .globl ASM_PFX(ArmInvalidateDataCache) +INTERWORK_FUNC(ArmInvalidateDataCache) .globl ASM_PFX(ArmInvalidateInstructionCache) +INTERWORK_FUNC(ArmInvalidateInstructionCache) .globl ASM_PFX(ArmInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmEnableMmu) +INTERWORK_FUNC(ArmEnableMmu) .globl ASM_PFX(ArmDisableMmu) +INTERWORK_FUNC(ArmDisableMmu) .globl ASM_PFX(ArmMmuEnabled) +INTERWORK_FUNC(ArmMmuEnabled) .globl ASM_PFX(ArmEnableDataCache) +INTERWORK_FUNC(ArmEnableDataCache) .globl ASM_PFX(ArmDisableDataCache) +INTERWORK_FUNC(ArmDisableDataCache) .globl ASM_PFX(ArmEnableInstructionCache) +INTERWORK_FUNC(ArmEnableInstructionCache) .globl ASM_PFX(ArmDisableInstructionCache) +INTERWORK_FUNC(ArmDisableInstructionCache) .globl ASM_PFX(ArmEnableBranchPrediction) +INTERWORK_FUNC(ArmEnableBranchPrediction) .globl ASM_PFX(ArmDisableBranchPrediction) +INTERWORK_FUNC(ArmDisableBranchPrediction) .globl ASM_PFX(ArmDataMemoryBarrier) +INTERWORK_FUNC(ArmDataMemoryBarrier) .globl ASM_PFX(ArmDataSyncronizationBarrier) +INTERWORK_FUNC(ArmDataSyncronizationBarrier) .globl ASM_PFX(ArmInstructionSynchronizationBarrier) +INTERWORK_FUNC(ArmInstructionSynchronizationBarrier) .set DC_ON, (1<<2) diff --git a/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupport.S b/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupport.S index 83ecdba8e1..8ca37f0be0 100644 --- a/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupport.S +++ b/ArmPkg/Library/ArmLib/ArmV7/ArmLibSupport.S @@ -13,22 +13,39 @@ #------------------------------------------------------------------------------ .globl ASM_PFX(Cp15IdCode) +INTERWORK_FUNC(Cp15IdCode) .globl ASM_PFX(Cp15CacheInfo) +INTERWORK_FUNC(Cp15CacheInfo) .globl ASM_PFX(ArmEnableInterrupts) +INTERWORK_FUNC(ArmEnableInterrupts) .globl ASM_PFX(ArmDisableInterrupts) +INTERWORK_FUNC(ArmDisableInterrupts) .globl ASM_PFX(ArmGetInterruptState) +INTERWORK_FUNC(ArmGetInterruptState) .globl ASM_PFX(ArmEnableFiq) +INTERWORK_FUNC(ArmEnableFiq) .globl ASM_PFX(ArmDisableFiq) +INTERWORK_FUNC(ArmDisableFiq) .globl ASM_PFX(ArmGetFiqState) +INTERWORK_FUNC(ArmGetFiqState) .globl ASM_PFX(ArmInvalidateTlb) +INTERWORK_FUNC(ArmInvalidateTlb) .globl ASM_PFX(ArmSetTranslationTableBaseAddress) +INTERWORK_FUNC(ArmSetTranslationTableBaseAddress) .globl ASM_PFX(ArmGetTranslationTableBaseAddress) +INTERWORK_FUNC(ArmGetTranslationTableBaseAddress) .globl ASM_PFX(ArmSetDomainAccessControl) +INTERWORK_FUNC(ArmSetDomainAccessControl) .globl ASM_PFX(ArmUpdateTranslationTableEntry) +INTERWORK_FUNC(ArmUpdateTranslationTableEntry) .globl ASM_PFX(CPSRMaskInsert) +INTERWORK_FUNC(CPSRMaskInsert) .globl ASM_PFX(CPSRRead) +INTERWORK_FUNC(CPSRRead) .globl ASM_PFX(ReadCCSIDR) +INTERWORK_FUNC(ReadCCSIDR) .globl ASM_PFX(ReadCLIDR) +INTERWORK_FUNC(ReadCLIDR) .text .align 2 diff --git a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S index d071c1ac01..991de89a96 100644 --- a/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S +++ b/ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S @@ -13,26 +13,47 @@ #------------------------------------------------------------------------------ .globl ASM_PFX(ArmInvalidateInstructionCache) +INTERWORK_FUNC(ArmInvalidateInstructionCache) .globl ASM_PFX(ArmInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanDataCacheEntryByMVA) .globl ASM_PFX(ArmCleanInvalidateDataCacheEntryByMVA) +INTERWORK_FUNC(ArmCleanInvalidateDataCacheEntryByMVA) .globl ASM_PFX(ArmInvalidateDataCacheEntryBySetWay) +INTERWORK_FUNC(ArmInvalidateDataCacheEntryBySetWay) .globl ASM_PFX(ArmCleanDataCacheEntryBySetWay) +INTERWORK_FUNC(ArmCleanDataCacheEntryBySetWay) .globl ASM_PFX(ArmCleanInvalidateDataCacheEntryBySetWay) +INTERWORK_FUNC(ArmCleanInvalidateDataCacheEntryBySetWay) .globl ASM_PFX(ArmDrainWriteBuffer) +INTERWORK_FUNC(ArmDrainWriteBuffer) .globl ASM_PFX(ArmEnableMmu) +INTERWORK_FUNC(ArmEnableMmu) .globl ASM_PFX(ArmDisableMmu) +INTERWORK_FUNC(ArmDisableMmu) .globl ASM_PFX(ArmMmuEnabled) +INTERWORK_FUNC(ArmMmuEnabled) .globl ASM_PFX(ArmEnableDataCache) +INTERWORK_FUNC(ArmEnableDataCache) .globl ASM_PFX(ArmDisableDataCache) +INTERWORK_FUNC(ArmDisableDataCache) .globl ASM_PFX(ArmEnableInstructionCache) +INTERWORK_FUNC(ArmEnableInstructionCache) .globl ASM_PFX(ArmDisableInstructionCache) +INTERWORK_FUNC(ArmDisableInstructionCache) .globl ASM_PFX(ArmEnableBranchPrediction) +INTERWORK_FUNC(ArmEnableBranchPrediction) .globl ASM_PFX(ArmDisableBranchPrediction) +INTERWORK_FUNC(ArmDisableBranchPrediction) .globl ASM_PFX(ArmV7AllDataCachesOperation) +INTERWORK_FUNC(ArmV7AllDataCachesOperation) .globl ASM_PFX(ArmDataMemoryBarrier) +INTERWORK_FUNC(ArmDataMemoryBarrier) .globl ASM_PFX(ArmDataSyncronizationBarrier) +INTERWORK_FUNC(ArmDataSyncronizationBarrier) .globl ASM_PFX(ArmInstructionSynchronizationBarrier) +INTERWORK_FUNC(ArmInstructionSynchronizationBarrier) .text .align 2 diff --git a/ArmPkg/Library/ArmLib/Common/ArmLibSupport.S b/ArmPkg/Library/ArmLib/Common/ArmLibSupport.S index e5e9b54fc2..a432acbb80 100644 --- a/ArmPkg/Library/ArmLib/Common/ArmLibSupport.S +++ b/ArmPkg/Library/ArmLib/Common/ArmLibSupport.S @@ -15,19 +15,34 @@ .text .align 2 .globl ASM_PFX(Cp15IdCode) +INTERWORK_FUNC(Cp15IdCode) .globl ASM_PFX(Cp15CacheInfo) +INTERWORK_FUNC(Cp15CacheInfo) .globl ASM_PFX(ArmEnableInterrupts) +INTERWORK_FUNC(ArmEnableInterrupts) .globl ASM_PFX(ArmDisableInterrupts) +INTERWORK_FUNC(ArmDisableInterrupts) .globl ASM_PFX(ArmGetInterruptState) +INTERWORK_FUNC(ArmGetInterruptState) .globl ASM_PFX(ArmEnableFiq) +INTERWORK_FUNC(ArmEnableFiq) .globl ASM_PFX(ArmDisableFiq) +INTERWORK_FUNC(ArmDisableFiq) .globl ASM_PFX(ArmGetFiqState) +INTERWORK_FUNC(ArmGetFiqState) .globl ASM_PFX(ArmInvalidateTlb) +INTERWORK_FUNC(ArmInvalidateTlb) .globl ASM_PFX(ArmSetTranslationTableBaseAddress) +INTERWORK_FUNC(ArmSetTranslationTableBaseAddress) .globl ASM_PFX(ArmGetTranslationTableBaseAddress) +INTERWORK_FUNC(ArmGetTranslationTableBaseAddress) .globl ASM_PFX(ArmSetDomainAccessControl) +INTERWORK_FUNC(ArmSetDomainAccessControl) .globl ASM_PFX(CPSRMaskInsert) +INTERWORK_FUNC(CPSRMaskInsert) .globl ASM_PFX(CPSRRead) +INTERWORK_FUNC(CPSRRead) + #------------------------------------------------------------------------------ diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S b/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S index 9d0d389a13..1cd1dae54f 100755 --- a/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S +++ b/ArmPkg/Library/BaseMemoryLibStm/Arm/CopyMem.S @@ -40,6 +40,7 @@ InternalMemCopyMem ( .text
.align 2
.globl ASM_PFX(InternalMemCopyMem)
+INTERWORK_FUNC(InternalMemCopyMem)
ASM_PFX(InternalMemCopyMem):
stmfd sp!, {r4-r11, lr}
diff --git a/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S b/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S index 94aa0ca3db..29a50f5a49 100755 --- a/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S +++ b/ArmPkg/Library/BaseMemoryLibStm/Arm/SetMem.S @@ -38,6 +38,7 @@ InternalMemSetMem ( .text
.align 2
.globl ASM_PFX(InternalMemSetMem)
+INTERWORK_FUNC(InternalMemSetMem)
ASM_PFX(InternalMemSetMem):
stmfd sp!, {r4-r11, lr}
diff --git a/ArmPkg/Library/BaseMemoryLibVstm/Arm/CopyMem.S b/ArmPkg/Library/BaseMemoryLibVstm/Arm/CopyMem.S index f340146373..69db936555 100755 --- a/ArmPkg/Library/BaseMemoryLibVstm/Arm/CopyMem.S +++ b/ArmPkg/Library/BaseMemoryLibVstm/Arm/CopyMem.S @@ -40,6 +40,7 @@ InternalMemCopyMem ( .text
.align 2
.globl ASM_PFX(InternalMemCopyMem)
+INTERWORK_FUNC(InternalMemCopyMem)
ASM_PFX(InternalMemCopyMem):
stmfd sp!, {r4, r9, lr}
diff --git a/ArmPkg/Library/BaseMemoryLibVstm/Arm/SetMem.S b/ArmPkg/Library/BaseMemoryLibVstm/Arm/SetMem.S index 3b4a03d559..3eb901b58f 100755 --- a/ArmPkg/Library/BaseMemoryLibVstm/Arm/SetMem.S +++ b/ArmPkg/Library/BaseMemoryLibVstm/Arm/SetMem.S @@ -38,6 +38,7 @@ InternalMemSetMem ( .text
.align 2
.globl ASM_PFX(InternalMemSetMem)
+INTERWORK_FUNC(InternalMemSetMem)
ASM_PFX(InternalMemSetMem):
stmfd sp!, {r4-r7, lr}
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S index 669e3963da..64d0a33c26 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__ashldi3) + INTERWORK_FUNC(__ashldi3)
ASM_PFX(__ashldi3): cmp r2, #31 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S index a55c7824dd..3cb0e68f62 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__ashrdi3) + INTERWORK_FUNC(__ashrdi3)
ASM_PFX(__ashrdi3): cmp r2, #31 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S index fedad74958..2f9dcd4297 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__clzsi2) + INTERWORK_FUNC(__clzsi2)
ASM_PFX(__clzsi2): @ frame_needed = 1, uses_anonymous_args = 0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S index 0f26c4ad3e..b776ef43e1 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__ctzsi2) + INTERWORK_FUNC(__ctzsi2)
ASM_PFX(__ctzsi2): uxth r3, r0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S index d6a5add8f8..c6a889a8b4 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__divdi3) + INTERWORK_FUNC(__divdi3)
ASM_PFX(__divdi3): @ args = 0, pretend = 0, frame = 0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S index df07e72166..3d9b78c6b1 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__divsi3) + INTERWORK_FUNC(__divsi3)
ASM_PFX(__divsi3): eor r3, r0, r0, asr #31 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S index d5a68ae285..f8cd1aa9e2 100755 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S @@ -16,6 +16,7 @@ .text .align 2 .globl ASM_PFX(__aeabi_ldivmod) + INTERWORK_FUNC(__aeabi_ldivmod)
// // A pair of (unsigned) long longs is returned in {{r0, r1}, {r2, r3}}, diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S index 2f0341cb73..8d8c98b602 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__lshrdi3) + INTERWORK_FUNC(__lshrdi3)
ASM_PFX(__lshrdi3): cmp r2, #31 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memcpy.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memcpy.S index 3c26981e1c..ae20598943 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memcpy.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memcpy.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(memcpy) + INTERWORK_FUNC(memcpy)
ASM_PFX(memcpy): stmfd sp!, {r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S index 6992832aa0..040bbf1fdc 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.S @@ -15,8 +15,10 @@ .text .align 2 - .globl _memset -_memset: + .globl ASM_PFX(memset) + INTERWORK_FUNC(memset)
+
+ASM_PFX(memset):
@ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, uses_anonymous_args = 0 stmfd sp!, {r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S index a872b63a90..c7eb4b5f0e 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__moddi3) + INTERWORK_FUNC(__moddi3)
ASM_PFX(__moddi3): stmfd sp!, {r4, r5, r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S index 8924e7ba7b..93ba234ccb 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__modsi3) + INTERWORK_FUNC(__modsi3)
ASM_PFX(__modsi3): stmfd sp!, {r4, r5, r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S index c4059024aa..5c9aeef4ab 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S @@ -15,7 +15,8 @@ .text .align 2 .globl ASM_PFX(__muldi3) - + INTERWORK_FUNC(__muldi3)
+ ASM_PFX(__muldi3): stmfd sp!, {r4, r5, r6, r7, lr} add r7, sp, #12 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/sourcery.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/sourcery.S index 6791050937..68cc974fd9 100755 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/sourcery.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/sourcery.S @@ -16,6 +16,8 @@ .text
.align 2
.globl ASM_PFX(__aeabi_ulcmp)
+ INTERWORK_FUNC(__aeabi_ulcmp)
+
ASM_PFX(__aeabi_ulcmp):
stmfd sp!, {r4, r5, r8}
cmp r3, r1
diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S index 88419db27e..8c38a7af47 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S @@ -17,7 +17,7 @@ .p2align 2 .globl ASM_PFX(__switch16) - +INTERWORK_FUNC(__switch16)
ASM_PFX(__switch16): ldrh ip, [lr, #-1] diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S index d6be556874..d9bf800fd7 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S @@ -17,7 +17,7 @@ .p2align 2 .globl ASM_PFX(__switch32) - +INTERWORK_FUNC(__switch32) ASM_PFX(__switch32): ldr ip, [lr, #-1] diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S index a526d599fe..1fbd48aa35 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S @@ -17,6 +17,7 @@ .p2align 2 .globl ASM_PFX(__switch8) +INTERWORK_FUNC(__switch8) ASM_PFX(__switch8): diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S index 8f057b85f3..ed0c115817 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S @@ -17,6 +17,7 @@ .p2align 2 .globl ASM_PFX(__switchu8) +INTERWORK_FUNC(__switchu8) ASM_PFX(__switchu8): diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S index 18fccc6a0e..5b7f5b70b7 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__ucmpdi2) + INTERWORK_FUNC(__ucmpdi2) ASM_PFX(__ucmpdi2): stmfd sp!, {r4, r5, r8, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S index b03f65322c..fc9240e135 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__udivdi3) + INTERWORK_FUNC(__udivdi3) ASM_PFX(__udivdi3): stmfd sp!, {r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S index 77507e3441..816e66a12a 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S @@ -15,7 +15,8 @@ .text .align 2 .globl ASM_PFX(__udivmoddi4) - + INTERWORK_FUNC(__udivmoddi4) + ASM_PFX(__udivmoddi4): stmfd sp!, {r4, r5, r6, r7, lr} add r7, sp, #12 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S index 452cfe5f1b..77cfa726c0 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__udivsi3) + INTERWORK_FUNC(__udivsi3) ASM_PFX(__udivsi3): cmp r1, #0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldiv.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldiv.S index 75761deca0..81e824cc83 100755 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldiv.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/uldiv.S @@ -17,6 +17,7 @@ .text .align 2 .globl ASM_PFX(__aeabi_uldivmod) + INTERWORK_FUNC(__aeabi_uldivmod) // //UINT64 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S index b83d7b1978..c801ba06dd 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__umoddi3) + INTERWORK_FUNC(__umoddi3) ASM_PFX(__umoddi3): stmfd sp!, {r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S index 919018ab88..30dc55193b 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S @@ -15,6 +15,7 @@ .text .align 2 .globl ASM_PFX(__umodsi3) + INTERWORK_FUNC(__umodsi3) ASM_PFX(__umodsi3): stmfd sp!, {r4, r5, r7, lr} |