Commit | Line | Data |
---|---|---|
5d4fd267 LC |
1 | We want to allow builds in chroots that lack /bin/sh. Thus, system(3) |
2 | and popen(3) need to be tweaked to use the right shell. For the bootstrap | |
3 | glibc, we just use whatever `sh' can be found in $PATH. The final glibc | |
4 | instead uses the hard-coded absolute file name of `bash'. | |
5 | ||
6 | --- a/sysdeps/posix/system.c | |
7 | +++ b/sysdeps/posix/system.c | |
5f3f7039 MB |
8 | @@ -140,7 +140,7 @@ do_system (const char *line) |
9 | __posix_spawnattr_setflags (&spawn_attr, | |
10 | POSIX_SPAWN_SETSIGDEF | POSIX_SPAWN_SETSIGMASK); | |
5d4fd267 | 11 | |
5f3f7039 MB |
12 | - status = __posix_spawn (&pid, SHELL_PATH, 0, &spawn_attr, |
13 | + status = posix_spawnp (&pid, SHELL_NAME, 0, &spawn_attr, | |
14 | (char *const[]){ (char*) SHELL_NAME, | |
15 | (char*) "-c", | |
16 | (char *) line, NULL }, | |
06b1d695 MW |
17 | --- a/libio/iopopen.c |
18 | +++ b/libio/iopopen.c | |
5f3f7039 MB |
19 | @@ -85,7 +85,7 @@ spawn_process (posix_spawn_file_actions_t *fa, FILE *fp, const char *command, |
20 | return false; | |
5d4fd267 | 21 | } |
5f3f7039 MB |
22 | |
23 | - if (__posix_spawn (&((_IO_proc_file *) fp)->pid, _PATH_BSHELL, fa, 0, | |
24 | + if (posix_spawnp (&((_IO_proc_file *) fp)->pid, "sh", fa, 0, | |
25 | (char *const[]){ (char*) "sh", (char*) "-c", | |
26 | (char *) command, NULL }, __environ) != 0) | |
27 | return false; | |
75170267 | 28 |