unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Carlos O'Donell <carlos@redhat.com>
To: "Gabriel F. T. Gomes" <gabriel@inconstante.net.br>
Cc: DJ Delorie <dj@redhat.com>,
	libc-alpha <libc-alpha@sourceware.org>, Gdb <gdb@sourceware.org>,
	Gary Benson <gbenson@redhat.com>,
	Florian Weimer <fweimer@redhat.com>
Subject: Re: Debugging containerized glibc tests with gdb (a developer use case for outside-of-container debugging).
Date: Sat, 4 Jan 2020 09:28:25 -0500	[thread overview]
Message-ID: <b1df7fa3-4f5a-b7f4-4e63-27d563a9face@redhat.com> (raw)
In-Reply-To: <20191227145551.79a291b4@tereshkova>

On 12/27/19 12:55 PM, Gabriel F. T. Gomes wrote:
> 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.

Interesting! Thank you for looking into this more deeply.

Reproducing these issues is half the battle!

> 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 ld.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 ld.so and ld<whatever>.so.<n>.  For instance:

Are you saying the contents of $objdir's mount in the sysroot are not the same
as the contents of $objdir as seen _outsite_ of the sysroot?

We have two paths:

- Normal $objdir
- $objdir as seen from within the sysroot's mount

 
>   $ ls -l testroot.root/home/gabriel/build/x86_64/glibc/elf
>   -rwxrwxr-x 1 gabriel gabriel 1342800 Dec 27 11:09 ld-linux-x86-64.so.2

A normal $objdir should have:

lrwxrwxrwx.  1 carlos carlos       5 Aug  1 00:51 ld-linux-x86-64.so.2 -> ld.so
-rwxrwxr-x.  1 carlos carlos 1458696 Aug  1 00:51 ld.so

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

Likewise.

> Whereas on the actual build dir:
 
>   $ ls -l elf/ld*.so*
>   lrwxrwxrwx 1 gabriel gabriel       5 Dec 27 09:04 elf/ld64.so.2 -> ld.so
>   -rwxr-xr-x 1 gabriel gabriel 1566232 Dec 27 09:04 elf/ld.so

Yes, this is correct.

>> warning: Could not load shared library symbols for /home/carlos/build/glibc-gr-localedef/elf/ld.so.
> 
> If I create the ld.so symlink in the sysroot, the problem goes away.
> Should there be a symlink in the sysroot?
 
Why would we need to create it? I thought this path was simply
a MS_BIND mount of the $objdir and should have identical contents?

-- 
Cheers,
Carlos.


      reply	other threads:[~2020-01-04 14:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-20 21:20 Debugging containerized glibc tests with gdb (a developer use case for outside-of-container debugging) Carlos O'Donell
2019-12-26 20:21 ` Gabriel F. T. Gomes
2019-12-27 12:13   ` Carlos O'Donell
2019-12-27 17:55     ` Gabriel F. T. Gomes
2020-01-04 14:28       ` Carlos O'Donell [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/libc/involved.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b1df7fa3-4f5a-b7f4-4e63-27d563a9face@redhat.com \
    --to=carlos@redhat.com \
    --cc=dj@redhat.com \
    --cc=fweimer@redhat.com \
    --cc=gabriel@inconstante.net.br \
    --cc=gbenson@redhat.com \
    --cc=gdb@sourceware.org \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).