Subject: bug#41647: Binutils GAS testsuite errors with DejaGNU master

From: Jacob Bachmeyer <[email-masked]>
Date: Mon, 01 Jun 2020 22:11:23 -0500

Jozef Lawrynowicz wrote:
> I'm having problems running the binutils GAS testsuite for msp430-elf,
> when using the latest DejaGNU master branch (commit d37c15b).
> runtest reports that it cannot find the GAS tool config file.
> It works if I check out dejagnu-1.6.2-release.
>
> I have configured binutils with the following:
>   ../configure --target=msp430-elf --disable-gdb --disable-sim \
>     --disable-nls --enable-languages=c,c++
>   

I believe that I have found the cause of your problem, and it can only 
occur when the package is configured using a relative file name.  
Automake writes a "site.exp" file that sets srcdir to a relative name.  
This is then overridden on the command line with an absolute file name 
before changing the current directory to the testsuite directory in the 
build tree, but there is a long-standing issue in DejaGnu with 
"site.exp" overriding command line parameters during the window in which 
the tool init file is loaded.

An immediate workaround is to use an absolute file name when running 
configure.

> Meanwhile if I checkout dejagnu-1.6.2-release, reinstall DejaGNU, and run the
> same command, the testsuite runs as expected.
>   

Since 1.6.2, DejaGnu has become more strict about looking exactly where 
it is told to look for files as part of a general cleanup.  Cleaning up 
DejaGnu's own use of Automake probably fixed some unknown bug that was 
covering up this issue.

I have opened branch PR41647 for addressing this issue; so far, it 
contains two commits that add additional verbose output that made the 
cause of this issue obvious.  I am unsure about how aggressively the 
first command line parse should override site.exp and have opened a 
discussion on the DejaGnu mailing list.

-- Jacob