From 4e73d12117e362ad4b82946dc084b4a38f76e54b Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 10 Nov 2015 00:01:55 -0500 Subject: [PATCH] explicitly assemble all arm asm sources as UAL these files are all accepted as legacy arm syntax when producing arm code, but legacy syntax cannot be used for producing thumb2 with access to the full ISA. even after switching to UAL, some asm source files contain instructions which are not valid in thumb mode, so these will need to be addressed separately. --- arch/arm/src/arm/atomics.s | 1 + crt/arm/crti.s | 2 ++ crt/arm/crtn.s | 2 ++ src/fenv/armhf/fenv.s | 1 + src/internal/arm/syscall.s | 1 + src/ldso/arm/dlsym.s | 1 + src/math/armhf/fabs.s | 1 + src/math/armhf/fabsf.s | 1 + src/math/armhf/sqrt.s | 1 + src/math/armhf/sqrtf.s | 1 + src/setjmp/arm/longjmp.s | 1 + src/setjmp/arm/setjmp.s | 1 + src/signal/arm/restore.s | 2 ++ src/signal/arm/sigsetjmp.s | 1 + src/thread/arm/__unmapself.s | 1 + src/thread/arm/clone.s | 1 + src/thread/arm/syscall_cp.s | 1 + 17 files changed, 20 insertions(+) diff --git a/arch/arm/src/arm/atomics.s b/arch/arm/src/arm/atomics.s index ecf3f05a..5c5b0e3e 100644 --- a/arch/arm/src/arm/atomics.s +++ b/arch/arm/src/arm/atomics.s @@ -1,3 +1,4 @@ +.syntax unified .text .global __a_barrier diff --git a/crt/arm/crti.s b/crt/arm/crti.s index 1ba165c5..18dc1e41 100644 --- a/crt/arm/crti.s +++ b/crt/arm/crti.s @@ -1,3 +1,5 @@ +.syntax unified + .section .init .global _init .type _init,%function diff --git a/crt/arm/crtn.s b/crt/arm/crtn.s index b3eca856..dc020f92 100644 --- a/crt/arm/crtn.s +++ b/crt/arm/crtn.s @@ -1,3 +1,5 @@ +.syntax unified + .section .init pop {r0,lr} bx lr diff --git a/src/fenv/armhf/fenv.s b/src/fenv/armhf/fenv.s index e447ca10..53307e68 100644 --- a/src/fenv/armhf/fenv.s +++ b/src/fenv/armhf/fenv.s @@ -1,3 +1,4 @@ +.syntax unified .fpu vfp .global fegetround diff --git a/src/internal/arm/syscall.s b/src/internal/arm/syscall.s index 28cb17ba..64dba2fc 100644 --- a/src/internal/arm/syscall.s +++ b/src/internal/arm/syscall.s @@ -1,3 +1,4 @@ +.syntax unified .global __syscall .hidden __syscall .type __syscall,%function diff --git a/src/ldso/arm/dlsym.s b/src/ldso/arm/dlsym.s index 3b88d910..2652c348 100644 --- a/src/ldso/arm/dlsym.s +++ b/src/ldso/arm/dlsym.s @@ -1,3 +1,4 @@ +.syntax unified .text .global dlsym .hidden __dlsym diff --git a/src/math/armhf/fabs.s b/src/math/armhf/fabs.s index 8a705e1b..0eb458d3 100644 --- a/src/math/armhf/fabs.s +++ b/src/math/armhf/fabs.s @@ -1,3 +1,4 @@ +.syntax unified .fpu vfp .text .global fabs diff --git a/src/math/armhf/fabsf.s b/src/math/armhf/fabsf.s index 2c7beb6c..da3809bb 100644 --- a/src/math/armhf/fabsf.s +++ b/src/math/armhf/fabsf.s @@ -1,3 +1,4 @@ +.syntax unified .fpu vfp .text .global fabsf diff --git a/src/math/armhf/sqrt.s b/src/math/armhf/sqrt.s index 90f74a92..e38f060d 100644 --- a/src/math/armhf/sqrt.s +++ b/src/math/armhf/sqrt.s @@ -1,3 +1,4 @@ +.syntax unified .fpu vfp .text .global sqrt diff --git a/src/math/armhf/sqrtf.s b/src/math/armhf/sqrtf.s index 91d8ad6d..38c7ee89 100644 --- a/src/math/armhf/sqrtf.s +++ b/src/math/armhf/sqrtf.s @@ -1,3 +1,4 @@ +.syntax unified .fpu vfp .text .global sqrtf diff --git a/src/setjmp/arm/longjmp.s b/src/setjmp/arm/longjmp.s index 7db93e8a..e28d8f31 100644 --- a/src/setjmp/arm/longjmp.s +++ b/src/setjmp/arm/longjmp.s @@ -1,3 +1,4 @@ +.syntax unified .global _longjmp .global longjmp .type _longjmp,%function diff --git a/src/setjmp/arm/setjmp.s b/src/setjmp/arm/setjmp.s index 61425ad5..87791634 100644 --- a/src/setjmp/arm/setjmp.s +++ b/src/setjmp/arm/setjmp.s @@ -1,3 +1,4 @@ +.syntax unified .global __setjmp .global _setjmp .global setjmp diff --git a/src/signal/arm/restore.s b/src/signal/arm/restore.s index 18f7216b..22fb1a54 100644 --- a/src/signal/arm/restore.s +++ b/src/signal/arm/restore.s @@ -1,3 +1,5 @@ +.syntax unified + .global __restore .type __restore,%function __restore: diff --git a/src/signal/arm/sigsetjmp.s b/src/signal/arm/sigsetjmp.s index 89c020b8..318addba 100644 --- a/src/signal/arm/sigsetjmp.s +++ b/src/signal/arm/sigsetjmp.s @@ -1,3 +1,4 @@ +.syntax unified .global sigsetjmp .global __sigsetjmp .type sigsetjmp,%function diff --git a/src/thread/arm/__unmapself.s b/src/thread/arm/__unmapself.s index 62ebb7c1..29c2d07b 100644 --- a/src/thread/arm/__unmapself.s +++ b/src/thread/arm/__unmapself.s @@ -1,3 +1,4 @@ +.syntax unified .text .global __unmapself .type __unmapself,%function diff --git a/src/thread/arm/clone.s b/src/thread/arm/clone.s index b7fb788b..fe2e0e60 100644 --- a/src/thread/arm/clone.s +++ b/src/thread/arm/clone.s @@ -1,3 +1,4 @@ +.syntax unified .text .global __clone .type __clone,%function diff --git a/src/thread/arm/syscall_cp.s b/src/thread/arm/syscall_cp.s index 64528b39..a5730c08 100644 --- a/src/thread/arm/syscall_cp.s +++ b/src/thread/arm/syscall_cp.s @@ -1,3 +1,4 @@ +.syntax unified .global __cp_begin .hidden __cp_begin .global __cp_end -- 2.25.1