Re: time to workaround libc/13097 in fsf gdb?

Doug Evans
2014-09-13T01:06:18Z

Pedro Alves writes:
> On 09/12/2014 12:54 PM, Jan Kratochvil wrote:
> > On Thu, 11 Sep 2014 18:37:02 +0200, Pedro Alves wrote:
> >> Also, we know the address of the vDSO/gate (symfile-mem.c). Can't
> >> we use that to match instead of the name?
> > [...]
> >> ISTR having seen a patch that does that, but I can't seem to find it.
> >
> > Re: [patch+7.5.1] Work around PR libc/13097 "linux-vdso.so.1" #3
> > https://sourceware.org/ml/gdb-patches/2012-11/msg00636.html
> > Message-ID: <20121125181505.GA26194@host2.jankratochvil.net>
> >
> > It is pending/unreviewed/unapproved.
>
> Ah, yeah, I think that was it.
>
> I was more inclined to leave the vdso in the shared library list
> though, like ldd does, than filtering it out.

I like this too.
No point in hiding it from the user.

> Like, similar to
> your gdbarch_solib_file_not_found_is_ok patch, but look at the
> addresses rather than filenames in the hook. I'm not sure
> whether that'd complicate things too much.

I'm not sure either.

It *would* be nice to connect the processing of vdso when seen
by svr4_read_so_list (called during shared library loading)
with add_syscall_page (called as an observer when an inferior
is created). The same file (vdso) is processed in two disparate places
with no linkage for the human reader between them - a bit confusing.

> > Also I am not sure it is really still an issue on latest upstream glibc, it is
> > not an issue on Fedora 21 x86_64 glibc with the reproducer from:
> > https://sourceware.org/bugzilla/show_bug.cgi?id=13097
> >
> > (That is old Fedoras workarounded it in glibc, then some Fedoras exposed the
> > issue in GDB but now it is not visible - so either Fedoras workaround it again
> > or just upstream glibc switched/workarounds it also.)

I downloaded glibc 2.20 and tested it with gdb 7.8.
Still an issue.
[I just did a simple build, if there's a configure option
that will fix things I didn't try one.]
I think FSF gdb 7.8[.1?] (the latest) should work with FSF glibc 2.20
(the latest).