Commit Graph

523 Commits

Author SHA1 Message Date
Cervantes Yu
0316846a2e Bug 1119157: Fix false over-recursion in web worker threads by cleaning up thread info in the processes forked from Nuwa. a=asuth 2015-02-17 16:25:24 +08:00
James Willcox
64e282f344 Bug 1127464 - Assert when we unexpectedly unload libraries on Android r=glandium 2015-03-09 08:33:22 -05:00
Mike Hommey
2a65448fd6 Bug 1139036 - Bind all symbols from libmozglue.dylib when it is loaded. r=ted 2015-03-04 21:15:08 +09:00
David Major
d559c2242b Bug 1132663 - Part 2: Block rndlnpshimswf.dll and rndlmainbrowserrecordplugin.dll. r=bsmedberg 2015-02-18 14:12:41 +13:00
Mike Hommey
fa5908f9b0 Fixup bug 1121269 for b2g bustage on a CLOSED TREE. r=me 2015-02-11 11:30:58 +09:00
Mike Hommey
604d5f8d8c Bug 1129244 - [Nuwa] wrap pthread_mutex_trylock. r=thinker 2015-02-11 10:21:04 +09:00
Mike Hommey
92c6b5db2d Bug 1121269 - Remove TLS keys from bookkeeping in non-Nuwa processes too. r=thinker 2015-02-11 10:21:04 +09:00
Mike Hommey
e556ca8eeb 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
fe917e8ec3 Bug 1059797 - Really share the same zlib inflate buffers for SeekableZStream chunks. r=nfroyd 2015-02-11 10:21:02 +09:00
James Willcox
0e11680bbd Bug 1108709 - Don't chdir on Android r=glandium 2015-02-02 17:49:44 -06:00
David Major
768c60dd40 Bug 1123778 - Block Lenovo Onekey Theater DLLs. r=bsmedberg 2015-01-21 18:52:00 -05:00
Mike Hommey
dac0d3a532 Bug 1120272 - Expose _aligned_alloc and _aligned_free from mozglue. r=njn 2015-01-20 13:10:00 +09:00
Masatoshi Kimura
40a556102e Bug 1120062 - Part 1: Remove most Nullptr.h includes. r=waldo 2015-01-11 11:34:52 +09:00
Jim Chen
67f8ab8931 Bug 1116589 - Use templated JNI classes in generated bindings; r=snorp 2015-01-09 19:33:57 -05:00
James Willcox
1241cd7cc4 bug 1118552 - fix gcc4.9 warnings on Android r=glandium 2015-01-06 22:20:46 -05:00
Botond Ballo
c573bede73 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
686c0ced04 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
77809be56b 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
e56f788c56 Bug 1110031 - Part 1: Mark more directories as FAIL_ON_WARNINGS. r=gps 2014-12-10 22:56:31 -08:00
Kai-Zhen Li
6a07e31ef6 Bug 1103827 - Remove __pthread_cond_timedwait. r=cyu 2014-12-12 16:12:21 +08:00
Kai-Zhen Li
07fe607139 Bug 1104649 - Always cast the string for putenv. r=glandium 2014-11-26 20:26:56 +08:00
Eugen Sawin
1e5b4f46ba Bug 1101583 - Remove unused variables. r=glandium 2014-11-19 17:17:28 +01:00
Mike Hommey
e945567397 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
d8b05df057 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
9b723812ad Bug 1091533, Part 1: Don't wrap tgkill() on the Nuwa process. r=BenWa 2014-11-06 19:10:52 +08:00
Chris Pearce
c8decd7131 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
f57df069d5 Bug 976699 - Place architecture specific assets in assets/$(ANDROID_CPU_ARCH). r=glandium 2014-11-03 20:04:20 -08:00
Mike Hommey
21ec48314e 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
c5ba34275a 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
98a1c77f54 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
8e39742226 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
f892df624f 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
53075879ab Bug 1082524 - Do not deref null pointers in link_map. r=nfroyd 2014-10-18 09:27:55 +09:00
Mike Hommey
58495f89bc 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
3234728290 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
e784c87c0d 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
8751066e3e 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
c745a94ef5 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
435321ece7 Bug 1078837 part 2 - Replace IsSystemElf/reinterpret_cast dance with better API. r=nfroyd 2014-10-16 09:19:45 +09:00
Mike Hommey
8de967c33a Bug 1078837 part 1 - Move CustomElf::mappable to BaseElf. r=nfroyd 2014-10-16 09:19:45 +09:00
Mike Hommey
80e38b22b7 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
32cc4d97f4 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
ff95910448 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
bf80a113ab 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
9e7e4fb6e1 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
e1da4c973b Bug 1077135 - Ensure logging initialization for early log messages in the linker. r=nfroyd 2014-10-04 10:31:49 +09:00
Mike Hommey
e3a6a0b557 Bug 1077135 - Initialize ElfLoader::DebuggerHelper::firstAdded. r=nfroyd 2014-10-04 10:31:38 +09:00
Jim Chen
df3c7f4bd1 Bug 888482 - Send event to set layer client; r=snorp 2014-09-30 18:20:58 -04:00
Ryan VanderMeulen
72911fffa8 Merge m-c to inbound. a=merge
CLOSED TREE
2014-09-24 16:08:33 -04:00
Jim Chen
595110b463 Bug 1066760 - Redirect mozalloc_abort through Java exception handling; r=snorp 2014-09-24 14:12:54 -04:00
Jim Chen
0c9d262657 Bug 1066760 - Add base address and fall back to system dladdr in __wrap_dladdr; r=froydnj 2014-09-24 14:12:54 -04:00
Michael Comella
77eaa1fb0f Bug 915312 - Followup: Replace NULL with nullptr. r=glandium 2014-09-23 13:47:35 -07:00
David Major
24a3af6c93 Bug 1046382 - Blocklist dtwxsvc.dll. r=bsmedberg
--HG--
extra : rebase_source : 007867f3df7090bf67dcadeeac6f4ec422e16ac5
2014-09-18 14:27:11 +12:00
Jim Chen
0bdfa69d46 Bug 1063120 - Add synchronous method to notify Gecko observer; r=snorp 2014-09-11 18:31:32 -04:00
Mike Hommey
92deb5899a Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Also force to use the existing template for XPCOM components.
2014-09-04 09:04:45 +09:00
Mike Hommey
c2a27deef9 Bug 1059090 - Don't require SOURCES to be set for CPP_UNIT_TESTS and SIMPLE_PROGRAMS. r=mshal 2014-09-03 14:16:37 +09:00
Mike Hommey
8fd95ad480 Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps 2014-09-03 14:10:54 +09:00
Jim Chen
24a29bbf39 Bug 1056941 - Remove extract libs parameter; r=glandium 2014-08-26 15:08:00 -04:00
Bill McCloskey
586f04d680 Bug 1045847 - Initialize sProcessType really, really early (r=khuey) 2014-08-08 17:52:12 -07:00
Kartikaya Gupta
0e584b53c4 Bug 1049136 - Add native-code awareness of the Java UI thread so we can do thread assertions. r=snorp 2014-08-08 18:15:38 -04:00
Kartikaya Gupta
0a4d217810 Bug 1049136 - Hook up touch event handling for apz-fennec. r=wesj,snorp 2014-08-08 18:15:37 -04:00
Kartikaya Gupta
65f27f483e Bug 1046344 - Unbitrot and rearrange the old APZ glue code in Fennec. r=snorp 2014-08-08 17:42:20 -04:00
Mike Hommey
cbe32e4bb3 Bug 1047267 - Move remaining OS_LIBS and EXTRA_LIBS to moz.build. r=gps
* * *
Bug 1047267 - To fold with "Move remaining OS_LIBS and EXTRA_LIBS to moz.build"
2014-08-07 14:21:03 +09:00
Mike Hommey
bfdcce0924 Bug 1036286 - Ensure faulty.lib diverts libc's sigaction instead of a LD_PRELOADed one. r=nfroyd
and force-send calls to sigaction from faulty.lib-loaded libraries to the libc.
2014-08-07 02:51:20 +09:00
Mike Hommey
d0f9d622ae Bug 1036286 - Delay registration of the faulty.lib signal handler until when it's necessary. r=nfroyd
It's necessary to delay it because for the second part, we need to call dlopen,
and until recently bionic's linker dead-locked when using dlopen from a static
initializer.
2014-08-07 02:51:03 +09:00
Mike Hommey
3e3afccd68 Bug 1045783 - Move HOST_EXTRA_LIBS to moz.build as HOST_OS_LIBS. r=mshal 2014-08-06 07:26:05 +09:00
Mike Hommey
1cb5547cd1 Bug 1045783 - Move most OS_LIBS to moz.build and do some related cleanup. r=mshal 2014-08-06 07:25:33 +09:00
Ed Morley
fe9305e206 Merge mozilla-central and b2g-inbound 2014-08-05 16:33:22 +01:00
Mike Hommey
6cbad3be12 Backout changeset 34235900c3a0 (bug 1036286) because it wasn't the right fix. 2014-08-05 16:07:06 +09:00
Ting-Yu Chou
58b9ae445f Bug 1038854 - Synchronize mutexes in pthread_cond_wait after recreating threads to avoid race conditions. Parts by Ting-Yu, r=khuey. Parts by Kyle Huey, r=thinker 2014-07-31 10:47:30 +08:00
Ed Morley
ecdb2010c2 Merge latest green inbound changeset and mozilla-central; a=merge 2014-08-01 16:11:12 +01:00
Wes Kocher
131745140f Backed out changeset f73cd738c1fe (bug 1038854) a=backout 2014-07-31 15:04:49 -07:00
Ehsan Akhgari
5d175484bf Bug 1042414 - Make mozglue.def depend on GLOBAL_DEPS; r=glandium
--HG--
extra : rebase_source : 6dbd6aa6ea9e697c037fa33e0638abbaa92ca08a
2014-07-31 20:30:30 -04:00
Ting-Yu Chou
a276bbdb71 Bug 1038854 - Avoid making unlocked mutex to locked uncontended after recreating threads from pthread condition wait wrappers. r=khuey 2014-07-31 10:47:30 +08:00
Mike Hommey
42f57b6138 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Mike Hommey
2a08f131e0 Bug 1043344 - Move libraries and programs build to the compile tier. r=gps 2014-07-25 07:14:40 +09:00
Mike Hommey
544a87499f Bug 1043351 - Build ShowSSEConfig as a C++ unit test after it was forgotten in bug 894941 and move linker tests to avoid conflicts. r=mshal
--HG--
rename : mozglue/tests/Makefile.in => mozglue/linker/tests/Makefile.in
rename : mozglue/tests/TestZip.cpp => mozglue/linker/tests/TestZip.cpp
rename : mozglue/tests/moz.build => mozglue/linker/tests/moz.build
rename : mozglue/tests/no_central_dir.zip => mozglue/linker/tests/no_central_dir.zip
rename : mozglue/tests/test.zip => mozglue/linker/tests/test.zip
2014-07-25 07:14:21 +09:00
Jeff Walden
6cfb85995e Bug 1037100 - Remove all use of ScopedDeleteArray from mozglue/. r=glandium
--HG--
extra : rebase_source : dbc49be874fd57130f33584892589c180c7d1128
2014-07-21 18:14:11 -04:00
Mike Hommey
4fa70124f4 Bug 1036286 - Make sure libraries loaded by faulty.lib use its own sigaction. r=nfroyd
Android L added a libsigchain library it LD_PRELOADs. That library exposes
a different sigaction than libc's. It's used for ART.

faulty.lib gets its sigaction from libsigchain, but after bug 874708, the
libraries it loads simply use libc's sigaction, assuming it would be the
hooked one. In turn, this means libraries loaded by faulty.lib may
override faulty.lib's handler, which is definitely not the intent.

This essentially restores some of the code that bug 874708 removed.

An alternative fix would be to add support for LD_PRELOAD, but that has more
implications and feels more risky. This could be done, if necessary, as a
followup.
2014-07-24 13:43:56 +09:00
Mike Hommey
171507509c Bug 1036894 part 9 - Replace all EXTRA_DSO_LDOPTS, SHARED_LIBRARY_LIBS and LIBS with EXTRA_LIBS, OS_LIBS or OS_LDFLAGS, appropriately. r=gps
OS_LIBS for libraries that are not part of the gecko tree, EXTRA_LIBS for
libraries, such as NSPR, that are in the tree, but are not handled by
moz.build just yet. Those EXTRA_LIBS may also come from a system library.
However, in cases where the expanded variables are always empty for the
in-tree case, OS_LIBS is used (as for, e.g. MOZ_ZLIB_LIBS). OS_LDFLAGS is
used exclusively for non-library linker flags.

Always pass EXTRA_LIBS before OS_LIBS on linker command lines.

Forbid EXTRA_DSO_LDOPTS, SHARED_LIBRARY_LIBS and LIBS in Makefiles.
2014-07-23 13:31:02 +09:00
Mike Hommey
5659a611dd Bug 1036894 part 8 - Move most in-tree library linkage information to moz.build, as USE_LIBS. r=gps 2014-07-23 13:30:52 +09:00
Mike Hommey
5c09d7ae19 Bug 1036894 part 7 - Move HOST_LIBS to moz.build, as HOST_USE_LIBS. r=gps 2014-07-23 13:29:50 +09:00
Mike Hommey
bc97b68005 Bug 1036894 part 1 - Move MAKE_FRAMEWORK, SDK_LIBRARY, SHARED_LIBRARY_NAME and STATIC_LIBRARY_NAME to moz.build. r=gps
At the same time, make the Library data more useful in the build frontend.
2014-07-23 13:29:09 +09:00
Nicholas Nethercote
ab815d0c3b Bug 1036789 - Convert the third quarter of MFBT to Gecko style. r=Ms2ger.
--HG--
extra : rebase_source : 668cd394806203ddfa34bd4f226335ff26c846b5
2014-07-10 19:10:17 -07:00
Ehsan Akhgari
777f5daec1 Bug 1036235 - Do not use __asan_default_options with clang-cl because it is not supported yet; r=decoder 2014-07-09 15:16:55 -04:00
Jeff Walden
d17e05914e Bug 953296 - Convert trivial ScopedDelete{Ptr,Array} uses to UniquePtr in mozglue/linker/. (More remain, but they're less trivial to change.) r=glandium
--HG--
extra : rebase_source : 7af7ff2daa70ff3aedaac91d3898bcd90a402162
2013-12-30 13:34:54 -06:00
Benoit Jacob
9f5549e2d3 Bug 1008254 - Allow Nuwa's global sAllThreads list to be non-empty on exit, to green a near-permanent orange on B2G mochitest-9 - r=khuey 2014-07-02 16:40:29 -04:00
David Major
670972a08a Bug 1023239 - Block crashy builds of V-Bates. r=bsmedberg
--HG--
extra : rebase_source : 5b0d32f84ddcea375736777270f99af4e63a0513
2014-07-01 09:33:43 +12:00
Patrick Wang (Chih-Kai Wang)
b2f5d9c01e Bug 1026864: prevent malloc from calling wrapped pthread_mutex_lock and get rid of LibcAllocator. r=cyu,r=glandium,r=khuey 2014-06-25 10:44:58 +08:00
Jed Davis
d580b2275f Bug 1024805 - Use TaggedAnonymousMemory for Nuwa thread stacks. r=khuey
Bonus fixes: make the guard page PROT_NONE instead of PROT_READ,
and correct the stack bounds passed to pthread_attr_setstack.
2014-06-18 17:41:00 +02:00
Birunthan Mohanathas
c910458886 Bug 1016240 - Exterminate CR+LF line endings. r=briansmith,cpearce,ehsan,gavin 2014-06-18 17:56:02 -07:00
Mike Hommey
b75f0f40ef Bug 1024248 - Properly tag linker error/warnings in logcat. r=nfroyd 2014-06-13 08:45:58 +09:00
Patrick Wang (Chih-Kai Wang)
fdae8a7b61 Bug 999323: use an extra thread to free stack of a exit thread in Nuwa. r=cyu,r=khuey 2014-06-10 16:02:45 +08:00
Jim Chen
3ea233cd44 Bug 992357 - b. Add array support stubs; r=blassey 2014-05-16 18:25:29 -04:00
Jim Chen
b415d0cc0f Bug 992359 - b. Add skeletal NativeJSObject.toBundle; r=blassey 2014-05-12 12:50:46 -04:00
Jacek Caban
5c0b1985e0 Bug 973138 - Fixed goto crossing variable declaration (fixes GCC compilation).
--HG--
extra : rebase_source : 8b488731cb06cab3fc1e74e66f88046583e95fc2
2014-05-12 11:01:53 +02:00
David Major
b4d5ee3b96 Bug 988311: Blocklist rf-firefox-22.dll. r=bsmedberg
--HG--
extra : rebase_source : 2729d41ff87bb92220e667ec43ad8f4a0273e1b7
2014-05-08 10:18:17 +12:00
Robert O'Callahan
4c2b59d379 Bug 1006248. Part 1: Add MOZ_EXPORT in various places. r=glandium
--HG--
extra : rebase_source : cfe209a412cae28d405eae413415cebb6959072a
2014-05-06 17:26:46 +12:00
David Major
0654bbf547 Bug 1002748: Blocklist libinject.dll. r=bsmedberg
--HG--
extra : rebase_source : 09e8355ea54c81d8e82b7a01a6ccabf212fa814f
2014-05-07 09:59:20 +12:00
Ehsan Akhgari
ef0b7d19aa Bug 1004564 - Move AtomicRefCounted to mozilla::external and outlaw it in Gecko code; r=froydnj 2014-05-01 14:33:20 -04:00