[newlib-cygwin] newlib: libc: aeabi_memset M-profile PACBTI-enablement
Richard Earnshaw
rearnsha@sourceware.org
Tue Jan 10 16:49:50 GMT 2023
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=adc36ede1137a0c792e0281cef01e7750f866ac5
commit adc36ede1137a0c792e0281cef01e7750f866ac5
Author: Victor L. Do Nascimento <victor.donascimento@arm.com>
Date: Wed Dec 21 11:28:01 2022 +0000
newlib: libc: aeabi_memset M-profile PACBTI-enablement
Add function prologue/epilogue to conditionally add BTI landing pads
and/or PAC code generation & authentication instructions depending on
compilation flags.
Diff:
---
newlib/libc/machine/arm/aeabi_memset-thumb2.S | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/newlib/libc/machine/arm/aeabi_memset-thumb2.S b/newlib/libc/machine/arm/aeabi_memset-thumb2.S
index eaca1d8d7..6b77d3820 100644
--- a/newlib/libc/machine/arm/aeabi_memset-thumb2.S
+++ b/newlib/libc/machine/arm/aeabi_memset-thumb2.S
@@ -26,14 +26,18 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include "arm_asm.h"
+
.thumb
.syntax unified
.global __aeabi_memset
.type __aeabi_memset, %function
+ .fnstart
+ .cfi_startproc
ASM_ALIAS __aeabi_memset4 __aeabi_memset
ASM_ALIAS __aeabi_memset8 __aeabi_memset
__aeabi_memset:
- push {r4, r5, r6}
+ prologue 4 6
lsls r4, r0, #30
beq 10f
subs r4, r1, #1
@@ -98,10 +102,14 @@ __aeabi_memset:
cmp r3, r4
bne 8b
9:
- pop {r4, r5, r6}
- bx lr
+ .cfi_remember_state
+ epilogue 4 6
10:
+ .cfi_restore_state
mov r4, r1
mov r3, r0
b 3b
+ .cfi_endproc
+ .cantunwind
+ .fnend
.size __aeabi_memset, . - __aeabi_memset
More information about the Newlib-cvs
mailing list