summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2014-03-11 18:44:00 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-03-11 18:44:00 +0000
commitf1375cd6367fba8b192b7628769931853c25e942 (patch)
tree3c89051e9584a77536f3914f94cc02cd8304e240
parente6d7a6192d505b0ecaa5495ce208fb68cc2e3639 (diff)
parentee043fc5b2459d221ff020e2b096e2d492311d11 (diff)
downloadart-f1375cd6367fba8b192b7628769931853c25e942.zip
art-f1375cd6367fba8b192b7628769931853c25e942.tar.gz
art-f1375cd6367fba8b192b7628769931853c25e942.tar.bz2
Merge "Ensure functions start with clean CFA state."
-rw-r--r--runtime/arch/arm/asm_support_arm.S2
-rw-r--r--runtime/arch/mips/asm_support_mips.S2
-rw-r--r--runtime/arch/x86/asm_support_x86.S3
-rw-r--r--runtime/arch/x86_64/asm_support_x86_64.S3
-rwxr-xr-xtest/etc/push-and-run-test-jar2
5 files changed, 9 insertions, 3 deletions
diff --git a/runtime/arch/arm/asm_support_arm.S b/runtime/arch/arm/asm_support_arm.S
index ee4484b..b421024 100644
--- a/runtime/arch/arm/asm_support_arm.S
+++ b/runtime/arch/arm/asm_support_arm.S
@@ -42,7 +42,7 @@
/* Cache alignment for function entry */
.balign 16
\name:
- .cfi_startproc
+ .cfi_startproc simple
.fnstart
.endm
diff --git a/runtime/arch/mips/asm_support_mips.S b/runtime/arch/mips/asm_support_mips.S
index fe932d2..a14593b 100644
--- a/runtime/arch/mips/asm_support_mips.S
+++ b/runtime/arch/mips/asm_support_mips.S
@@ -25,7 +25,7 @@
.global \name
.balign 16
\name:
- .cfi_startproc
+ .cfi_startproc simple
.endm
.macro END name
diff --git a/runtime/arch/x86/asm_support_x86.S b/runtime/arch/x86/asm_support_x86.S
index 267717a..5bf7c55 100644
--- a/runtime/arch/x86/asm_support_x86.S
+++ b/runtime/arch/x86/asm_support_x86.S
@@ -104,6 +104,9 @@ MACRO1(DEFINE_FUNCTION, c_name)
ALIGN_FUNCTION_ENTRY
VAR(c_name, 0):
CFI_STARTPROC
+ // TODO: we reset the CFA state here. It'd be better to use ".cfi_startproc simple" above but
+ // clang 3.4 doesn't support this.
+ CFI_DEF_CFA(esp, 4)
END_MACRO
MACRO1(END_FUNCTION, c_name)
diff --git a/runtime/arch/x86_64/asm_support_x86_64.S b/runtime/arch/x86_64/asm_support_x86_64.S
index 14975da..df2afb2 100644
--- a/runtime/arch/x86_64/asm_support_x86_64.S
+++ b/runtime/arch/x86_64/asm_support_x86_64.S
@@ -104,6 +104,9 @@ MACRO1(DEFINE_FUNCTION, c_name)
ALIGN_FUNCTION_ENTRY
VAR(c_name, 0):
CFI_STARTPROC
+ // TODO: we reset the CFA state here. It'd be better to use ".cfi_startproc simple" above but
+ // clang 3.4 doesn't support this.
+ CFI_DEF_CFA(rsp, 8)
END_MACRO
MACRO1(END_FUNCTION, c_name)
diff --git a/test/etc/push-and-run-test-jar b/test/etc/push-and-run-test-jar
index a218a42..2a2aa70 100755
--- a/test/etc/push-and-run-test-jar
+++ b/test/etc/push-and-run-test-jar
@@ -131,7 +131,7 @@ fi
if [ "$GDB" = "y" ]; then
gdb="gdbserver :5039"
- gdbargs="--args $exe"
+ gdbargs="$exe"
fi
if [ "$INTERPRETER" = "y" ]; then