summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/ffmpeg/libavutil/arm/asm.S
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/ffmpeg/libavutil/arm/asm.S')
-rw-r--r--chromium/third_party/ffmpeg/libavutil/arm/asm.S17
1 files changed, 14 insertions, 3 deletions
diff --git a/chromium/third_party/ffmpeg/libavutil/arm/asm.S b/chromium/third_party/ffmpeg/libavutil/arm/asm.S
index 9cdcce9a180..08669f043cf 100644
--- a/chromium/third_party/ffmpeg/libavutil/arm/asm.S
+++ b/chromium/third_party/ffmpeg/libavutil/arm/asm.S
@@ -53,8 +53,9 @@
.syntax unified
T .thumb
ELF .eabi_attribute 25, 1 @ Tag_ABI_align_preserved
+ELF .section .note.GNU-stack,"",%progbits @ Mark stack as non-executable
-.macro function name, export=0
+.macro function name, export=0, align=2
.set .Lpic_idx, 0
.set .Lpic_gp, 0
.macro endfunc
@@ -69,14 +70,17 @@ ELF .size \name, . - \name
.purgem endfunc
.endm
.text
- .align 2
+ .align \align
.if \export
.global EXTERN_ASM\name
+ELF .type EXTERN_ASM\name, %function
+ .func EXTERN_ASM\name
EXTERN_ASM\name:
- .endif
+ .else
ELF .type \name, %function
.func \name
\name:
+ .endif
.endm
.macro const name, align=2
@@ -212,6 +216,13 @@ T ldr \rt, [\rn]
T add \rn, \rn, \rm
.endm
+.macro ldrc_pre cc, rt, rn, rm:vararg
+A ldr\cc \rt, [\rn, \rm]!
+T itt \cc
+T add\cc \rn, \rn, \rm
+T ldr\cc \rt, [\rn]
+.endm
+
.macro ldrd_reg rt, rt2, rn, rm
A ldrd \rt, \rt2, [\rn, \rm]
T add \rt, \rn, \rm