From 09eed0783de3575619318a0cbde8781a016b30f9 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Tue, 16 Jun 2020 11:17:27 +0200 Subject: [PATCH] build: configure byte order for mips targets The build defaulted to the byte order of the host system but that can be different from the endianness of the target system. Refs: https://github.com/nodejs/node/issues/33703#issuecomment-644639158 --- configure.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/configure.py b/configure.py index 87d99f75be6573..b06b1c55859f33 100755 --- a/configure.py +++ b/configure.py @@ -1012,12 +1012,14 @@ def configure_arm(o): o['variables']['arm_fpu'] = options.arm_fpu or arm_fpu -def configure_mips(o): +def configure_mips(o, target_arch): can_use_fpu_instructions = (options.mips_float_abi != 'soft') o['variables']['v8_can_use_fpu_instructions'] = b(can_use_fpu_instructions) o['variables']['v8_use_mips_abi_hardfloat'] = b(can_use_fpu_instructions) o['variables']['mips_arch_variant'] = options.mips_arch_variant o['variables']['mips_fpu_mode'] = options.mips_fpu_mode + host_byteorder = 'little' if target_arch in ('mipsel', 'mips64el') else 'big' + o['variables']['v8_host_byteorder'] = host_byteorder def gcc_version_ge(version_checked): @@ -1077,7 +1079,7 @@ def configure_node(o): if target_arch == 'arm': configure_arm(o) elif target_arch in ('mips', 'mipsel', 'mips64el'): - configure_mips(o) + configure_mips(o, target_arch) if flavor == 'aix': o['variables']['node_target_type'] = 'static_library'