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
Michael Comella
0b2c30bc40
Bug 915312 - Followup: Replace NULL with nullptr. r=glandium
2014-09-23 13:47:35 -07:00
David Major
dd046c050e
Bug 1046382 - Blocklist dtwxsvc.dll. r=bsmedberg
...
--HG--
extra : rebase_source : 007867f3df7090bf67dcadeeac6f4ec422e16ac5
2014-09-18 14:27:11 +12:00
Jim Chen
dffe40277e
Bug 1063120 - Add synchronous method to notify Gecko observer; r=snorp
2014-09-11 18:31:32 -04:00
Mike Hommey
a653121671
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
6258dd8523
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
fc99c53ae5
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
4704c6b1da
Bug 1056941 - Remove extract libs parameter; r=glandium
2014-08-26 15:08:00 -04:00
Bill McCloskey
6b7be2d5f6
Bug 1045847 - Initialize sProcessType really, really early (r=khuey)
2014-08-08 17:52:12 -07:00
Kartikaya Gupta
3e2507009f
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
6a8c4a4b31
Bug 1049136 - Hook up touch event handling for apz-fennec. r=wesj,snorp
2014-08-08 18:15:37 -04:00
Kartikaya Gupta
1eb1f9970b
Bug 1046344 - Unbitrot and rearrange the old APZ glue code in Fennec. r=snorp
2014-08-08 17:42:20 -04:00
Mike Hommey
0f4c5d9244
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
206ea469fa
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
21f643ea4a
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
c9d509aafc
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
ec54bf6c1f
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
28ba98c122
Merge mozilla-central and b2g-inbound
2014-08-05 16:33:22 +01:00
Mike Hommey
4fb678a58c
Backout changeset 34235900c3a0 (bug 1036286) because it wasn't the right fix.
2014-08-05 16:07:06 +09:00
Ting-Yu Chou
8cabe66818
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
2b7789a643
Merge latest green inbound changeset and mozilla-central; a=merge
2014-08-01 16:11:12 +01:00
Wes Kocher
01b38e09aa
Backed out changeset f73cd738c1fe (bug 1038854) a=backout
2014-07-31 15:04:49 -07:00
Ehsan Akhgari
8a89df52af
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
cb194e9b0d
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
1e79fe55c2
Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps
2014-07-29 08:55:55 +09:00
Mike Hommey
dbad84b131
Bug 1043344 - Move libraries and programs build to the compile tier. r=gps
2014-07-25 07:14:40 +09:00
Mike Hommey
d50b3c6e67
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
bcc8197b70
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
95e40852cb
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
71623acdd6
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
e5c43ef995
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
90e434e1ca
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
31cd528278
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
8ea1b7923f
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
e65619e81d
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
03e36c69cd
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
d8fadb8326
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
262886ab0c
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)
942764c5d4
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
36b77185fa
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
ec8396a564
Bug 1016240 - Exterminate CR+LF line endings. r=briansmith,cpearce,ehsan,gavin
2014-06-18 17:56:02 -07:00
Mike Hommey
e87f44a618
Bug 1024248 - Properly tag linker error/warnings in logcat. r=nfroyd
2014-06-13 08:45:58 +09:00
Patrick Wang (Chih-Kai Wang)
8ea8314683
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
c5ae95c1bf
Bug 992357 - b. Add array support stubs; r=blassey
2014-05-16 18:25:29 -04:00
Jim Chen
270a97c29f
Bug 992359 - b. Add skeletal NativeJSObject.toBundle; r=blassey
2014-05-12 12:50:46 -04:00
Jacek Caban
a61a0617b4
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
e20edcb656
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
949537330f
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
c809e48890
Bug 1002748: Blocklist libinject.dll. r=bsmedberg
...
--HG--
extra : rebase_source : 09e8355ea54c81d8e82b7a01a6ccabf212fa814f
2014-05-07 09:59:20 +12:00
Ehsan Akhgari
9f53091c9b
Bug 1004564 - Move AtomicRefCounted to mozilla::external and outlaw it in Gecko code; r=froydnj
2014-05-01 14:33:20 -04:00
David Major
29a785c2f6
Bug 973138: Block DLLs that match the MovieMode pattern. r=bsmedberg
2014-04-15 11:40:42 +12:00
Wes Kocher
58c95fbbad
Merge m-c to b2g-inbound
2014-04-28 16:26:34 -07:00
Mike Hommey
32a335e0ef
Bug 1001703 - Remove memswap wrapping. r=snorp
2014-04-29 04:12:27 +09:00
James Willcox
f0ff167752
Bug 966154 - Don't use __fork, it's gone in newer bionic r=glandium
...
--HG--
extra : rebase_source : d9658b67bae73031b2a8212764a33bff8f0e3bb7
2014-04-28 10:21:22 -05:00
Gabriele Svelto
aefac143df
Bug 982569 - Don't hard-code the page size. r=khuey
2014-04-21 19:32:48 +02:00
David Major
458b64738b
Bug 970362 - Block F-Secure on Windows XP. r=bsmedberg
2014-04-13 14:18:03 -04:00
Jim Chen
08b3ed07e3
Bug 984458 - f. Add NativeJSObject opt getters; r=blassey
2014-04-01 15:16:56 -04:00
Jim Chen
7e177c1c5f
Bug 984458 - e. Add NativeJSObject object getter; r=blassey
2014-04-01 15:16:55 -04:00
Jim Chen
825979accf
Bug 984458 - d. Add NativeJSObject property getters; r=blassey
2014-04-01 15:16:55 -04:00
Jim Chen
9d87ae6802
Bug 984458 - c. Add skeletal NativeJSObject implementation; r=blassey
2014-04-01 15:16:54 -04:00
Jim Chen
31867cebc4
Bug 984458 - b. Add threading support to NativeJSContainer; r=blassey
2014-04-01 15:16:53 -04:00
Jim Chen
1e7149f865
Bug 984458 - a. Add NativeJSContainer implementation; r=blassey
2014-04-01 15:16:52 -04:00
Nathan Froyd
37e08e5564
Bug 988499 - terminate #warning string in Nuwa.cpp; r=khuey; f=tzimmerman DONTBUILD because #warnings don't need build and tests
2014-03-24 13:35:43 -04:00
Douglas Crosher
a2f5f71531
Bug 944612 - Guard the ElfLoader sigaction wrapper against the SIGSEGV handler not being installed. r=glandium
2014-03-20 12:35:15 +11:00
Thomas Zimmermann
2e54989c3f
Bug 979913: Remove unused variables, r=khuey
2014-03-14 11:23:51 +01:00
Thomas Zimmermann
a0988f8236
Bug 979913: Conditionally define PAGE_SIZE, r=khuey
...
With this patch the PAGE_SIZE value from the system is used if
possible. If page size is not defined by the system, it is set
to 4096 bytes and a warning is emitted. PAGE_ALIGN_MASK is now
derived from PAGE_SIZE. With these changes, the code should be
more robust on systems with non-4KiB page size.
2014-03-14 11:23:51 +01:00
Thomas Zimmermann
cdefdfab38
Bug 979913: Fix GCC warning about undeclared function |snprintf|, r=khuey
2014-03-14 11:23:50 +01:00
Carsten "Tomcat" Book
4200d96499
Backed out changeset b2e50a5b5eb3 (bug 979913) on request for pushing wrong version of the patch on a CLOSED TREE
2014-03-14 09:40:38 +01:00
Carsten "Tomcat" Book
3ca71cec02
Backed out changeset 3e9182f7e25d (bug 979913)
2014-03-14 09:39:35 +01:00
Carsten "Tomcat" Book
4c28d837f5
Backed out changeset 79ee6fda8e65 (bug 979913)
2014-03-14 09:39:26 +01:00
Thomas Zimmermann
a9a47ad811
Bug 979913: Remove unused variables, r=khuey
2014-03-14 09:24:05 +01:00
Thomas Zimmermann
31829d16a1
Bug 979913: Conditionally define PAGE_SIZE, r=khuey
...
With this patch the PAGE_SIZE value from the system is used if
possible. The code still assumes that the PAGE_SIZE is 4096, but
emits a warning if the actual value differs. If page size is not
defined by the system, it is set to 4096 bytes and a warning is
emitted as well.
2014-03-14 09:24:04 +01:00
Thomas Zimmermann
254dc9b19d
Bug 979913: Fix GCC warning about undeclared function |snprintf|, r=khuey
2014-03-14 09:24:04 +01:00
Jed Davis
f8d175ce14
Bug 977859 - Drop uid 0 in all content processes immediately after fork. r=bent r=kang
...
Now all regular child processes, including preallocated, are deprivileged.
Only Nuwa needs uid 0, because each of its children has a different uid/gid.
2014-03-12 15:48:15 -07:00
Cervantes Yu
36d74024ca
Bug 979741 - Use MOZ_DEBUG_CHILD_PROCESS environment variable for processes forked from Nuwa. r=khuey
2014-03-05 20:43:06 +08:00
Michael Comella
e2a9e2ac3b
Bug 915312 - Part 2: Build native crypto into mozglue. r=glandium,kats,rnewman
2014-03-06 12:10:54 -08:00
Michael Comella
f72d7bc1cb
Bug 915312 - Part 1: Import sha files. r=rnewman
2014-03-06 12:10:54 -08:00