This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug dynamic-link/22101] Dynamic loader must ignore "debug" shared objects e.g. ET_GNU_DEBUG_*
- From: "carlos at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Mon, 25 Sep 2017 15:33:40 +0000
- Subject: [Bug dynamic-link/22101] Dynamic loader must ignore "debug" shared objects e.g. ET_GNU_DEBUG_*
- Auto-submitted: auto-generated
- References: <bug-22101-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=22101
--- Comment #7 from Carlos O'Donell <carlos at redhat dot com> ---
(In reply to José Bollo from comment #2)
> Does it means that dlopen is authorized to crash (SIGSEGV)?
>
> I don't share your opinion.
(In reply to Andreas Schwab from comment #6)
> > Does it means that dlopen is authorized to crash (SIGSEGV)?
>
> Yes, because you allow it to run arbitrary code.
As Andreas states, the answer is "Yes", but within reason.
The context of the various ways in which we check errors or don't (and crash)
is covered under the project "Style and Conventions" on error handling:
https://sourceware.org/glibc/wiki/Style_and_Conventions#Error_Handling
Having the loader check all possible errors would make it slow in the normal
case, and the normal case is that ELF binaries are well formed.
There is a double problem here:
ldd is the loader itself running in trace mode, and that has problems.
I have started an eu-ldd project that is robust against such failures and that
would make ldd more robust in detecting debug info vs. real binaries, however
this change would still be welcome in that case as a quick way to determine
which files are what.
--
You are receiving this mail because:
You are on the CC list for the bug.