Commit Graph

314 Commits

Author SHA1 Message Date
Chris Manchester
1877e49bc4 Bug 1411712 - Move symbol version script flags for arm in mozglue to moz.build. r=mshal
MozReview-Commit-ID: II250cfTmip

--HG--
extra : rebase_source : 70a8764e3bb646c54005fb25dc4343fdc201bade
2017-11-02 11:47:48 -07:00
Chris Manchester
f8a3e49e93 Bug 1411712 - Make a new variable for LDFLAGS to be set by Makefile.in that aren't intended to be handled by other backends. r=mshal
These flags are only relevant on OS X, and will not be necessary soon, so this
commit moves them to a separate variable while we move the remainder of the
ldflags to mozbuild.

MozReview-Commit-ID: 1NDgz3HIYpT

--HG--
extra : rebase_source : 6e9b5f5a5be5ff916db89a0b73896b9058eb040e
2017-11-02 11:47:47 -07:00
Marco Castelluccio
1c0b2d34a1 Bug 1385542 - Blocklist pghook.dll as it causes crashes. r=jimm
--HG--
extra : rebase_source : e0a8b869388d5772697bf31e900b691534b93e63
2017-10-21 01:15:58 +01:00
Marco Castelluccio
9264f7616b Bug 1407337 - Block OpenSC < 0.16.0.0. r=jimm
--HG--
extra : rebase_source : 6f2f1d3f7e3219e4d78b36fef92613fb23b77218
extra : histedit_source : fbe1d04b2577caeb7380c505ed53047435194159
2017-10-11 11:45:44 +01:00
Bob Owen
75a8563510 Bug 1410073: Load user32.dll immediately after the DLL Blocklist is in place. r=aklotz
This is to reduce the chance of it being loaded on an injected thread.
2017-10-19 20:49:44 +01:00
Bob Owen
25f5a8b221 Bug 1372823 Part 5: Extend BaseThreadInitThunk thread start address verification to 64-bit. r=dmajor 2017-09-21 09:31:07 +01:00
Marco Castelluccio
0bdfded31a Bug 1360029 - Block Nahimic DLLs affected by a bug which causes Firefox to crash. r=jimm
--HG--
extra : rebase_source : 9d35825a8ce1ecb43f72b95ac7b27c33a834521f
2017-10-12 15:08:04 +01:00
Mike Hommey
9f2dd4775e Bug 1407468 - Replace multiple !JS_STANDALONE with MOZ_WIDGET_TOOLKIT. r=mshal
--HG--
extra : rebase_source : 4f9f9f583c3422ed0f8d1d65ea8e7575bd9baf2c
2017-10-05 14:50:01 +09:00
Sebastian Hengst
15ce5cb2db Backed out changeset 4dab43248f15 (bug 1372823) for crashing GTest on Windows 10 x64 debug. r=backout
MozReview-Commit-ID: 1u7TFtv6Mdv
2017-09-21 17:27:32 +02:00
Bob Owen
6e55dc3260 Bug 1372823: Extend BaseThreadInitThunk thread start address verification to 64-bit. r=dmajor 2017-09-21 09:31:07 +01:00
Mike Hommey
25eda66c1a Bug 1401116 - Remove jemalloc symbols from mozglue.def.in. r=njn
As long as symbols have the right declspec, the linker is going to
export them as expected. The main exception to when we actually need the
exported symbol to have a different name, which is the case for the
symbols normally exported by the CRT. So keep only those renamed symbols
in mozglue.def.in.

Keeping the jemalloc symbols in this file kind of implies that we need
every new API entry points to appear in there when it's not true. This
thus removes an unnecessary moving part when adding new allocator API
entry points.

--HG--
extra : rebase_source : 76faa659d62d46f3624fe3f1df0c09beb68e3549
2017-09-19 16:06:29 +09:00
Mike Hommey
2cb309a670 Bug 1401118 - Avoid having to modify replace-malloc.mk every time we add an allocator API entry point. r=froydnj
For obscure linkage reasons, we need all the replace-malloc symbols
being passed to the linker to tell it to allow them being undefined.

That list actually duplicates what's in malloc_decls.h somehow, and
every time we add an entry point, we end up having to modify those two
files (and others, addressed in different bugs), which is suboptimal.

So we generate the list of those symbols from malloc_decls.h.

--HG--
extra : rebase_source : 50156c6dda5601a6437f94a753400ec4ed9c8343
2017-09-19 16:09:56 +09:00
Christian Holler
75d68dab36 Bug 1386304 - Add and integrate asan-reporter system add-on. r=froydnj
MozReview-Commit-ID: IwE2LzofLz0

--HG--
extra : rebase_source : 49d5f79b0774837aa52c02a120f7c16272be157e
2017-07-31 15:13:38 +02:00
Chris Manchester
fab07bc443 Bug 1386876 - Replace all uses of NO_VISIBILITY_FLAGS with a template and remove NO_VISIBILITY_FLAGS. r=glandium
MozReview-Commit-ID: 194U1WMCAM0

--HG--
extra : rebase_source : 365b68b0a1772d238ae9b84966e53dcd1197fd85
2017-05-01 18:12:35 -07:00
Chris Manchester
c0a229d4c3 Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium
MozReview-Commit-ID: FMEtb5PY7iP

--HG--
extra : rebase_source : 3cdee7528846462c758e623d6bcd2e6e17dbabff
2017-09-11 11:33:26 -07:00
Julien Cristau
ff7b765b29 Bug 1268470 - Part 3: Restrict klsihk64.dll block to versions < 14.0.457.0 r=jimm
MozReview-Commit-ID: CD7jpcGGr9s

--HG--
extra : rebase_source : 73030b371d05a9a4d46964f54ee12eb1419f1255
2017-09-11 11:58:12 +02:00
Julien Cristau
01dcd5f0dc Bug 1268470 - Part 2: Block klsihk64.dll on Windows 8 r=jimm
MozReview-Commit-ID: B2IrXnr46eP

--HG--
extra : rebase_source : 3c9d8c60faa28f272b36354ceacffba70de94de7
2017-09-08 12:00:56 +02:00
Julien Cristau
18f5425cc8 Bug 1268470 - Part 1: Add BLOCK_WIN8_ONLY flag to dll blocklist r=jimm
MozReview-Commit-ID: 8ZhqDv4YMOn

--HG--
extra : rebase_source : 1a0f708c97eebeca016a053cad820f1dcd0e0129
2017-09-08 11:59:13 +02:00
Wes Kocher
eace83acfa Backed out changeset 0c2b838c91e4 (bug 1386304) for eslint failures in asan-reporter/bootstrap.js a=backout
MozReview-Commit-ID: KjA9iDDA2hp
2017-09-07 16:51:48 -07:00
Christian Holler
06f527a679 Bug 1386304 - Add and integrate asan-reporter system add-on. r=froydnj
MozReview-Commit-ID: IwE2LzofLz0

--HG--
extra : rebase_source : bd952047103a990d314667fc73a4cf570f9a2bde
2017-07-31 15:13:38 +02:00
Mike Hommey
e77f51a721 Bug 1395776 - Fold replace-malloc into mozjemalloc. r=njn
Add the MPL 2.0 license header per bug 1395449.

--HG--
extra : rebase_source : c85544a178aba7e77b5b8031851b8e16b22a3848
2017-08-31 12:02:01 +09:00
Sebastian Hengst
43bc951ac7 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: ES9rKhiQo10
2017-09-01 10:38:51 +02:00
Nicholas Nethercote
c419d5fa48 Bug 1389305 (attempt 2) - Add jemalloc_ptr_info() and moz_malloc_enclosing_size_of(). r=glandium.
--HG--
extra : rebase_source : 93a6cfcc916fb239581c2892f24b24c6fc65ac71
2017-09-01 11:52:23 +10:00
Sebastian Hengst
4310ea4600 Backed out changeset f232b5b1a0c7 (bug 1389305) for frequently failing GTest Jemalloc.PtrInfo on Linux opt. r=backout 2017-08-31 13:52:48 +02:00
Nicholas Nethercote
365285b831 Bug 1389305 - Add jemalloc_ptr_info() and moz_malloc_enclosing_size_of(). r=glandium.
jemalloc_ptr_info() gives info about any pointer, such as whether it's within a
live or free allocation, and if so, info about that allocation. It's useful for
debugging.

moz_malloc_enclosing_size_of() uses jemalloc_ptr_info() to measure the size of
an allocation from an interior pointer. It's useful for memory reporting,
especially for Rust code.

--HG--
extra : rebase_source : caa19cccf8c2d1f79cf004fe6a408775de5a7b22
2017-08-24 19:37:27 +10:00
Tom Ritter
da549982c3 Bug 1394007 Fix a signedness comparison warning in WindowsDllBlocklist.cpp r=dmajor
MozReview-Commit-ID: 3qH0PU2gBur

--HG--
extra : rebase_source : 6f2b51367462604cf3b6c53ce8a82722d926970d
2017-08-30 00:43:46 -05:00
Tom Ritter
92ff663a31 Bug 1393498 Mark the stub_BaseThreadInitThunk as MOZ_NORETURN to silence a warning about a noreturn function not returning r=dmajor,froydnj
/home/worker/workspace/build/src/mozglue/build/WindowsDllBlocklist.cpp:816:1: error: 'noreturn' function does return [-Werror]

MozReview-Commit-ID: SYgPDW0sMV

--HG--
extra : rebase_source : 27b1dda404b3fc5fab95dd524677387bad921751
2017-08-24 22:49:09 -05:00
Ryan VanderMeulen
2ef4841fe2 Backed out changeset d44d3fae6125 (bug 1393498) for bustage on a CLOSED TREE. 2017-08-24 19:54:02 -04:00
Tom Ritter
b76720e4d2 Bug 1393498 Mark the stub_BaseThreadInitThunk as MOZ_NORETURN to silence a warning about a noreturn function not returning r=dmajor
/home/worker/workspace/build/src/mozglue/build/WindowsDllBlocklist.cpp:816:1: error: 'noreturn' function does return [-Werror]

MozReview-Commit-ID: SYgPDW0sMV

--HG--
extra : rebase_source : 1039c3f8669093c9d77a3c30090c76457c8eb6e8
2017-08-24 16:28:32 -05:00
Wes Kocher
c14002885a Backed out changeset 0df56be60d07 (bug 1393498) for windows build failures a=backout
MozReview-Commit-ID: 9LrZYhCPjRv
2017-08-24 12:14:31 -07:00
Tom Ritter
21351be91a Bug 1393498 Mark the stub_BaseThreadInitThunk as MOZ_NORETURN to silence a warning about a noreturn function not returning r=dmajor
/home/worker/workspace/build/src/mozglue/build/WindowsDllBlocklist.cpp:816:1: error: 'noreturn' function does return [-Werror]

MozReview-Commit-ID: SYgPDW0sMV

--HG--
extra : rebase_source : d932e84ff0729b1c5ccff6658ee81849eb27eef4
2017-08-24 09:32:04 -05:00
Carl Corcoran
5c4000df9d Bug 1361410: Don't hook BaseThreadInitThunk when WRusr.dll is loaded, mitigating a crash; r=dmajor
MozReview-Commit-ID: KqWq2bHT0CE

--HG--
extra : rebase_source : 54292be2efe4d50ec5806c1d066eb34ac97ecf14
2017-08-17 15:05:17 +02:00
Mike Hommey
4aaef7b18a Bug 1395032 - Remove remainder of the VS CRT allocator mismatch hack. r=gps
Bug 1186064 removed most of it when we started requiring VS 2015u2, but
the "frex" function exported through mozglue.def.in was only used
through the MSVCRT being patched by fixcrt.py, which is not done anymore.
So the "frex" export is not used anymore, and so the "dumb_free_thunk"
function is not used anymore as well.

--HG--
extra : rebase_source : 879c469c317c8b6749410a4a476d6c951c9a1d0f
2017-08-30 14:06:13 +09:00
Nicholas Nethercote
76360b4793 Bug 1382099 - Remove MOZ_WIDGET_GONK from mozglue/. r=glandium.
--HG--
extra : rebase_source : be872a2272b731523fdad5ee52ffcd40d87729c5
2017-07-19 18:38:54 +10:00
Tom Ritter
0591f401da Bug 1380103 Cast a DWORD (__attribute__((__stdcall__)) *)(void*) to a bare void* to fix a compiler error r=ccorcoran,dmajor
MozReview-Commit-ID: 88e6e2w5Gd1

--HG--
extra : rebase_source : 4011d6d4261c83517d54ea5c4bf08ba54a77fd0c
2017-07-11 14:26:35 -05:00
Mike Hommey
ed863255b4 Bug 1378592 - Remove MOZ_REPLACE_MALLOC_LINKAGE. r=froydnj
MOZ_REPLACE_MALLOC_LINKAGE was added back when there were problems with
getting weak references working properly for replace-malloc.

Versions of OSX < 10.6 needed flat namespace, but aren't supported
anymore.

Versions of Xcode < 4.5 required flat namespace + a dummy library in
order to produce proper weak references. There is virtually nobody still
building with such an ancient toolchain.

Keeping those around doesn't /really/ hurt, except recent versions of
Xcode don't expose dyldinfo in /usr/bin, used for the configure test.
Consequently, MOZ_REPLACE_MALLOC_LINKAGE ended up being set to use the
dummy library setup, which, by using flat namespace, now causes harm in
bug 1356701, causing bug 1378332.

--HG--
extra : rebase_source : e3edc1f2cf905943c33fafeb631f2f88fc87167e
2017-07-06 10:26:04 +09:00
David Major
8f2fab9547 Bug 1378442 - Move Win64 profiler hooks to profiler_start. r=mstange 2017-07-05 18:45:31 -04:00
Nicholas Nethercote
4b364cf3f3 Bug 1375299 (part 1) - Reduce usage of MOZ_GECKO_PROFILER. r=mstange.
This patch reduces the differences between builds where the profiler is enabled
and those where the profiler is disabled. It does this by removing numerous
MOZ_GECKO_PROFILER checks.

These changes have the following consequences.

- Various functions and classes are now defined in all builds, and so can be
  used unconditionally: profiler_add_marker(), profiler_set_js_context(),
  profiler_clear_js_context(), profiler_get_pseudo_stack(), AutoProfilerLabel.
  (They are effectively no-ops in non-profiler builds, of course.)

- The no-op versions of PROFILER_* are now gone. The remaining versions are
  almost no-ops when the profiler isn't built.

--HG--
extra : rebase_source : 8fb5e8757600210c2f77865694d25162f0b7698a
2017-06-22 06:26:16 +10:00
David Major
af0b39fef9 Bug 1372375: Avoid locks in EnsureWalkThreadReady during the profiler's critical section. r=mstange
EnsureWalkThreadReady takes two locks, one in _beginthreadex and another in the DLL hook setup.

We can avoid the first by not calling EnsureWalkThreadReady if we're walking a suspended thread, since we won't be using a separate WalkThread anyway.

To avoid the hook locks, I gave in and decided to go back to setting up the hooks in DllBlocklist_Initialize as originally planned.
2017-06-13 18:30:48 -04:00
Ehsan Akhgari
0b42833bd8 Bug 1370329 (part 3) - Add a Gecko Profiler label to patched_LdrLoadDll(). r=mstange.
This lets us easily identify the name of the DLL being loaded in a profile.

--HG--
extra : rebase_source : 9910910e573e5ddbad81fe1f9792a07807b074cb
2017-06-07 12:37:18 +10:00
Tom Ritter
8407066758 Bug 1365047 Turn on the Windows DLL Blocklist in MinGW r=aklotz
MozReview-Commit-ID: 3hF7iOdH89P

--HG--
extra : rebase_source : 95614960544ae55b983dbbd40e1036ff236204b3
2017-05-15 15:49:20 -05:00
Carl Corcoran
d984e671a7 Bug 1322554: Interpose kernel32!BaseThreadInitThunk to add verification of thread start addresses; r=aklotz,dmajor
MozReview-Commit-ID: 8Jm1PXyRrEr

--HG--
extra : rebase_source : 1145dfccaca72b58145f0100a4e313d1c9d685be
2017-05-24 11:56:40 +02:00
David Major
89f6d51919 Bug 1180561 - Intercept msmpeg2vdec's JIT unwind callback on Win7 x64. r=aklotz
So we can avoid stack-walking their JIT code. They don't have unwind information so their callback just kills the process.
2017-05-18 16:15:29 -04:00
David Major
44b9e8090f Bug 1180561 - Cleanup - Remove the DLL blocklist's anonymous namespace. r=aklotz
It makes it really annoying to set breakpoints on patched_LdrLoadDll.
2017-05-18 16:05:32 -04:00
Mike Hommey
0400284f88 Bug 1365194 - Make extern "C" part of MOZ_MEMORY_API and MOZ_JEMALLOC_API. r=njn
This avoids many additions of `extern "C"` in C++ code and will avoid
having to do the same to mozjemalloc once built as C++.

--HG--
extra : rebase_source : af55696262f40a9dd16a19c29edcb9bb307d4957
2017-05-16 18:46:02 +09:00
Carsten "Tomcat" Book
9c3f61e278 Backed out changeset b56224bf370d (bug 1365194) 2017-05-17 11:43:26 +02:00
Mike Hommey
2bd75405bc Bug 1365194 - Make extern "C" part of MOZ_MEMORY_API and MOZ_JEMALLOC_API. r=njn
This avoids many additions of `extern "C"` in C++ code and will avoid
having to do the same to mozjemalloc once built as C++.

--HG--
extra : rebase_source : af55696262f40a9dd16a19c29edcb9bb307d4957
2017-05-16 18:46:02 +09:00
Mike Hommey
1a9d4c6f33 Bug 1363992 - Remove support for system jemalloc. r=njn
--HG--
extra : rebase_source : 9141402b6f9e84c67afc14303633d328eb5b652c
2017-05-11 13:03:20 +09:00
Makoto Kato
529993e5f8 Bug 1360429 - Part 2. Detect __ARM_NEON macro for aarch64. r=glandium
aarch64's gcc and arm's gcc with -mfpu=neon defines __ARM_NEON for NEON, so we should detect it to support NEON code.

MozReview-Commit-ID: LRMTQLctuLV

--HG--
extra : rebase_source : 9e09eb9b67824c81dc45198acd6582584a5e1652
2017-04-28 13:27:10 +09:00
Julian Seward
83969e88eb Bug 1361258 - Add a jemalloc_thread_local_arena API with a binding for rust. r=glandium
The intent of the API is to allow threads to opt-in to use a separate
mozjemalloc arena.

This indroduces a dummy shell with no actual implementation.
2017-05-12 18:08:08 +09:00