[pushed] Driver: Fix bootstrap with DEFAULT_{ASSEMBLER,LINKER,DSYMUTIL}.
Commit Message
Hi
The patch at r12-3662-g5fee8a0a9223d factored the code for
printing the names of programes into a separate function.
However the moved editions that print out the names of the
assembler, linker (and dsymutil on Darwin) when those are
specified at configure-time were not adjusted accordingly,
leading to a bootstrap fail.
Fixed by testing specifically for execute OK, since we know
these are programs.
tested on i686-darwin9, x86_64-darwin20 configured with
—with-{as,ld,dsymutil}= and on x86_64-darwin18 without.
confirmed that the build and installed versions print the right
thing (and, of course, that bootstrap succeeds).
pushed to master as bootstrap fix, thanks
Iain
Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
gcc/ChangeLog:
* gcc.c: Test for execute OK when we find the
programs for assembler linker and dsymutil and those
were specified at configure-time.
---
gcc/gcc.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--
Comments
On 9/20/2021 12:50 AM, Iain Sandoe wrote:
> Hi
>
> The patch at r12-3662-g5fee8a0a9223d factored the code for
> printing the names of programes into a separate function.
> However the moved editions that print out the names of the
> assembler, linker (and dsymutil on Darwin) when those are
> specified at configure-time were not adjusted accordingly,
> leading to a bootstrap fail.
>
> Fixed by testing specifically for execute OK, since we know
> these are programs.
>
> tested on i686-darwin9, x86_64-darwin20 configured with
> —with-{as,ld,dsymutil}= and on x86_64-darwin18 without.
>
> confirmed that the build and installed versions print the right
> thing (and, of course, that bootstrap succeeds).
>
> pushed to master as bootstrap fix, thanks
> Iain
>
> Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
>
> gcc/ChangeLog:
>
> * gcc.c: Test for execute OK when we find the
> programs for assembler linker and dsymutil and those
> were specified at configure-time.
Thanks for taking care of this. Sorry for the breakage.
jeff
@@ -3083,17 +3083,17 @@ find_a_program (const char *name)
/* Do not search if default matches query. */
#ifdef DEFAULT_ASSEMBLER
- if (! strcmp (name, "as") && access (DEFAULT_ASSEMBLER, mode) == 0)
+ if (! strcmp (name, "as") && access (DEFAULT_ASSEMBLER, X_OK) == 0)
return xstrdup (DEFAULT_ASSEMBLER);
#endif
#ifdef DEFAULT_LINKER
- if (! strcmp (name, "ld") && access (DEFAULT_LINKER, mode) == 0)
+ if (! strcmp (name, "ld") && access (DEFAULT_LINKER, X_OK) == 0)
return xstrdup (DEFAULT_LINKER);
#endif
#ifdef DEFAULT_DSYMUTIL
- if (! strcmp (name, "dsymutil") && access (DEFAULT_DSYMUTIL, mode) == 0)
+ if (! strcmp (name, "dsymutil") && access (DEFAULT_DSYMUTIL, X_OK) == 0)
return xstrdup (DEFAULT_DSYMUTIL);
#endif