forked from firka/flutter
Pass operator_new_alignment value through gn script into GN args. (flutter/engine#7031)
Background: Some allocators (tcmalloc) don't provide alignment guarantees that match clang's default expectations, which causes crashes when using clang compiled binary with such allocators. For example clang can produce movaps instructions to initialize newly allocated object - which would crash if result of ::operator new() is not 16 bytes aligned.
This commit is contained in:
committed by
GitHub
parent
16d11f7649
commit
692952dfd0
2
DEPS
2
DEPS
@@ -116,7 +116,7 @@ allowed_hosts = [
|
||||
]
|
||||
|
||||
deps = {
|
||||
'src': 'https://github.com/flutter/buildroot.git' + '@' + '67befc4acace09d636db2f1f23e47719fa7e8795',
|
||||
'src': 'https://github.com/flutter/buildroot.git' + '@' + '4a37279db248051cd25bbc93526c3001bdb8d785',
|
||||
|
||||
# Fuchsia compatibility
|
||||
#
|
||||
|
||||
@@ -93,6 +93,9 @@ def to_gn_args(args):
|
||||
|
||||
gn_args['embedder_for_target'] = args.embedder_for_target
|
||||
|
||||
if args.operator_new_alignment is not None:
|
||||
gn_args['operator_new_alignment'] = args.operator_new_alignment
|
||||
|
||||
enable_lto = args.lto
|
||||
if args.unoptimized:
|
||||
# There is no point in enabling LTO in unoptimized builds.
|
||||
@@ -252,6 +255,7 @@ def parse_args(args):
|
||||
parser.add_argument('--target-toolchain', type=str)
|
||||
parser.add_argument('--target-triple', type=str)
|
||||
parser.add_argument('--toolchain-prefix', type=str)
|
||||
parser.add_argument('--operator-new-alignment', dest='operator_new_alignment', type=str, default=None)
|
||||
|
||||
parser.add_argument('--enable-vulkan', action='store_true', default=False)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user