gecko/xpcom
Rafael Ávila de Espíndola 561bf65f37 Bug 696376 - Change how we find critical ranges so that it works on 10.6 too. r=dbaron.
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
2011-12-02 19:26:04 -05:00
..
analysis
base Bug 696376 - Change how we find critical ranges so that it works on 10.6 too. r=dbaron. 2011-12-02 19:26:04 -05:00
build Bug 686466 part 3 - Use a pre-generated nsXREAppData struct instead of application.ini. r=ted,bsmedberg 2011-11-22 08:05:59 +01:00
components Merge mozilla-central and mozilla-inbound 2011-11-11 11:09:58 +01:00
doc
ds Merge m-c to b-s. 2011-11-08 23:18:09 +00:00
glue Bug 705466 - Use MOZ_CHECK_HEADERS to check for cpuid.h. r=ted. 2011-11-28 15:32:32 -05:00
idl-parser Bug 691113 - Improving error thrown when ; is missing from interface definition; r=khuey 2011-11-20 11:13:40 +00:00
io Bug 688881 - Buffer overflow fix in nsDirectoryService::GetCurrentProcessDirectory. r=ehsan 2011-11-28 18:59:20 -05:00
libxpt/xptcall
proxy Bug 672796 - Move MOZILLA_GUARD_OBJECT_NOTIFIER_* out of AutoRestore.h; r=khuey 2011-11-16 08:50:19 +01:00
reflect Bug 692342 - Remove IsPointer() and IsReference() accessors and flag the bits as deprecated. r=mrbkap 2011-11-25 17:09:07 -08:00
sample
string Bug 698248 - Remove unused FORCE_USE_PIC variable; r=khuey 2011-11-01 15:45:23 -07:00
stub Bug 698248 - Remove unused FORCE_USE_PIC variable; r=khuey 2011-11-01 15:45:23 -07:00
system Bug 669105 - Leak-until-shutdown with deviceorientation and unload listeners. r=smaug 2011-07-06 22:56:32 -07:00
tests Bug 630290 - Fixing compiler warnings. r=cjones 2011-11-06 21:15:44 +05:30
threads Merge m-c to b-s. 2011-11-08 23:18:09 +00:00
tools
typelib Bug 692342 - Remove IsPointer() and IsReference() accessors and flag the bits as deprecated. r=mrbkap 2011-11-25 17:09:07 -08:00
windbgdlg
Makefile.in bug 677671 - Add unit tests for xpidl.py. r=khuey 2011-08-17 13:26:26 -04:00
xpcom-config.h.in Bug 680625 part 0b: Remove more workarounds for past century compilers. r=ted 2011-08-26 00:35:13 +01:00
xpcom-private.h.in