diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/AArch64/memcpy.S b/ArmPkg/Library/CompilerIntrinsicsLib/AArch64/memcpy.S index 66102da14b..4dd6cf2077 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/AArch64/memcpy.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/AArch64/memcpy.S @@ -26,16 +26,10 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - -.text -.align 2 - - -GCC_ASM_EXPORT(memcpy) - +#include // Taken from Newlib BSD implementation. -ASM_PFX(memcpy): +ASM_FUNC(memcpy) // Copy dst to x6, so we can preserve return value. mov x6, x0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S index 74960b1df1..a68b60cf0c 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashldi3.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__ashldi3) +#include -ASM_PFX(__ashldi3): +ASM_FUNC(__ashldi3) cmp r2, #31 bls L2 cmp r2, #63 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S index 3cee2c1085..6d004a553f 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__ashrdi3) +#include -ASM_PFX(__ashrdi3): +ASM_FUNC(__ashrdi3) cmp r2, #31 bls L2 cmp r2, #63 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S index 4cef265757..8ebf65bc8c 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/clzsi2.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__clzsi2) +#include -ASM_PFX(__clzsi2): +ASM_FUNC(__clzsi2) @ frame_needed = 1, uses_anonymous_args = 0 stmfd sp!, {r7, lr} add r7, sp, #0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S index 108072eef7..ea957fb198 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__ctzsi2) +#include -ASM_PFX(__ctzsi2): +ASM_FUNC(__ctzsi2) uxth r3, r0 cmp r3, #0 moveq ip, #16 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S index 23c8e8ffbf..ce55951d3c 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divdi3.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__divdi3) +#include -ASM_PFX(__divdi3): +ASM_FUNC(__divdi3) @ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, uses_anonymous_args = 0 stmfd sp!, {r4, r5, r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S index d585146878..835f1c5171 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/divsi3.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__divsi3) +#include -ASM_PFX(__divsi3): +ASM_FUNC(__divsi3) eor r3, r0, r0, asr #31 eor r2, r1, r1, asr #31 stmfd sp!, {r4, r5, r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S index e7a05de589..98632cf445 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ldivmod.S @@ -12,10 +12,7 @@ // //------------------------------------------------------------------------------ - - .text - .align 2 - GCC_ASM_EXPORT(__aeabi_ldivmod) +#include // // A pair of (unsigned) long longs is returned in {{r0, r1}, {r2, r3}}, @@ -29,7 +26,7 @@ // )// // -ASM_PFX(__aeabi_ldivmod): +ASM_FUNC(__aeabi_ldivmod) push {r4,lr} asrs r4,r1,#1 eor r4,r4,r3,LSR #1 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsl.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsl.S index ba8ab1cf58..f72aca97c1 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsl.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsl.S @@ -12,10 +12,7 @@ # #------------------------------------------------------------------------------ - -.text -.align 2 -GCC_ASM_EXPORT(__aeabi_llsl) +#include # #VOID @@ -26,7 +23,7 @@ GCC_ASM_EXPORT(__aeabi_llsl) # IN UINT32 Size # ); # -ASM_PFX(__aeabi_llsl): +ASM_FUNC(__aeabi_llsl) subs r3,r2,#0x20 bpl 1f rsb r3,r2,#0x20 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsr.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsr.S index 3d2c106270..6908bd6b7c 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsr.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/llsr.S @@ -12,12 +12,8 @@ # #------------------------------------------------------------------------------ +#include -.text -.align 2 -GCC_ASM_EXPORT(__aeabi_llsr) - -# #VOID #EFIAPI #__aeabi_llsr ( @@ -26,7 +22,7 @@ GCC_ASM_EXPORT(__aeabi_llsr) # IN UINT32 Size # ); # -ASM_PFX(__aeabi_llsr): +ASM_FUNC(__aeabi_llsr) subs r3,r2,#0x20 bpl 1f rsb r3,r2,#0x20 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S index a3133206a5..e17391184a 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__lshrdi3) +#include -ASM_PFX(__lshrdi3): +ASM_FUNC(__lshrdi3) cmp r2, #31 bls L2 cmp r2, #63 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memmove.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memmove.S index 79f95b007d..d10860d806 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memmove.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/memmove.S @@ -12,9 +12,7 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT (memmove) +#include # VOID # EFIAPI @@ -23,7 +21,7 @@ # IN CONST VOID *Source, # IN UINT32 Size # ); -ASM_PFX(memmove): +ASM_FUNC(memmove) CMP r2, #0 BXEQ lr CMP r0, r1 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S index 7b618eb06b..c8c87d8e23 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/moddi3.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__moddi3) +#include -ASM_PFX(__moddi3): +ASM_FUNC(__moddi3) stmfd sp!, {r4, r5, r7, lr} mov r4, r1, asr #31 add r7, sp, #8 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S index 047501e929..29e2df92b0 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/modsi3.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__modsi3) +#include -ASM_PFX(__modsi3): +ASM_FUNC(__modsi3) stmfd sp!, {r4, r5, r7, lr} add r7, sp, #8 mov r5, r0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S index dff61ef7a4..a6689fcee9 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/muldi3.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__muldi3) +#include -ASM_PFX(__muldi3): +ASM_FUNC(__muldi3) stmfd sp!, {r4, r5, r6, r7, lr} add r7, sp, #12 stmfd sp!, {r8, r10, r11} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S index 09c9004ddf..6de2d4513c 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch16.S @@ -13,13 +13,11 @@ #**/ # -.text +#include + .syntax unified -.p2align 2 -GCC_ASM_EXPORT(__switch16) - -ASM_PFX(__switch16): +ASM_FUNC(__switch16) ldrh ip, [lr, #-1] cmp r0, ip add r0, lr, r0, lsl #1 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S index 5b8fd34733..f4b3343a78 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch32.S @@ -13,13 +13,11 @@ #**/ # -.text +#include + .syntax unified -.p2align 2 -GCC_ASM_EXPORT(__switch32) - -ASM_PFX(__switch32): +ASM_FUNC(__switch32) ldr ip, [lr, #-1] cmp r0, ip add r0, lr, r0, lsl #2 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S index 871c7c05f7..7f84b16c79 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switch8.S @@ -13,13 +13,11 @@ #**/ # -.text +#include + .syntax unified -.p2align 2 -GCC_ASM_EXPORT(__switch8) - -ASM_PFX(__switch8): +ASM_FUNC(__switch8) ldrb ip, [lr, #-1] cmp r0, ip ldrsbcc r0, [lr, r0] diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S index 5849998eaf..7c94dd4fad 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/switchu8.S @@ -13,14 +13,11 @@ #**/ # -.text +#include + .syntax unified -.p2align 2 -GCC_ASM_EXPORT(__switchu8) - - -ASM_PFX(__switchu8): +ASM_FUNC(__switchu8) ldrb ip,[lr,#-1] cmp r0,ip ldrbcc r0,[lr,r0] diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S index da57423bf1..472bbc1056 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__ucmpdi2) +#include -ASM_PFX(__ucmpdi2): +ASM_FUNC(__ucmpdi2) stmfd sp!, {r4, r5, r8, lr} cmp r1, r3 mov r8, r0 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S index cbfb127350..e173d4ada7 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivdi3.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__udivdi3) +#include -ASM_PFX(__udivdi3): +ASM_FUNC(__udivdi3) stmfd sp!, {r7, lr} add r7, sp, #0 sub sp, sp, #8 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S index 42f4ba4047..b87872d39e 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S @@ -12,12 +12,11 @@ # #------------------------------------------------------------------------------ - .text - .syntax unified - .align 2 - GCC_ASM_EXPORT(__udivmoddi4) +#include -ASM_PFX(__udivmoddi4): + .syntax unified + +ASM_FUNC(__udivmoddi4) stmfd sp!, {r4, r5, r6, r7, lr} add r7, sp, #12 stmfd sp!, {r10, r11} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S index 080aa51c3c..b70d1d7f03 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/udivsi3.S @@ -12,12 +12,11 @@ # #------------------------------------------------------------------------------ - .text - .syntax unified - .align 2 - GCC_ASM_EXPORT(__udivsi3) +#include -ASM_PFX(__udivsi3): + .syntax unified + +ASM_FUNC(__udivsi3) cmp r1, #0 cmpne r0, #0 stmfd sp!, {r4, r5, r7, lr} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S index 6b718a6574..3edff1b715 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umoddi3.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__umoddi3) +#include -ASM_PFX(__umoddi3): +ASM_FUNC(__umoddi3) stmfd sp!, {r7, lr} add r7, sp, #0 sub sp, sp, #16 diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S index 76c26beb0b..2a300601d0 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S +++ b/ArmPkg/Library/CompilerIntrinsicsLib/Arm/umodsi3.S @@ -12,11 +12,9 @@ # #------------------------------------------------------------------------------ - .text - .align 2 - GCC_ASM_EXPORT(__umodsi3) +#include -ASM_PFX(__umodsi3): +ASM_FUNC(__umodsi3) stmfd sp!, {r4, r5, r7, lr} add r7, sp, #8 mov r5, r0