From f54e67dcc9876c8a0259e45e5c6823535d8ac384 Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Tue, 2 Feb 2016 18:36:28 +0000 Subject: [PATCH] Cast the fifth arg to mremap to void * Summary: Since the prototype of mremap is ``` void *mremap(void *old_address, size_t old_size, size_t new_size, int flags, ... /* void *new_address*/); ``` we need to cast new_address to void * when calling mremap. Otherwise, the wrong value will be passed to mremap on x32. Patch by H.J Lu! Reviewers: kcc, eugenis, samsonov Subscribers: samsonov, llvm-commits Differential Revision: http://reviews.llvm.org/D16805 llvm-svn: 259540 --- compiler-rt/lib/cfi/cfi.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler-rt/lib/cfi/cfi.cc b/compiler-rt/lib/cfi/cfi.cc index 524730f..55b2327 100644 --- a/compiler-rt/lib/cfi/cfi.cc +++ b/compiler-rt/lib/cfi/cfi.cc @@ -155,7 +155,7 @@ void ShadowBuilder::Install() { if (main_shadow) { // Update. void *res = mremap((void *)shadow_, GetShadowSize(), GetShadowSize(), - MREMAP_MAYMOVE | MREMAP_FIXED, main_shadow); + MREMAP_MAYMOVE | MREMAP_FIXED, (void *)main_shadow); CHECK(res != MAP_FAILED); } else { // Initial setup. -- 2.7.4