This is the mail archive of the libc-help@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] | |
Hi,Seems that dlsym (RTLD_NEXT) from a preloaded library does not always point to the default (RTLD_DEFAULT) symversion for pthread_cond_* functions. Is this a bug or is there no version guarantee?
Attached testcase shows this if you disable the address randomization. On native launch, attached 'app' gets following symversions:
DEFAULT symbol 'pthread_cond_wait' is at /lib64/libpthread.so.0:pthread_cond_wait:0x380100bf60 DEFAULT symbol 'pthread_cond_destroy' is at /lib64/libpthread.so.0:pthread_cond_destroy:0x380100bdf0 DEFAULT symbol 'pthread_cond_timedwait' is at /lib64/libpthread.so.0:pthread_cond_timedwait:0x380100c2c0 DEFAULT symbol 'pthread_cond_signal' is at /lib64/libpthread.so.0:pthread_cond_signal:0x380100c850 DEFAULT symbol 'pthread_cond_broadcast' is at /lib64/libpthread.so.0:pthread_cond_broadcast:0x380100c940
If attached 'libtest.so' is preloaded for the 'app' launch, we get:NEXT symbol 'pthread_cond_wait' is at /lib64/libpthread.so.0:pthread_cond_wait:0x380100cae0 NEXT symbol 'pthread_cond_destroy' is at /lib64/libpthread.so.0:pthread_cond_destroy:0x380100cac0 NEXT symbol 'pthread_cond_timedwait' is at /lib64/libpthread.so.0:pthread_cond_timedwait:0x380100cb50 NEXT symbol 'pthread_cond_signal' is at /lib64/libpthread.so.0:pthread_cond_signal:0x380100cbe0 NEXT symbol 'pthread_cond_broadcast' is at /lib64/libpthread.so.0:pthread_cond_broadcast:0x380100cc50
Everything apart from pthread_cond_* seems to be OK. Bug or not? -- Janne
Attachment:
svtest.tar.gz
Description: application/gzip
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |