Re: [RFA] Ensure deterministic result order in gdb.ada/info_auto_lang.exp

Simon Marchi
2018-12-20T05:50:42Z

On 2018-12-20 00:29, Joel Brobecker wrote:
>> > Since both paths appear already normalized in my case, the test does fails for me and your patch
>> > would fix it. I am 99% sure I am fine with your fix, I just want to make sure we are on the same
>> > page.
>> A mystery to me why paths are already normalized in your build ...
>> What compilation command do you see in the gdb.log for some_c.c ?
>
> I think it depends how you configure your build, and where you do
> your testing. That's why Simon asked you about it.
>
> Personally, I build and test out-of-tree, and this is the recommended
> way. And the second important element is the fact that I use an
> absolute
> path to the configure script:
>
> $ cd /path/to/build
> $ /path/to/src/configure [...]
> $ make
>
> When you configure GDB that way, then the testsuite framework will
> compile the C files by passing the absolute path to those C files.
> For instance on example from my gdb.log file:
>
> | Executing on host: gcc [...] -c -g [snip snip]
> /path/to/src/gdb/testsuite/gdb.base/gdb1090.c (timeout = 300)
>
> However, if you configure using a relative path to the configure
> script,
> things become different. With the same example, but configured using...
>
> $ cd /path/to/build
> $ ../src/configure [...]
>
> ... the path given by the testsuite frame to GCC in order to compile
> C files now includes these relative directory adjustments you are
> seeing. Eg:
>
> | Executing on host: gcc [...] -c -g [...]
> /path/to/bld/gdb/testsuite/../../../../act/gdb-public/gdb/testsuite/gdb.base/gdb1090.c
> (timeout = 300)
>
> Whether it must be this way or not and why, I don't know. But I don't
> think it's even worth exploring the idea of changing it.

Then, I think it makes sense to normalize the paths in order to have a
predictable output, regardless of how gdb was configured, as Philippe
suggested. Are you also ok with his patch?

Simon