Module Name: src
Committed By: matt
Date: Tue Nov 20 22:02:46 UTC 2012
Modified Files:
src/lib/libc/arch/arm/sys: __aeabi_read_tp.S
Log Message:
Add $NetBSD$ tag. Use ip to save r1 instead of the stack.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/lib/libc/arch/arm/sys/__aeabi_read_tp.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/arch/arm/sys/__aeabi_read_tp.S
diff -u src/lib/libc/arch/arm/sys/__aeabi_read_tp.S:1.2 src/lib/libc/arch/arm/sys/__aeabi_read_tp.S:1.3
--- src/lib/libc/arch/arm/sys/__aeabi_read_tp.S:1.2 Tue Feb 14 17:32:43 2012
+++ src/lib/libc/arch/arm/sys/__aeabi_read_tp.S Tue Nov 20 22:02:46 2012
@@ -1,13 +1,20 @@
+/* $NetBSD: __aeabi_read_tp.S,v 1.3 2012/11/20 22:02:46 matt Exp $ */
+
#include "SYS.h"
+/*
+ * Implementations of this function should corrupt only the result register
+ * (r0) and the non-parameter integer core registers allowed to be corrupted
+ * by the [AAPCS] (ip, lr, and CPSR).
+ */
ENTRY(__aeabi_read_tp)
- mrc p15, 0, r0, c13, c0, 3
+ mrc p15, 0, r0, c13, c0, 3
#ifndef _ARM_ARCH_6
- cmp r0, #0 /* was it zero? */
+ cmp r0, #0 /* was it zero? */
RETc(ne) /* return it's not zero */
- push {r1} /* syscall zeroes r1 */
+ mov ip, r1 /* syscall zeroes r1 */
SYSTRAP(_lwp_getprivate) /* can't fail */
- pop {r1} /* restore r1 */
+ mov r1, ip /* restore r1 */
#endif
RET
_END(__aeabi_read_tp)