This is the mail archive of the libc-alpha@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] |
On 01/26/2017 02:09 PM, Szabolcs Nagy wrote:
On 26/01/17 12:43, Florian Weimer wrote:On 01/26/2017 01:35 PM, Szabolcs Nagy wrote:On 26/01/17 12:15, Florian Weimer wrote:Maybe we should just change the definition of RTLD_DEFAULT and RTLD_NEXT, to something like this: #define RTLD_DEFAULT ((void *) ((unsigned long) &__dso_handle | 1))) #define RTLD_NEXT ((void *) ((unsigned long) &__dso_handle | 3)))i think these should be constants that can be copied and passed around between modules.Why? The effect of these identifies is very much module-specific, and the definition would make this explicit. What do other libcs do here? Bionic and FreeBSD use magic constants just like current glibc.because ppl do wrappers like http://git.haskell.org/packages/unix.git/blob/HEAD:/cbits/HsUnix.c#l12 which sit in one module and may get called from another one.
But the same thing would happen with dlsym: The caller would be identified as the wrapper, not the actual module calling dlsym.
Thanks, Florian
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |