Commit Graph

472 Commits

Author SHA1 Message Date
James Willcox
156a79ed55 Bug 1127464 - Assert when we unexpectedly unload libraries on Android r=glandium 2015-03-09 08:33:22 -05:00
Mike Hommey
b11834deed Bug 1139036 - Bind all symbols from libmozglue.dylib when it is loaded. r=ted 2015-03-04 21:15:08 +09:00
David Major
043893abb4 Bug 1132663 - Part 2: Block rndlnpshimswf.dll and rndlmainbrowserrecordplugin.dll. r=bsmedberg 2015-02-18 14:12:41 +13:00
Mike Hommey
d8f563fcbd Fixup bug 1121269 for b2g bustage on a CLOSED TREE. r=me 2015-02-11 11:30:58 +09:00
Mike Hommey
6ad25cb792 Bug 1129244 - [Nuwa] wrap pthread_mutex_trylock. r=thinker 2015-02-11 10:21:04 +09:00
Mike Hommey
ed233942cc Bug 1121269 - Remove TLS keys from bookkeeping in non-Nuwa processes too. r=thinker 2015-02-11 10:21:04 +09:00
Mike Hommey
1ed447aabd Bug 1121269 - Use a LinkedList to store TLS keys for Nuwa, and allocate the first element in a static buffer. r=thinker 2015-02-11 10:21:03 +09:00
Mike Hommey
1145a20d2c Bug 1059797 - Really share the same zlib inflate buffers for SeekableZStream chunks. r=nfroyd 2015-02-11 10:21:02 +09:00
James Willcox
d27a8f46ef Bug 1108709 - Don't chdir on Android r=glandium 2015-02-02 17:49:44 -06:00
David Major
24fa4a4b75 Bug 1123778 - Block Lenovo Onekey Theater DLLs. r=bsmedberg 2015-01-21 18:52:00 -05:00
Mike Hommey
f7275efee9 Bug 1120272 - Expose _aligned_alloc and _aligned_free from mozglue. r=njn 2015-01-20 13:10:00 +09:00
Masatoshi Kimura
f70d08c5aa Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Jim Chen
c02561a822 Bug 1116589 - Use templated JNI classes in generated bindings; r=snorp 2015-01-09 19:33:57 -05:00
James Willcox
16dc163af8 bug 1118552 - fix gcc4.9 warnings on Android r=glandium 2015-01-06 22:20:46 -05:00
Botond Ballo
912ac2fc93 Bug 1073003 - Remove an unused function in Nuwa.cpp. r=glandium
--HG--
extra : rebase_source : 96fa8ccbeab6c2046c9ca522307a82fe93b04327
2014-12-23 03:21:39 -05:00
Botond Ballo
b3191db47e Bug 1073003 - Fix -Wunused-variable in Nuwa.cpp. r=glandium
--HG--
extra : rebase_source : 6d902895f5e2d08be939213c414e763968d64547
2014-12-23 03:21:24 -05:00
Chris Peterson
50740301f2 Bug 1110031 - Part 2: Mark some directories as FAIL_ON_WARNINGS for some compilers. r=gps 2014-12-10 22:46:01 -08:00
Chris Peterson
c582a636ed Bug 1110031 - Part 1: Mark more directories as FAIL_ON_WARNINGS. r=gps 2014-12-10 22:56:31 -08:00
Kai-Zhen Li
bc6f254ba7 Bug 1103827 - Remove __pthread_cond_timedwait. r=cyu 2014-12-12 16:12:21 +08:00
Kai-Zhen Li
c61e014e79 Bug 1104649 - Always cast the string for putenv. r=glandium 2014-11-26 20:26:56 +08:00
Eugen Sawin
8c1910db20 Bug 1101583 - Remove unused variables. r=glandium 2014-11-19 17:17:28 +01:00
Mike Hommey
b8f61ba195 Bug 1101070 - Add missing OSX build flag for the new replace-malloc symbol. r=njn,r=khuey
Bug 818922 added a new replace-malloc symbol that the OSX linker tricks need
to know about.
2014-11-19 09:46:47 +09:00
Cervantes Yu
66f8cbe724 Bug 1091533, Part 2: Implement NuwaAddThreadConstructor() to allow a thread to perform a custom action after being recreated in the content process. r=khuey,tlee 2014-11-06 19:34:03 +08:00
Cervantes Yu
4199f3e652 Bug 1091533, Part 1: Don't wrap tgkill() on the Nuwa process. r=BenWa 2014-11-06 19:10:52 +08:00
Chris Pearce
a9c8867440 Bug 1088488 - Add GMPLoader interface to encapsulate loading GMPs, pass that to XRE_InitChildProcess. r=jesup,r=bsmedberg,r=glandium 2014-11-14 21:26:24 +13:00
Nick Alexander
4b1bd40609 Bug 976699 - Place architecture specific assets in assets/$(ANDROID_CPU_ARCH). r=glandium 2014-11-03 20:04:20 -08:00
Mike Hommey
d667f4bb59 Bug 1077148 part 4 - Add and use new moz.build templates for Gecko programs and libraries. r=gps
There are, sadly, many combinations of linkage in use throughout the tree.
The main differentiator, though, is between program/libraries related to
Gecko or not. Kind of. Some need mozglue, some don't. Some need dependent
linkage, some standalone.

Anyways, these new templates remove the need to manually define the
right dependencies against xpcomglue, nspr, mozalloc and mozglue
in most cases.

Places that build programs and were resetting MOZ_GLUE_PROGRAM_LDFLAGS
or that build libraries and were resetting MOZ_GLUE_LDFLAGS can now
just not use those Gecko-specific templates.
2014-10-30 13:06:12 +09:00
Mike Hommey
2a17803c46 Bug 1077148 part 1 - Define mozcrt in moz.build. r=gps
--HG--
rename : mozglue/build/Makefile.in => mozglue/crt/Makefile.in
rename : mozglue/build/fixcrt.py => mozglue/crt/fixcrt.py
2014-10-30 13:05:50 +09:00
Mike Hommey
5dde0c5b95 Bug 1090668 - Use elf.h instead of linux/elf.h when building with android API version >= 21. r=nfroyd 2014-10-29 13:37:00 +09:00
Mike Hommey
5322ac6bc5 Bug 1059797 - Pre-allocate zlib inflate buffers in faulty.lib. r=froydnj
Original patch from James Willcox <snorp@snorp.net>
2014-10-28 16:45:17 +09:00
Mike Hommey
a567ba99f8 Bug 1083686 - Tool to capture and reproduce Firefox's memory allocations. r=njn,r=mshal
--HG--
rename : mozglue/build/Makefile.in => mozglue/build/replace_malloc.mk
2014-10-24 13:08:01 +09:00
Mike Hommey
a6593e4218 Bug 1082524 - Do not deref null pointers in link_map. r=nfroyd 2014-10-18 09:27:55 +09:00
Mike Hommey
7ec4ce1032 Fixup for bug 1081034 - Add missing #ifdef to avoid build failure on desktop linux. r=me,npotb,DONTBUILD 2014-10-17 14:09:17 +09:00
Mike Hommey
3bdc381f46 bug 1081034 part 4 - Remove wrapping for weak libc symbols. r=nfroyd
This effectively backs out bug 791419, a part of bug 850332, and bug 1001703.
2014-10-16 09:20:16 +09:00
Mike Hommey
0aa2b6cf3c Bug 1081034 part 3 - Resolve libc symbols with our linker. r=nfroyd
This allows to resolve weak symbols from some Android device's libc that
dlsym() won't. This is effectively an alternative fix to bug 791419, without
requiring wrapping symbols.
2014-10-16 09:20:14 +09:00
Mike Hommey
49c12e0023 Bug 1081034 part 2 - Move initialization of self_elf to its own separate class. r=nfroyd
The new class is kind of like SystemElf, but using our linker's own symbol
resolution. This also adds some initialization from ELF program headers that
weren't done previously for self_elf, as well as registration as for CustomElf
instances.
2014-10-16 09:20:06 +09:00
Mike Hommey
1267fa50ff Bug 1081034 part 1 - Move GetSymbolPtr, Contains and FindExidx from CustomElf to BaseElf. r=nfroyd 2014-10-16 09:19:46 +09:00
Mike Hommey
f1252281fe Bug 1078837 part 2 - Replace IsSystemElf/reinterpret_cast dance with better API. r=nfroyd 2014-10-16 09:19:45 +09:00
Mike Hommey
3118289632 Bug 1078837 part 1 - Move CustomElf::mappable to BaseElf. r=nfroyd 2014-10-16 09:19:45 +09:00
Mike Hommey
2a32154b74 Bug 1083020 - Add a (dummy) stats method to all LibHandles. r=nfroyd
While here, avoid doing anything if debug logging is disabled.
2014-10-16 09:19:40 +09:00
Mike Hommey
296a10bc98 Bug 1082524 - Initialize link_map. r=nfroyd
When a library fails to load with CustomElf before it's registered, the
unregistration that does happen in CustomElf's destructor uses link_map,
so it needs to be initialized.
2014-10-15 14:46:09 +09:00
Mike Hommey
a1c71319c9 Bug 1080342 - Change how the symbols the flash plugin uses are hooked on Android. r=snorp
With bug 1077366, the linker makes the library containing it a fake
LD_PRELOAD. As a consequence, instead of, in the linker itself,
explicitely special-casing the symbols that disappeared in Android 4.4
that the flash plugin uses, it is now possible to use normal symbol
resolution to stubs defined separately in libmozglue.
2014-10-14 07:18:01 +09:00
Mike Hommey
b08088c7c1 Bug 1077366 - Remove most symbol wrapping from Android builds. r=nfroyd
Since essentially everything is linked to libmozglue and libmozglue takes
precedence in symbol resolution in our dynamic linker, there is no need
to wrap most symbols. PR_GetEnv/PR_SetEnv still needs wrapping because
there's no other way to actually wrap the calls from NSPR itself and NSS,
as well as the symbols wrapped because our dynamic linker can't find them
in system libraries on some devices because they're weak.
2014-10-14 07:17:13 +09:00
Mike Hommey
c1730d5281 Bug 1077384 - Make libmozglue a pseudo-LD_PRELOAD on android. r=nfroyd
In order to avoid adding more dlsym overhead than there already is, resolve
symbols directly in the library containing the linker. (GetSymbolPtr is
essentially free ; dlsym makes the system linker compule a ElfHash itself,
and that's quite expensive to do on all symbols)

This also paves the way for direct symbol resolution in all system libraries.
2014-10-07 07:42:18 +09:00
Mike Hommey
0a5d532c0f Bug 1077135 - Ensure logging initialization for early log messages in the linker. r=nfroyd 2014-10-04 10:31:49 +09:00
Mike Hommey
7eef0ed2ac Bug 1077135 - Initialize ElfLoader::DebuggerHelper::firstAdded. r=nfroyd 2014-10-04 10:31:38 +09:00
Jim Chen
0060658fc5 Bug 888482 - Send event to set layer client; r=snorp 2014-09-30 18:20:58 -04:00
Ryan VanderMeulen
79910dd5bf Merge m-c to inbound. a=merge
CLOSED TREE
2014-09-24 16:08:33 -04:00
Jim Chen
c665929ae2 Bug 1066760 - Redirect mozalloc_abort through Java exception handling; r=snorp 2014-09-24 14:12:54 -04:00
Jim Chen
2253ecc621 Bug 1066760 - Add base address and fall back to system dladdr in __wrap_dladdr; r=froydnj 2014-09-24 14:12:54 -04:00