aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer
diff options
context:
space:
mode:
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-22 20:33:06 +0000
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-22 20:33:06 +0000
commit81f1ae97e3a637fd7b538796102eaa72a37f1ea1 (patch)
treed063336e500efa886d96bbf63c80b5c3d7b56c06 /libsanitizer
parent6bcfabf2bbc89d294eead019b61cb2844010284a (diff)
* sanitizer_common/sanitizer_linux.cc (__sanitizer): Grab one
change from upstream to fix build. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205285 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libsanitizer')
-rw-r--r--libsanitizer/ChangeLog5
-rw-r--r--libsanitizer/sanitizer_common/sanitizer_linux.cc6
2 files changed, 8 insertions, 3 deletions
diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog
index 9afe7970a28..000ca18c8f4 100644
--- a/libsanitizer/ChangeLog
+++ b/libsanitizer/ChangeLog
@@ -1,3 +1,8 @@
+2013-11-22 Mike Stump <mikestump@comcast.net>
+
+ * sanitizer_common/sanitizer_linux.cc (__sanitizer): Grab one
+ change from upstream to fix build.
+
2013-11-18 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/59106
diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc
index 2763313015a..ddc65465ef7 100644
--- a/libsanitizer/sanitizer_common/sanitizer_linux.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc
@@ -785,7 +785,6 @@ uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
* %r8 = new_tls,
* %r10 = child_tidptr)
*/
- ".cfi_endproc\n"
"syscall\n"
/* if (%rax != 0)
@@ -795,8 +794,9 @@ uptr internal_clone(int (*fn)(void *), void *child_stack, int flags, void *arg,
"jnz 1f\n"
/* In the child. Terminate unwind chain. */
- ".cfi_startproc\n"
- ".cfi_undefined %%rip;\n"
+ // XXX: We should also terminate the CFI unwind chain
+ // here. Unfortunately clang 3.2 doesn't support the
+ // necessary CFI directives, so we skip that part.
"xorq %%rbp,%%rbp\n"
/* Call "fn(arg)". */