This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH] Preload infrastructure.
- From: Jeff Law <law at redhat dot com>
- To: "Joseph S. Myers" <joseph at codesourcery dot com>, OndÅej BÃlka <neleai at seznam dot cz>
- Cc: libc-alpha at sourceware dot org
- Date: Tue, 22 Oct 2013 22:16:01 -0600
- Subject: Re: [PATCH] Preload infrastructure.
- Authentication-results: sourceware.org; auth=none
- References: <20131021193617 dot GA29829 at domone dot podge> <Pine dot LNX dot 4 dot 64 dot 1310221447380 dot 7107 at digraph dot polyomino dot org dot uk> <20131022180107 dot GA23855 at domone dot podge> <Pine dot LNX dot 4 dot 64 dot 1310222031560 dot 13258 at digraph dot polyomino dot org dot uk>
On 10/22/13 15:06, Joseph S. Myers wrote:
Most definitely break it up in some way. For a developer trying to
track down a problem, they may already have a clue about the scope of
the problem and thus may not want to pay the penalty for every
So: put this code in the debug/ directory like other debugging preloadable
libraries; split it up by the different things it's usable to debug, so
each installed shared object does one clearly defined thing and does it
well; model the build/install system on how other such libraries are
built/installed; model other things on those libraries as well (such as
using an environment variable to specify an output file, not a hardcoded
/tmp path); generally follow established coding practices for such
ie, if they suspect they're doing something wrong in the pthread
libraries, paying a 10%+ penalty for memcpy overlap checking is silly.
I would also recommend considering not making these interceptors a part
of glibc. They are checking for compliance to various standards which
is independent of the library implementation underneath.
I must admit this is a bit selfish -- whatever is done here beyond
what's checked by memstomp Red Hat will probably want to package
independently of glibc (as we already update our intercept checkers
independently of glibc) and we will want to present a consistent way to
enable these checks to the user, consistent error reporting, etc.