Моя команда разрабатывает продукт для встроенной ОС Linux с Node.js для веб-интерфейса для настройки устройства. Мы переносим наш код в систему с процессором, который не имеет аппаратного FPU. (Предыдущий продукт имел FPU.) Мы скомпилировали Node.js со следующими параметрами компилятора:
--with-arm-float-abi=soft
а также
--with-arm-float-abi=softfp
Но в обоих случаях Node.js вылетает во время выполнения с недопустимой инструкцией, потому что он пытается выполнить аппаратное вычисление с плавающей точкой. Похоже, что это в движке V8, потому что мы можем запустить node --version
и он печатает версию и завершает работу. Я не проверял источник, но я предполагаю, что он не запускает V8 только для того, чтобы напечатать номер версии.
Есть идеи, что нам здесь не хватает? Я мог бы опубликовать весь make-файл, если бы это помогло, но это похоже на шум для этой проблемы. Я надеюсь найти кого-нибудь, кто создал Node.js (версия после 0.10) для процессора ARM, у которого нет аппаратной плавающей запятой, и скажу мне, какие опции конфигурации / сборки нам могут отсутствовать. Или скажите мне, что вышеупомянутая опция должна работать, и мы просто делаем это неправильно.