Debugging containerized glibc tests with gdb (a developer use case for outside-of-container debugging).

Gabriel F. T. Gomes
Fri Dec 27 17:56:00 GMT 2019

Hi, Carlos,

On Fri, 27 Dec 2019, Carlos O'Donell wrote:
>Did you try --enable-hardcoded-path-in-tests?

I hadn't. ¬¬
That was it.

You wrote this in your first email:

>In test-container.c we mount $srcdir and $objdir into the same absolute paths
>inside the container, so should be accessible from the same absolute paths.
>If we fail those mounts we immediately fail the test with FAIL_EXIT1.

I think the paths are the same, but the contents are not identical.  On
the tests I did, the testroot.root/path/to/build/dir/elf directory is
missing the symlink between and ld<whatever>.so.<n>.  For instance:

  $ ls -l testroot.root/home/gabriel/build/x86_64/glibc/elf
  -rwxrwxr-x 1 gabriel gabriel 1342800 Dec 27 11:09

  $ ls -l testroot.root/home/gabriel/build/powerpc64le/glibc/elf/
  -rwxr-xr-x 1 gabriel gabriel 1566232 Dec 27 09:05

Whereas on the actual build dir:

  $ ls -l elf/ld*.so*
  lrwxrwxrwx 1 gabriel gabriel       5 Dec 27 09:04 elf/ ->
  -rwxr-xr-x 1 gabriel gabriel 1566232 Dec 27 09:04 elf/

>warning: Could not load shared library symbols for /home/carlos/build/glibc-gr-localedef/elf/

If I create the symlink in the sysroot, the problem goes away.
Should there be a symlink in the sysroot?

More information about the Gdb mailing list