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