public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] newlib: libc: aeabi_memmove M-profile PACBTI-enablement
@ 2023-01-10 16:49 Richard Earnshaw
  0 siblings, 0 replies; only message in thread
From: Richard Earnshaw @ 2023-01-10 16:49 UTC (permalink / raw)
  To: newlib-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=bddfd64ec2e94973d6372f90fe9a8a7b0f882e69

commit bddfd64ec2e94973d6372f90fe9a8a7b0f882e69
Author: Victor L. Do Nascimento <victor.donascimento@arm.com>
Date:   Wed Dec 21 11:27:01 2022 +0000

    newlib: libc: aeabi_memmove 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_memmove-thumb2.S | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/newlib/libc/machine/arm/aeabi_memmove-thumb2.S b/newlib/libc/machine/arm/aeabi_memmove-thumb2.S
index e9504437b..20ca993e5 100644
--- a/newlib/libc/machine/arm/aeabi_memmove-thumb2.S
+++ b/newlib/libc/machine/arm/aeabi_memmove-thumb2.S
@@ -26,6 +26,8 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "arm_asm.h"
+
 	.thumb
 	.syntax unified
 	.global __aeabi_memmove
@@ -33,8 +35,10 @@
 	ASM_ALIAS __aeabi_memmove4 __aeabi_memmove
 	ASM_ALIAS __aeabi_memmove8 __aeabi_memmove
 __aeabi_memmove:
+	.fnstart
+	.cfi_startproc
+	prologue 4
 	cmp	r0, r1
-	push	{r4}
 	bls	3f
 	adds	r3, r1, r2
 	cmp	r0, r3
@@ -48,9 +52,10 @@ __aeabi_memmove:
 	strb	r4, [r1, #-1]!
 	bne	1b
 2:
-	pop	{r4}
-	bx	lr
+	.cfi_remember_state
+	epilogue 4
 3:
+	.cfi_restore_state
 	cmp	r2, #0
 	beq	2b
 	add	r2, r2, r1
@@ -60,6 +65,8 @@ __aeabi_memmove:
 	cmp	r2, r1
 	strb	r4, [r3, #1]!
 	bne	4b
-	pop	{r4}
-	bx	lr
+	epilogue 4
+	.cfi_endproc
+	.cantunwind
+	.fnend
 	.size __aeabi_memmove, . - __aeabi_memmove

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-01-10 16:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-10 16:49 [newlib-cygwin] newlib: libc: aeabi_memmove M-profile PACBTI-enablement Richard Earnshaw

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).