This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug dynamic-link/22101] Dynamic loader must ignore "debug" shared objects e.g. ET_GNU_DEBUG_*


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]