fish-shell/src
ridiculousfish e74b9d53df Do not use posix_spawn on glibc < 2.24
This concerns the behavior of posix_spawn for shebangless scripts. At some
point, glibc started executing them using `sh`, which is desirable for
fish's shebangless support (see #7802). On glibcs without that behavior
the shebangless test fails. So this change disables posix_spawn on older
glibcs.

It's not easy to figure out when that happened but it definitely happens
in glibc 2.28, and does not happen in glibc 2.17. Presumably the new
behavior is present in glibc 2.24 (see BZ#23264) so that's the cutoff:
posix_spawn is no longer allowed on glibc < 2.24.

This fixes the noshebang test failures on Ubuntu Xenial and Centos 7.
See discussion at bottom of #8021.
2021-05-31 13:38:56 -07:00
..
widecharwidth Incorporate widecharwidth changes for narrow emoji 2020-08-04 12:40:46 -07:00
ast.cpp Make ast FLOGs slightly less chatty 2021-05-03 12:01:21 +02:00
ast.h Reformat 2020-11-22 14:39:48 +01:00
ast_node_types.inc Introduce a new fish ast 2020-07-04 14:58:02 -07:00
autoload.cpp Don't eagerly fetch the current time in autoloading 2020-08-08 15:30:04 -07:00
autoload.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin.cpp Properly report errors when builtin output fails 2021-04-03 16:11:25 -07:00
builtin.h Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
builtin_argparse.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_argparse.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_bg.cpp Introduce notion of "wait handles" 2021-05-15 20:20:50 -07:00
builtin_bg.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_bind.cpp Move builtin_bind to out-of-line 2021-05-25 17:39:55 -07:00
builtin_bind.h Move builtin_bind to out-of-line 2021-05-25 17:39:55 -07:00
builtin_block.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_block.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_builtin.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_builtin.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_cd.cpp Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
builtin_cd.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_command.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_command.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_commandline.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_commandline.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_complete.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_complete.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_contains.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_contains.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_disown.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_disown.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_echo.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_echo.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_emit.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_emit.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_eval.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_eval.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_exit.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_exit.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_fg.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_fg.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_function.cpp Allow on-job-exit handlers to be added for any pid in the job 2021-05-25 15:28:53 -07:00
builtin_function.h Reformat 2020-11-22 14:39:48 +01:00
builtin_functions.cpp Separate on-job-exit and and on-process-exit events 2021-05-19 11:29:08 -07:00
builtin_functions.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_history.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_history.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_jobs.cpp Use internal job ids in builtin_wait 2021-05-13 12:11:00 -07:00
builtin_jobs.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_math.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_math.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_printf.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_printf.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_pwd.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_pwd.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_random.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_random.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_read.cpp Remove wcstring_tok 2021-04-18 14:46:05 -07:00
builtin_read.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_realpath.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_realpath.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_return.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_return.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_set.cpp If no uvars are available, fall back to global when setting 2021-05-01 18:59:25 +02:00
builtin_set.h Move builtin_bind to out-of-line 2021-05-25 17:39:55 -07:00
builtin_set_color.cpp set_color: Print an error for unknown options 2021-05-27 19:03:55 +02:00
builtin_set_color.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_source.cpp Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
builtin_source.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_status.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_status.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_string.cpp Correct behavior of string match variable import with multiple arguments 2021-04-20 15:15:52 -07:00
builtin_string.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_test.cpp Make test error when number is invalid nicer 2021-04-24 11:18:58 +02:00
builtin_test.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_type.cpp Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
builtin_type.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_ulimit.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_ulimit.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_wait.cpp Refactor wait handles 2021-05-17 15:25:21 -07:00
builtin_wait.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
color.cpp Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
color.h Refactor color.h/color.cpp 2021-02-08 15:16:21 -06:00
common.cpp Remove some static_asserts out of the common.h header 2021-05-21 13:06:43 -07:00
common.h Allow on-job-exit handlers to be added for any pid in the job 2021-05-25 15:28:53 -07:00
complete.cpp Resolve relative paths in command names for complete -p 2021-05-16 21:52:38 +02:00
complete.h Allow specifying a limit on number of expansion in operation_context 2020-12-22 12:38:51 -08:00
enum_set.h [cppcheck] add some std::move 2020-03-14 15:07:54 -07:00
env.cpp env: remove trailing null-terminator from default path 2021-05-25 08:12:21 +02:00
env.h Clean up use_posix_spawn 2021-05-31 13:38:56 -07:00
env_dispatch.cpp Do not use posix_spawn on glibc < 2.24 2021-05-31 13:38:56 -07:00
env_dispatch.h Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
env_universal_common.cpp Do not flock the uvars file on remote filesystems 2021-05-10 15:24:32 -07:00
env_universal_common.h Mild refactoring of flock logic inside env_universal_t 2021-05-10 15:23:57 -07:00
event.cpp Allow on-job-exit handlers to be added for any pid in the job 2021-05-25 15:28:53 -07:00
event.h Allow on-job-exit handlers to be added for any pid in the job 2021-05-25 15:28:53 -07:00
exec.cpp Clean up use_posix_spawn 2021-05-31 13:38:56 -07:00
exec.h Move autoclose_pipes_t from io.h to fds.h 2021-02-05 17:58:08 -08:00
expand.cpp Better errors when calling a command in a command substitution fails 2021-04-19 16:47:17 +02:00
expand.h Stop expanding globs in command position when performing error checking 2020-12-22 12:38:51 -08:00
fallback.cpp Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
fallback.h Remove lrand48 checks and support 2020-07-08 11:00:12 -07:00
fd_monitor.cpp Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
fd_monitor.h Introduce select_wrapper_t 2021-04-17 16:43:27 -07:00
fds.cpp Fix set_cloexec check 2021-05-22 18:09:15 +02:00
fds.h Remove fd_check_is_remote 2021-05-10 14:23:07 -07:00
fish.cpp Revert "Bravely set job control to full at startup" 2021-05-25 15:28:53 -07:00
fish_indent.cpp Use wide printing when outputting debug categories 2021-05-09 11:59:29 -07:00
fish_key_reader.cpp Remove timeout input events 2021-04-17 16:43:28 -07:00
fish_test_helper.cpp Readd awkward unused-result dance 2021-05-18 09:44:29 +02:00
fish_tests.cpp Refactor wait handles 2021-05-17 15:25:21 -07:00
fish_version.cpp Reformat all files 2019-05-05 12:09:25 +02:00
fish_version.h Revert "Generate FISH_BUILD_VERSION info for cmake builds" 2018-01-08 22:28:10 -08:00
flog.cpp Stop #include-ing wcstringutil.h in flog.h 2020-07-29 17:04:18 -07:00
flog.h Add a flog category for universal variable notifiers 2021-05-04 11:59:12 -07:00
function.cpp Allow on-job-exit handlers to be added for any pid in the job 2021-05-25 15:28:53 -07:00
function.h Move functions_def to function.cpp 2020-09-21 17:44:58 +02:00
future_feature_flags.cpp feature flags: default stderr-nocaret to on 2021-04-12 22:18:48 +08:00
future_feature_flags.h feature flags: add the notion of a default value for each flag 2021-04-12 22:18:48 +08:00
global_safety.h Reformat 2020-11-22 14:39:48 +01:00
highlight.cpp Skip long arguments in syntax highlighting path detection 2021-03-21 16:59:22 -07:00
highlight.h Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
history.cpp Do not lock the history file on remote filesystems 2021-05-10 14:23:07 -07:00
history.h Fix some potential leaks in history file contents 2021-05-09 11:59:29 -07:00
history_file.cpp Do not lock the history file on remote filesystems 2021-05-10 14:23:07 -07:00
history_file.h Fix a unique_ptr build error with gcc 4.8 2021-05-10 16:49:11 -07:00
input.cpp Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
input.h Introduce prepare_to_select, fixing job_summary.py 2021-04-17 16:43:28 -07:00
input_common.cpp Use the uvar notifier pipe timestamp to avoid excessive polling 2021-05-04 11:59:12 -07:00
input_common.h Introduce prepare_to_select, fixing job_summary.py 2021-04-17 16:43:28 -07:00
intern.cpp Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
intern.h restyle intern module to match project style 2016-05-01 20:28:46 -07:00
io.cpp io: Silence write error with EPIPE 2021-04-13 10:38:17 +02:00
io.h Fix a few mild warnings with gcc 4.8 2021-05-10 16:49:01 -07:00
iothread.cpp Introduce select_wrapper_t 2021-04-17 16:43:27 -07:00
iothread.h Introduce select_wrapper_t 2021-04-17 16:43:27 -07:00
job_group.cpp Implement cancel groups 2020-09-03 11:01:27 -07:00
job_group.h Implement cancel groups 2020-09-03 11:01:27 -07:00
kill.cpp Make the kill ring thread-safe 2021-04-21 17:37:44 -07:00
kill.h Implementation of variable with killring entries 2021-04-21 16:39:29 -07:00
lru.h Use unordered_map instead of map in lru 2020-08-08 15:32:06 -07:00
maybe.h Fix a few mild warnings with gcc 4.8 2021-05-10 16:49:01 -07:00
null_terminated_array.cpp Rework null terminated arrays 2021-03-28 15:31:25 -07:00
null_terminated_array.h Rework null terminated arrays 2021-03-28 15:31:25 -07:00
operation_context.cpp Allow specifying a limit on number of expansion in operation_context 2020-12-22 12:38:51 -08:00
operation_context.h Expand more when performing history path detection 2021-01-08 12:58:34 -08:00
output.cpp Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
output.h Use wcs2string when outputting the screen 2021-02-17 15:38:46 -08:00
pager.cpp Revert "Attempt to simplify how completions get presented in the pager" 2020-12-04 16:44:48 +01:00
pager.h Revert "Attempt to simplify how completions get presented in the pager" 2020-12-04 16:44:48 +01:00
parse_constants.h Introduce expansion limits 2020-12-05 13:19:07 -08:00
parse_execution.cpp Revert "Prevent redirecting internal processes to file descriptors above 2" 2021-03-03 22:26:33 +01:00
parse_execution.h Revert "Prevent redirecting internal processes to file descriptors above 2" 2021-03-03 22:26:33 +01:00
parse_tree.cpp Output human-readable descriptions of some parse errors 2021-02-09 22:38:16 +01:00
parse_tree.h Reduce copying in parse_util_detect_errors 2020-07-12 16:57:30 -07:00
parse_util.cpp Switch builtin execution to the performer model 2021-03-28 15:31:25 -07:00
parse_util.h Rework null terminated arrays 2021-03-28 15:31:25 -07:00
parser.cpp Refactor wait handles 2021-05-17 15:25:21 -07:00
parser.h Refactor wait handles 2021-05-17 15:25:21 -07:00
parser_keywords.cpp Add string to reserved keywords 2020-12-06 15:39:49 +01:00
parser_keywords.h Make IWYU output in lint.cpp less messy 2016-06-23 17:26:08 -07:00
path.cpp Do not flock the uvars file on remote filesystems 2021-05-10 15:24:32 -07:00
path.h Resolve relative paths in command names for complete -p 2021-05-16 21:52:38 +02:00
postfork.cpp Clean up and relnote shebangless script support 2021-03-27 16:08:42 -07:00
postfork.h Correct reporting of setpgid (parent vs child) 2020-11-20 14:22:42 -06:00
print_help.cpp Run clang-format on all files 2019-10-13 15:50:48 -07:00
print_help.h restyle proc module to match project style 2016-05-02 22:07:58 -07:00
proc.cpp Allow on-job-exit handlers to be added for any pid in the job 2021-05-25 15:28:53 -07:00
proc.h Allow on-job-exit handlers to be added for any pid in the job 2021-05-25 15:28:53 -07:00
reader.cpp reader: Fix crash when text is empty after stripping spaces 2021-05-16 22:16:22 +02:00
reader.h Re-read terminal modes after config.fish 2021-03-07 11:23:59 +01:00
redirection.cpp Collapse io_data switch statements 2019-12-29 15:51:22 -08:00
redirection.h dup2_list_t::resolve_chain to stop returning maybe 2019-12-29 14:49:05 -08:00
sanity.cpp Change C casts to C++ ones 2020-05-01 13:30:56 -07:00
sanity.h Amend typos and grammar errors 2019-11-25 13:07:15 +01:00
screen.cpp screen: Remove errant line 2021-05-18 11:27:30 +02:00
screen.h Revert "Stop caching line breaks in the prompt calculation" 2020-11-12 10:55:11 -08:00
signal.cpp Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
signal.h Remove the SIGIO signal handler and universal notifier 2021-04-03 18:11:29 -07:00
termsize.cpp Include <termios.h> instead of <sys/termios.h>. 2021-03-02 12:05:07 +01:00
termsize.h Eliminate the termsize handling from common.h 2020-06-07 20:00:42 -07:00
timer.cpp Pass some parameters by reference/move 2021-03-21 19:41:36 +01:00
timer.h Pass some parameters by reference/move 2021-03-21 19:41:36 +01:00
tinyexpr.cpp Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
tinyexpr.h math: Use wchar 2020-12-14 22:54:53 +01:00
tokenizer.cpp Fix backward-kill-path-component erasing extra tokens (#7872) 2021-03-29 22:58:50 +02:00
tokenizer.h Separate out variable assignments when completing 2020-09-26 17:30:25 -07:00
topic_monitor.cpp Introduce select_wrapper_t 2021-04-17 16:43:27 -07:00
topic_monitor.h Correct a stale comment 2020-08-24 12:12:10 -07:00
trace.cpp Change fish_trace prefix to "->" instead of plusses 2020-12-11 21:24:33 +01:00
trace.h Add support for fish_trace variable to trace execution 2019-11-02 14:40:57 -07:00
utf8.cpp Change C casts to C++ ones 2020-05-01 13:30:56 -07:00
utf8.h [clang-tidy] Fix inconsistent declarations 2019-11-25 14:13:33 -08:00
util.cpp [clang-tidy] numeric literals to uppercase 2020-04-05 10:13:13 +02:00
util.h Return glob ordering to pre-3.1 state 2020-02-14 19:06:19 +01:00
wait_handle.cpp Refactor wait handles 2021-05-17 15:25:21 -07:00
wait_handle.h Allow on-job-exit handlers to be added for any pid in the job 2021-05-25 15:28:53 -07:00
wcstringutil.cpp Remove wcstring_tok 2021-04-18 14:46:05 -07:00
wcstringutil.h Remove wcstring_tok 2021-04-18 14:46:05 -07:00
wgetopt.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
wgetopt.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
wildcard.cpp Allow ** glob segments to match zero directories 2020-12-28 23:51:18 -08:00
wildcard.h Clean up some comments around wildcard expansion 2020-12-28 23:51:18 -08:00
wutil.cpp Give file_id_t a real constructor 2021-05-04 11:59:12 -07:00
wutil.h Give file_id_t a real constructor 2021-05-04 11:59:12 -07:00