Leonid Plyushch
5 years ago
1 changed files with 0 additions and 31 deletions
@ -1,31 +0,0 @@ |
|||
diff --git a/arch/arm/mcount.S b/arch/arm/mcount.S
|
|||
index bbfc597..eb28831 100644
|
|||
--- a/arch/arm/mcount.S
|
|||
+++ b/arch/arm/mcount.S
|
|||
@@ -60,6 +60,26 @@ GLOBAL(__gnu_mcount_nc)
|
|||
bx ip |
|||
END(__gnu_mcount_nc) |
|||
|
|||
+/* for clang */
|
|||
+GLOBAL(mcount)
|
|||
+ push {r0-r3, lr}
|
|||
+ ands r3, lr, #1 /* check lr for ARM/THUMB detection */
|
|||
+ add r0, fp, #4 /* r0 points to pushed LR */
|
|||
+ bne 1f
|
|||
+ ldr r1, [fp] /* fp (=r11) might point to return address on ARM */
|
|||
+ ldr r2, [r0]
|
|||
+ cmp r1, r2
|
|||
+ moveq r0, lr
|
|||
+1:
|
|||
+ mov r1, lr /* child ip */
|
|||
+ mov r2, sp /* mcount_args */
|
|||
+
|
|||
+ bl mcount_entry
|
|||
+
|
|||
+ pop {r0-r3, lr}
|
|||
+ bx lr
|
|||
+END(mcount)
|
|||
+
|
|||
|
|||
ENTRY(mcount_return) |
|||
push {r0-r3, lr, pc} /* ensure 8-byte alignment */ |
Loading…
Reference in new issue