From 3c61df83914741a120a27b6d90e5102110221bf6 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 PR-URL: https://github.com/nodejs/node/pull/33898 Reviewed-By: Richard Lau Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Luigi Pinca --- configure.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/configure.py b/configure.py index 463fa9292e9e5f..afaf6d738a7f9b 100755 --- a/configure.py +++ b/configure.py @@ -1001,12 +1001,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): @@ -1062,7 +1064,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'