From 4c2ce4b9313fe924d62bdc7d622845e9966148a9 Mon Sep 17 00:00:00 2001 From: Fabian Boehm Date: Sat, 2 Jul 2022 10:11:00 +0200 Subject: [PATCH] Add error for EBADARCH That's apparently errno 86 on macOS, and it's triggered when the architecture is wrong. I'll leave other macOS errors to the macOS users. See #9052. (cherry picked from commit 60f87ef3be67bfe62042dc7a150932f2d6251829) --- CHANGELOG.rst | 1 + src/postfork.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6fdcce5c6..b8a9d45e2 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -7,6 +7,7 @@ This release of fish introduces the following small enhancements: - ``printf`` returns a better error when used with arguments interpreted as octal numbers (:issue:`9035`). - New completions for ``qdbus`` (:issue:`9031:`) and ``reflector`` (:issue:`9027`), and improvements to some completions. - ``history merge`` when in private mode is now an error, rather than wiping out other sessions' history (:issue:`9050`). +- The error message when launching a command that is built for the wrong architecture on macOS is more helpful (:issue:`9052`). This release also fixes a number of problems identified in fish 3.5.0. diff --git a/src/postfork.cpp b/src/postfork.cpp index 8b1784997..8c6263ade 100644 --- a/src/postfork.cpp +++ b/src/postfork.cpp @@ -543,6 +543,14 @@ void safe_report_exec_error(int err, const char *actual_cmd, const char *const * actual_cmd); break; } +#ifdef EBADARCH + case EBADARCH: { + FLOGF_SAFE(exec, + "Failed to execute process '%s': Bad CPU type in executable.", + actual_cmd); + break; + } +#endif default: { char errnum_buff[64]; format_long_safe(errnum_buff, err);