musl/include/dlfcn.h, branch master musl - an implementation of the standard library for Linux-based systems add time64 redirect for, and redirecting implementation of, dlsym 2019年11月02日T22:30:56+00:00 Rich Felker dalias@aerifal.cx 2019年08月09日T19:26:23+00:00 22daaea39f1cc5f7391f0a5cd84576ffb58c2860 if symbols are being redirected to provide the new time64 ABI, dlsym must perform matching redirections; otherwise, it would poke a hole in the magic and return pointers to functions that are not safe to call from a caller using time64 types. rather than duplicating a table of redirections, use the time64 symbols present in libc's symbol table to derive the decision for whether a particular symbol needs to be redirected.
if symbols are being redirected to provide the new time64 ABI, dlsym
must perform matching redirections; otherwise, it would poke a hole in
the magic and return pointers to functions that are not safe to call
from a caller using time64 types.
rather than duplicating a table of redirections, use the time64
symbols present in libc's symbol table to derive the decision for
whether a particular symbol needs to be redirected.
const-qualify the address argument to dladdr 2014年01月07日T03:03:38+00:00 Rich Felker dalias@aerifal.cx 2014年01月07日T03:03:38+00:00 839cc4e6da609a0b24f6cc32b0b11558fd77dd83 this agrees with implementation practice on glibc and BSD systems, and is the const-correct way to do things; it eliminates warnings from passing pointers to const. the prototype without const came from seemingly erroneous man pages.
this agrees with implementation practice on glibc and BSD systems, and
is the const-correct way to do things; it eliminates warnings from
passing pointers to const. the prototype without const came from
seemingly erroneous man pages.
implement minimal dlinfo function 2013年06月29日T16:46:46+00:00 Rich Felker dalias@aerifal.cx 2013年06月29日T16:46:46+00:00 780cbbe63ad9e60ef30dbcb2d74271e899dae245
add RTLD_NODELETE flag for dlopen 2013年01月24日T03:18:45+00:00 Rich Felker dalias@aerifal.cx 2013年01月24日T03:18:45+00:00 55ddbc3e5d70f03bc52aece95fffb6abad47dbf4 this is a trivial no-op, because dlclose never deletes libraries. thus we might as well have it in the header in case some application wants it, since we're already providing it anyway.
this is a trivial no-op, because dlclose never deletes libraries. thus
we might as well have it in the header in case some application wants
it, since we're already providing it anyway.
add support for RTLD_NOLOAD to dlopen 2013年01月24日T03:07:45+00:00 Rich Felker dalias@aerifal.cx 2013年01月24日T03:07:45+00:00 4d07e5521ea811278f00f434fe2b8345ea1d8832 based on patch by Pierre Carrier <pierre@gcarrier.fr> that just added the flag constant, but with minimal additional code so that it actually works as documented. this is a nonstandard option but some major software (reportedly, Firefox) uses it and it was easy to add anyway.
based on patch by Pierre Carrier <pierre@gcarrier.fr> that just added
the flag constant, but with minimal additional code so that it
actually works as documented. this is a nonstandard option but some
major software (reportedly, Firefox) uses it and it was easy to add
anyway.
default features: make musl usable without feature test macros 2012年09月08日T03:13:55+00:00 Rich Felker dalias@aerifal.cx 2012年09月08日T03:13:55+00:00 c1a9658bd19245ff0fb52d3da567815d822fb622 the old behavior of exposing nothing except plain ISO C can be obtained by defining __STRICT_ANSI__ or using a compiler option (such as -std=c99) that predefines it. the new default featureset is POSIX with XSI plus _BSD_SOURCE. any explicit feature test macros will inhibit the default. installation docs have also been updated to reflect this change.
the old behavior of exposing nothing except plain ISO C can be
obtained by defining __STRICT_ANSI__ or using a compiler option (such
as -std=c99) that predefines it. the new default featureset is POSIX
with XSI plus _BSD_SOURCE. any explicit feature test macros will
inhibit the default.
installation docs have also been updated to reflect this change.
dladdr should be available under _BSD_SOURCE as well as _GNU_SOURCE 2012年09月07日T02:58:34+00:00 Rich Felker dalias@aerifal.cx 2012年09月07日T02:58:34+00:00 ac5d085691e5a797a21ae36111aa0b274e1cf4ba
use restrict everywhere it's required by c99 and/or posix 2008 2012年09月07日T02:44:55+00:00 Rich Felker dalias@aerifal.cx 2012年09月07日T02:44:55+00:00 400c5e5c8307a2ebe44ef1f203f5a15669f20347 to deal with the fact that the public headers may be used with pre-c99 compilers, __restrict is used in place of restrict, and defined appropriately for any supported compiler. we also avoid the form [restrict] since older versions of gcc rejected it due to a bug in the original c99 standard, and instead use the form *restrict.
to deal with the fact that the public headers may be used with pre-c99
compilers, __restrict is used in place of restrict, and defined
appropriately for any supported compiler. we also avoid the form
[restrict] since older versions of gcc rejected it due to a bug in the
original c99 standard, and instead use the form *restrict.
dladdr support for dynamic linker (nonstandard extension) 2012年08月27日T01:09:26+00:00 Rich Felker dalias@aerifal.cx 2012年08月27日T01:09:26+00:00 f419bcb9dcfb6af60fbf1d58d92caf4b3d62a4da based on patches submitted by boris brezillon. this commit also fixes the issue whereby the main application and libc don't have the address ranges of their mappings stored, which was theoretically a problem for RTLD_NEXT support in dlsym; it didn't actually matter because libc never calls dlsym, and it seemed to be doing the right thing (by chance) for symbols in the main program as well.
based on patches submitted by boris brezillon. this commit also fixes
the issue whereby the main application and libc don't have the address
ranges of their mappings stored, which was theoretically a problem for
RTLD_NEXT support in dlsym; it didn't actually matter because libc
never calls dlsym, and it seemed to be doing the right thing (by
chance) for symbols in the main program as well.
further fixup dlfcn.h 2011年06月27日T05:02:28+00:00 Rich Felker dalias@aerifal.cx 2011年06月27日T05:02:28+00:00 230f1813ad8264f09d5247fa0ed1e8e361c21e0e

AltStyle によって変換されたページ (->オリジナル) /