mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
561bf65f37
Currently we use dlsym on pthread_cond_wait$UNIX2003 to find a function that indicates that new_sem_from_pool is on the stack. This works on 10.5, but on 10.6 I could not find a single reliable indicator that would work with dlsym. The good news is that dladdr works with any symbol, not just exported ones. To find the address of new_sem_from_pool, we set up a malloc logger and force a call to new_sem_from_pool. From the logger callback we walk the stack trying dladdr on every address. To force a call to new_sem_from_pool, the initialization code has to be the first to use semaphores, so it is now run from NS_LogInit. This works on 10.6 and 10.5 (but we have to look for "pthread_cond_wait$UNIX2003"). In 10.7 the call to malloc is gone, so we don't have to worry about critical addresses on it anymore. --HG-- extra : rebase_source : bba4ac9e3378c88f7037aa884511e473a57121f6 |
||
---|---|---|
.. | ||
codesighs | ||
elf-dynstr-gc | ||
footprint | ||
httptester | ||
jprof | ||
l10n | ||
leaky | ||
memory | ||
page-loader | ||
performance | ||
profiler | ||
rb | ||
relic | ||
reorder | ||
test-harness/jssh-driver | ||
tests | ||
testy | ||
trace-malloc | ||
update-packaging | ||
uuiddeps |