summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2013-09-21 01:58:56 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-09-21 01:58:56 +0000
commit7493568ba82752d405bbb16dd7c42b3b88c67f86 (patch)
tree7ca22f99cdb69dec0d3884edcc6c01f39cb78aa7
parentbef76b54a6fe747617334e3aaea892a19370cd29 (diff)
parentbd7fe1d3c4c8877ac53839169851621249289bd7 (diff)
downloadbionic-7493568ba82752d405bbb16dd7c42b3b88c67f86.zip
bionic-7493568ba82752d405bbb16dd7c42b3b88c67f86.tar.gz
bionic-7493568ba82752d405bbb16dd7c42b3b88c67f86.tar.bz2
Merge "Update all debug directives."
-rw-r--r--libc/arch-arm/cortex-a15/bionic/__strcat_chk.S5
-rw-r--r--libc/arch-arm/cortex-a15/bionic/__strcpy_chk.S1
-rw-r--r--libc/arch-arm/cortex-a15/bionic/memcpy.S5
-rw-r--r--libc/arch-arm/cortex-a15/bionic/memset.S2
-rw-r--r--libc/arch-arm/cortex-a15/bionic/strcmp.S14
-rw-r--r--libc/arch-arm/cortex-a9/bionic/__strcat_chk.S3
-rw-r--r--libc/arch-arm/cortex-a9/bionic/__strcpy_chk.S1
-rw-r--r--libc/arch-arm/cortex-a9/bionic/memcpy.S1
-rw-r--r--libc/arch-arm/cortex-a9/bionic/memcpy_base.S9
-rw-r--r--libc/arch-arm/cortex-a9/bionic/memset.S3
-rw-r--r--libc/arch-arm/cortex-a9/bionic/strcmp.S26
-rw-r--r--libc/arch-arm/krait/bionic/__strcat_chk.S3
-rw-r--r--libc/arch-arm/krait/bionic/__strcpy_chk.S1
-rw-r--r--libc/arch-arm/krait/bionic/memcpy.S4
-rw-r--r--libc/arch-arm/krait/bionic/memset.S2
-rw-r--r--libc/arch-arm/krait/bionic/strcmp.S26
16 files changed, 104 insertions, 2 deletions
diff --git a/libc/arch-arm/cortex-a15/bionic/__strcat_chk.S b/libc/arch-arm/cortex-a15/bionic/__strcat_chk.S
index 08dc78a..4b125c8 100644
--- a/libc/arch-arm/cortex-a15/bionic/__strcat_chk.S
+++ b/libc/arch-arm/cortex-a15/bionic/__strcat_chk.S
@@ -40,14 +40,16 @@
ENTRY(__strcat_chk)
.cfi_startproc
pld [r0, #0]
+ .save {r0, lr}
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
+ .save {r4, r5}
push {r4, r5}
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r4, 0
- .cfi_rel_offset r5, 0
+ .cfi_rel_offset r5, 4
mov lr, r2
@@ -185,6 +187,7 @@ ENTRY(__strcat_chk)
pld [r1, #64]
mov r2, r4
add r0, r0, r3
+ .pad #-8
pop {r4, r5}
.cfi_adjust_cfa_offset -8
.cfi_restore r4
diff --git a/libc/arch-arm/cortex-a15/bionic/__strcpy_chk.S b/libc/arch-arm/cortex-a15/bionic/__strcpy_chk.S
index 9fde590..a045816 100644
--- a/libc/arch-arm/cortex-a15/bionic/__strcpy_chk.S
+++ b/libc/arch-arm/cortex-a15/bionic/__strcpy_chk.S
@@ -39,6 +39,7 @@
ENTRY(__strcpy_chk)
.cfi_startproc
pld [r0, #0]
+ .save {r0, lr}
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
diff --git a/libc/arch-arm/cortex-a15/bionic/memcpy.S b/libc/arch-arm/cortex-a15/bionic/memcpy.S
index 8052d62..16881d4 100644
--- a/libc/arch-arm/cortex-a15/bionic/memcpy.S
+++ b/libc/arch-arm/cortex-a15/bionic/memcpy.S
@@ -74,18 +74,22 @@ END(__memcpy_chk)
ENTRY(memcpy)
.cfi_startproc
pld [r1, #64]
+ .save {r0, lr}
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
#include "memcpy_base.S"
+
.cfi_endproc
END(memcpy)
+ .fnstart
.cfi_startproc
__memcpy_chk_fail:
// Preserve lr for backtrace.
+ .save {lr}
push {lr}
.cfi_def_cfa_offset 4
.cfi_rel_offset lr, 0
@@ -100,6 +104,7 @@ error_code:
error_message:
.word error_string-(1b+8)
.cfi_endproc
+ .fnend
.data
error_string:
diff --git a/libc/arch-arm/cortex-a15/bionic/memset.S b/libc/arch-arm/cortex-a15/bionic/memset.S
index 5593be6..b5fc6ba 100644
--- a/libc/arch-arm/cortex-a15/bionic/memset.S
+++ b/libc/arch-arm/cortex-a15/bionic/memset.S
@@ -45,6 +45,7 @@ ENTRY(__memset_chk)
bls .L_done
// Preserve lr for backtrace.
+ .save {lr}
push {lr}
.cfi_def_cfa_offset 4
.cfi_rel_offset lr, 0
@@ -73,6 +74,7 @@ END(bzero)
ENTRY(memset)
.cfi_startproc
+ .save {r0}
stmfd sp!, {r0}
.cfi_def_cfa_offset 4
.cfi_rel_offset r0, 0
diff --git a/libc/arch-arm/cortex-a15/bionic/strcmp.S b/libc/arch-arm/cortex-a15/bionic/strcmp.S
index 7aff7c4..2719bf7 100644
--- a/libc/arch-arm/cortex-a15/bionic/strcmp.S
+++ b/libc/arch-arm/cortex-a15/bionic/strcmp.S
@@ -122,9 +122,15 @@ ENTRY(strcmp)
.macro init
/* Macro to save temporary registers and prepare magic values. */
+ .save {r4-r7}
subs sp, sp, #16
+ .cfi_def_cfa_offset 16
strd r4, r5, [sp, #8]
+ .cfi_rel_offset r4, 0
+ .cfi_rel_offset r5, 4
strd r6, r7, [sp]
+ .cfi_rel_offset r6, 8
+ .cfi_rel_offset r7, 12
mvn r6, #0 /* all F */
mov r7, #0 /* all 0 */
.endm /* init */
@@ -165,6 +171,7 @@ ENTRY(strcmp)
#endif /* not __ARMEB__ */
.endm /* setup_return */
+ .cfi_startproc
pld [r0, #0]
pld [r1, #0]
@@ -348,7 +355,13 @@ do_return:
/* Restore temporaries early, before computing the return value. */
ldrd r6, r7, [sp]
ldrd r4, r5, [sp, #8]
+ .pad #-16
adds sp, sp, #16
+ .cfi_def_cfa_offset 0
+ .cfi_restore r4
+ .cfi_restore r5
+ .cfi_restore r6
+ .cfi_restore r7
/* There is a zero or a different byte between r1 and r2. */
/* r0 contains a mask of all-zero bytes in r1. */
@@ -374,4 +387,5 @@ compute_return_value:
it ls
sbcls r0, r0, r0
bx lr
+ .cfi_endproc
END(strcmp)
diff --git a/libc/arch-arm/cortex-a9/bionic/__strcat_chk.S b/libc/arch-arm/cortex-a9/bionic/__strcat_chk.S
index 3f86636..1329c16 100644
--- a/libc/arch-arm/cortex-a9/bionic/__strcat_chk.S
+++ b/libc/arch-arm/cortex-a9/bionic/__strcat_chk.S
@@ -40,10 +40,12 @@
ENTRY(__strcat_chk)
.cfi_startproc
pld [r0, #0]
+ .save {r0, lr}
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
+ .save {r4, r5}
push {r4, r5}
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r4, 0
@@ -188,6 +190,7 @@ ENTRY(__strcat_chk)
pld [r1, #64]
mov r2, r4
add r0, r0, r3
+ .pad #-8
pop {r4, r5}
.cfi_adjust_cfa_offset -8
.cfi_restore r4
diff --git a/libc/arch-arm/cortex-a9/bionic/__strcpy_chk.S b/libc/arch-arm/cortex-a9/bionic/__strcpy_chk.S
index 787b057..b697c1f 100644
--- a/libc/arch-arm/cortex-a9/bionic/__strcpy_chk.S
+++ b/libc/arch-arm/cortex-a9/bionic/__strcpy_chk.S
@@ -39,6 +39,7 @@
ENTRY(__strcpy_chk)
.cfi_startproc
pld [r0, #0]
+ .save {r0, lr}
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
diff --git a/libc/arch-arm/cortex-a9/bionic/memcpy.S b/libc/arch-arm/cortex-a9/bionic/memcpy.S
index e7beb25..ab3b0a0 100644
--- a/libc/arch-arm/cortex-a9/bionic/memcpy.S
+++ b/libc/arch-arm/cortex-a9/bionic/memcpy.S
@@ -52,6 +52,7 @@ END(__memcpy_chk)
ENTRY(memcpy)
.cfi_startproc
pld [r1, #0]
+ .save {r0, lr}
stmfd sp!, {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
diff --git a/libc/arch-arm/cortex-a9/bionic/memcpy_base.S b/libc/arch-arm/cortex-a9/bionic/memcpy_base.S
index 46b5a93..088d29e 100644
--- a/libc/arch-arm/cortex-a9/bionic/memcpy_base.S
+++ b/libc/arch-arm/cortex-a9/bionic/memcpy_base.S
@@ -133,7 +133,14 @@
bx lr
11:
/* Simple arm-only copy loop to handle aligned copy operations */
- stmfd sp!, {r4, r5, r6, r7, r8}
+ .save {r4-r8}
+ stmfd sp!, {r4-r8}
+ .cfi_def_cfa_offset 20
+ .cfi_rel_offset r4, 0
+ .cfi_rel_offset r5, 4
+ .cfi_rel_offset r6, 8
+ .cfi_rel_offset r7, 12
+ .cfi_rel_offset r8, 16
pld [r1, #(32 * 4)]
/* Check alignment */
diff --git a/libc/arch-arm/cortex-a9/bionic/memset.S b/libc/arch-arm/cortex-a9/bionic/memset.S
index bc25a3e..a7876fb 100644
--- a/libc/arch-arm/cortex-a9/bionic/memset.S
+++ b/libc/arch-arm/cortex-a9/bionic/memset.S
@@ -43,6 +43,7 @@ ENTRY(__memset_chk)
bls .L_done
// Preserve lr for backtrace.
+ .save {lr}
push {lr}
.cfi_def_cfa_offset 4
.cfi_rel_offset lr, 0
@@ -77,6 +78,7 @@ ENTRY(memset)
cmp r2, #132
bhi 11f
+ .save {r0}
stmfd sp!, {r0}
.cfi_def_cfa_offset 4
.cfi_rel_offset r0, 0
@@ -117,6 +119,7 @@ ENTRY(memset)
* offset = (4-(src&3))&3 = -src & 3
*/
+ .save {r0, r4-r7, lr}
stmfd sp!, {r0, r4-r7, lr}
.cfi_def_cfa_offset 24
.cfi_rel_offset r0, 0
diff --git a/libc/arch-arm/cortex-a9/bionic/strcmp.S b/libc/arch-arm/cortex-a9/bionic/strcmp.S
index 9597d0d..a84c047 100644
--- a/libc/arch-arm/cortex-a9/bionic/strcmp.S
+++ b/libc/arch-arm/cortex-a9/bionic/strcmp.S
@@ -122,9 +122,15 @@ ENTRY(strcmp)
.macro init
/* Macro to save temporary registers and prepare magic values. */
+ .save {r4-r7}
subs sp, sp, #16
+ .cfi_def_cfa_offset 16
strd r4, r5, [sp, #8]
+ .cfi_rel_offset r4, 0
+ .cfi_rel_offset r5, 4
strd r6, r7, [sp]
+ .cfi_rel_offset r6, 8
+ .cfi_rel_offset r7, 12
mvn r6, #0 /* all F */
mov r7, #0 /* all 0 */
.endm /* init */
@@ -165,6 +171,7 @@ ENTRY(strcmp)
#endif /* not __ARMEB__ */
.endm /* setup_return */
+ .cfi_startproc
pld [r0, #0]
pld [r1, #0]
@@ -334,7 +341,13 @@ do_return:
/* Restore temporaries early, before computing the return value. */
ldrd r6, r7, [sp]
ldrd r4, r5, [sp, #8]
+ .pad #-16
adds sp, sp, #16
+ .cfi_def_cfa_offset 0
+ .cfi_restore r4
+ .cfi_restore r5
+ .cfi_restore r6
+ .cfi_restore r7
/* There is a zero or a different byte between r1 and r2. */
/* r0 contains a mask of all-zero bytes in r1. */
@@ -519,7 +532,13 @@ strcmp_unaligned:
/* Restore registers and stack. */
ldrd r6, r7, [sp]
ldrd r4, r5, [sp, #8]
+ .pad #-16
adds sp, sp, #16
+ .cfi_def_cfa_offset 0
+ .cfi_restore r4
+ .cfi_restore r5
+ .cfi_restore r6
+ .cfi_restore r7
bx lr
@@ -538,7 +557,14 @@ strcmp_unaligned:
/* Restore registers and stack. */
ldrd r6, r7, [sp]
ldrd r4, r5, [sp, #8]
+ .pad #-16
adds sp, sp, #16
+ .cfi_def_cfa_offset 0
+ .cfi_restore r4
+ .cfi_restore r5
+ .cfi_restore r6
+ .cfi_restore r7
bx lr
+ .cfi_endproc
END(strcmp)
diff --git a/libc/arch-arm/krait/bionic/__strcat_chk.S b/libc/arch-arm/krait/bionic/__strcat_chk.S
index 4516d30..4b125c8 100644
--- a/libc/arch-arm/krait/bionic/__strcat_chk.S
+++ b/libc/arch-arm/krait/bionic/__strcat_chk.S
@@ -40,10 +40,12 @@
ENTRY(__strcat_chk)
.cfi_startproc
pld [r0, #0]
+ .save {r0, lr}
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
+ .save {r4, r5}
push {r4, r5}
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r4, 0
@@ -185,6 +187,7 @@ ENTRY(__strcat_chk)
pld [r1, #64]
mov r2, r4
add r0, r0, r3
+ .pad #-8
pop {r4, r5}
.cfi_adjust_cfa_offset -8
.cfi_restore r4
diff --git a/libc/arch-arm/krait/bionic/__strcpy_chk.S b/libc/arch-arm/krait/bionic/__strcpy_chk.S
index c57268c..d5e1db6 100644
--- a/libc/arch-arm/krait/bionic/__strcpy_chk.S
+++ b/libc/arch-arm/krait/bionic/__strcpy_chk.S
@@ -39,6 +39,7 @@
ENTRY(__strcpy_chk)
.cfi_startproc
pld [r0, #0]
+ .save {r0, lr}
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
diff --git a/libc/arch-arm/krait/bionic/memcpy.S b/libc/arch-arm/krait/bionic/memcpy.S
index 75b2395..3b4fca4 100644
--- a/libc/arch-arm/krait/bionic/memcpy.S
+++ b/libc/arch-arm/krait/bionic/memcpy.S
@@ -55,6 +55,7 @@ END(__memcpy_chk)
ENTRY(memcpy)
.cfi_startproc
pld [r1, #64]
+ .save {r0, lr}
stmfd sp!, {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
@@ -64,9 +65,11 @@ ENTRY(memcpy)
.cfi_endproc
END(memcpy)
+ .fnstart
.cfi_startproc
__memcpy_chk_fail:
// Preserve lr for backtrace.
+ .save {lr}
push {lr}
.cfi_def_cfa_offset 4
.cfi_rel_offset lr, 0
@@ -81,6 +84,7 @@ error_code:
error_message:
.word error_string-(1b+4)
.cfi_endproc
+ .fnend
.data
error_string:
diff --git a/libc/arch-arm/krait/bionic/memset.S b/libc/arch-arm/krait/bionic/memset.S
index 1566132..005dfd8 100644
--- a/libc/arch-arm/krait/bionic/memset.S
+++ b/libc/arch-arm/krait/bionic/memset.S
@@ -44,6 +44,7 @@ ENTRY(__memset_chk)
bls .L_done
// Preserve lr for backtrace.
+ .save {lr}
push {lr}
.cfi_def_cfa_offset 4
.cfi_rel_offset lr, 0
@@ -74,6 +75,7 @@ END(bzero)
/* memset() returns its first argument. */
ENTRY(memset)
.cfi_startproc
+ .save {r0}
stmfd sp!, {r0}
.cfi_def_cfa_offset 4
.cfi_rel_offset r0, 0
diff --git a/libc/arch-arm/krait/bionic/strcmp.S b/libc/arch-arm/krait/bionic/strcmp.S
index d614b9d..f26aaf1 100644
--- a/libc/arch-arm/krait/bionic/strcmp.S
+++ b/libc/arch-arm/krait/bionic/strcmp.S
@@ -122,9 +122,15 @@ ENTRY(strcmp)
.macro init
/* Macro to save temporary registers and prepare magic values. */
+ .save {r4-r7}
subs sp, sp, #16
+ .cfi_def_cfa_offset 16
strd r4, r5, [sp, #8]
+ .cfi_rel_offset r4, 0
+ .cfi_rel_offset r5, 4
strd r6, r7, [sp]
+ .cfi_rel_offset r6, 8
+ .cfi_rel_offset r7, 12
mvn r6, #0 /* all F */
mov r7, #0 /* all 0 */
.endm /* init */
@@ -165,6 +171,7 @@ ENTRY(strcmp)
#endif /* not __ARMEB__ */
.endm /* setup_return */
+ .cfi_startproc
pld [r0, #0]
pld [r1, #0]
@@ -347,7 +354,13 @@ do_return:
/* Restore temporaries early, before computing the return value. */
ldrd r6, r7, [sp]
ldrd r4, r5, [sp, #8]
+ .pad #-16
adds sp, sp, #16
+ .cfi_def_cfa_offset 0
+ .cfi_restore r4
+ .cfi_restore r5
+ .cfi_restore r6
+ .cfi_restore r7
/* There is a zero or a different byte between r1 and r2. */
/* r0 contains a mask of all-zero bytes in r1. */
@@ -452,7 +465,13 @@ miscmp_word_16:
/* Restore registers and stack. */
ldrd r6, r7, [sp]
ldrd r4, r5, [sp, #8]
+ .pad #-16
adds sp, sp, #16
+ .cfi_def_cfa_offset 0
+ .cfi_restore r4
+ .cfi_restore r5
+ .cfi_restore r6
+ .cfi_restore r7
bx lr
@@ -471,7 +490,14 @@ miscmp_word_16:
/* Restore registers and stack. */
ldrd r6, r7, [sp]
ldrd r4, r5, [sp, #8]
+ .pad #-16
adds sp, sp, #16
+ .cfi_def_cfa_offset 0
+ .cfi_restore r4
+ .cfi_restore r5
+ .cfi_restore r6
+ .cfi_restore r7
bx lr
+ .cfi_endproc
END(strcmp)