Author: tstellar Date: Mon Oct 22 09:29:48 2018 New Revision: 344917 URL: http://llvm.org/viewvc/llvm-project?rev=344917&view=rev Log: Merging r342815:
------------------------------------------------------------------------ r342815 | ericwf | 2018-09-22 12:22:36 -0700 (Sat, 22 Sep 2018) | 14 lines Fix incorrectly aligned exceptions in 32 bit builds. This patch fixes a bug where exceptions in 32 bit builds would be incorrectly aligned because malloc only provides 8 byte aligned memory where 16 byte alignment is needed. This patch makes libc++abi correctly use posix_memalign when it's available. This requires defining _LIBCPP_BUILDING_LIBRARY so that libc++ only defines _LIBCPP_HAS_NO_ALIGNED_ALLOCATION when libc doesn't support it and not when aligned new/delete are disable for other reasons. This bug somehow made it into the 7.0 release, making it a regression. Therefore this patch should be included in the next dot release. ------------------------------------------------------------------------ Modified: libcxxabi/branches/release_70/src/fallback_malloc.cpp Modified: libcxxabi/branches/release_70/src/fallback_malloc.cpp URL: http://llvm.org/viewvc/llvm-project/libcxxabi/branches/release_70/src/fallback_malloc.cpp?rev=344917&r1=344916&r2=344917&view=diff ============================================================================== --- libcxxabi/branches/release_70/src/fallback_malloc.cpp (original) +++ libcxxabi/branches/release_70/src/fallback_malloc.cpp Mon Oct 22 09:29:48 2018 @@ -7,6 +7,9 @@ // //===----------------------------------------------------------------------===// +// Define _LIBCPP_BUILDING_LIBRARY to ensure _LIBCPP_HAS_NO_ALIGNED_ALLOCATION +// is only defined when libc aligned allocation is not available. +#define _LIBCPP_BUILDING_LIBRARY #include "fallback_malloc.h" #include <__threading_support> _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits