Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh

From: Jacob Bachmeyer <[email-masked]>
Date: Thu, 08 Apr 2021 22:39:57 -0500

Rainer Orth wrote:
> * There's also
>
> Native configuration is /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/config.guess: syn
> tax error at line 35: `me=$' unexpected
>
>   another POSIX shell construct, and less easily avoided because this
>   comes from upstream.
>   

As of commit 2ca7d52dfa1726aadd1363e399d9b41429332017, which will be in 
release candidate 3, configure now contains experimental logic to 
address this issue by patching the interpreter line in config.guess and 
config.sub when SHELL is not /bin/sh.

>   I'd already noticed another instance of the problem after I'd sent the
>   original PR: while e.g. autoconf-generated configure and related in
>   gcc are very careful to invoke config.guess only prefixed with $SHELL,
>   runtest.exp exec's it directly, again falling into the trap of POSIX
>   shell constructs (also $(), maybe more).
>   

The "exec" used in this case is Tcl's exec(n), which simply invokes the 
installed copy of config.guess (via the system) with the interpreter 
indicated in the file.  The patch now applied by configure should 
correct this issue.

> However, there are more errors still:
>
> [...]
>
> Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card.all/onetest
> .exp ...
> spawn /bin/sh -c cd /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card
> .all/onetest && exec /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/dejagnu report-card^
> M
> expr: syntax error
> ERROR: could not resolve command dejagnu-report-card
>
> There are obviously more hardcoded uses of /bin/sh here and elsewhere,
> but I haven't looked for those yet.

If this issue remains in rc3, I repeat my request for execution traces 
under both /bin/sh and /bin/ksh for the rc3 version of the dejagnu 
launcher script.  Please attach the output of "/bin/ksh -x ./dejagnu 
report-card" and "/bin/sh -x ./dejagnu report-card" with both run in the 
DejaGnu source directory when you get the chance if there are still issues.

I have delayed extending the "shell swap" logic in configure to the 
dejagnu launcher script because I am currently uncertain whether it will 
help solve any problems.

-- Jacob