From 0d7acfac82a20fceb7aa91c61abc18b711edba28 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Fri, 2 Aug 2019 11:57:02 +0100 Subject: build: enable linux large pages LLVM lld linkage support The custom linker script is compatible with GNU ld only. As such, providin a new expliciting option to redirect to a different one. lld seems unable to migrate this large section w/o segfaulting so providing only the base address anchor for now. PR-URL: https://github.com/nodejs/node/pull/28938 Reviewed-By: Ben Noordhuis --- configure.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'configure.py') diff --git a/configure.py b/configure.py index 3d752f434b..beab9ceccc 100755 --- a/configure.py +++ b/configure.py @@ -401,6 +401,11 @@ parser.add_option('--use-largepages', help='build with Large Pages support. This feature is supported only on Linux kernel' + '>= 2.6.38 with Transparent Huge pages enabled and FreeBSD') +parser.add_option('--use-largepages-script-lld', + action='store_true', + dest='node_use_large_pages_script_lld', + help='link against the LLVM ld linker script. Implies -fuse-ld=lld in the linker flags') + intl_optgroup.add_option('--with-intl', action='store', dest='with_intl', @@ -1048,6 +1053,7 @@ def configure_node(o): raise Exception( 'Large pages need Linux kernel version >= 2.6.38') o['variables']['node_use_large_pages'] = b(options.node_use_large_pages) + o['variables']['node_use_large_pages_script_lld'] = b(options.node_use_large_pages_script_lld) if options.no_ifaddrs: o['defines'] += ['SUNOS_NO_IFADDRS'] -- cgit v1.2.1