lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Threads by month
  • ----- 2025 -----
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

  • 1 participants
  • 19538 discussions
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1461421 Use OffsetOf to calculate the location of param_info_ rather than assuming it's at the end of the parent class r?bobowen
by gk@torproject.org 14 Jun '18

14 Jun '18
commit a64a7c2de648ad87f392e407a92589515a72b0ef Author: Tom Ritter <tom(a)mozilla.com> Date: Thu Jun 7 13:08:27 2018 -0500 Bug 1461421 Use OffsetOf to calculate the location of param_info_ rather than assuming it's at the end of the parent class r?bobowen MozReview-Commit-ID: D7REZiAIMpN --- .../chromium/sandbox/win/src/crosscall_params.h | 5 ++ .../chromium/sandbox/win/src/crosscall_server.cc | 56 +++++++++++++++++----- 2 files changed, 48 insertions(+), 13 deletions(-) diff --git a/security/sandbox/chromium/sandbox/win/src/crosscall_params.h b/security/sandbox/chromium/sandbox/win/src/crosscall_params.h index eb59c44239e2..baceebd9e285 100644 --- a/security/sandbox/chromium/sandbox/win/src/crosscall_params.h +++ b/security/sandbox/chromium/sandbox/win/src/crosscall_params.h @@ -60,6 +60,7 @@ union MultiType { // - Add another Callback typedef to Dispatcher. // - Add another case to the switch on SharedMemIPCServer::InvokeCallback. // - Add another case to the switch in GetActualAndMaxBufferSize +// - Add another case to the switch in GetOffsetOfFirstMemberOfActualCallParams const int kMaxIpcParams = 9; // Contains the information about a parameter in the ipc buffer. @@ -92,6 +93,8 @@ struct CrossCallReturn { MultiType extended[kExtendedReturnCount]; }; +uint32_t GetOffsetOfFirstMemberOfActualCallParams(uint32_t param_count); + // CrossCallParams base class that models the input params all packed in a // single compact memory blob. The representation can vary but in general a // given child of this class is meant to represent all input parameters @@ -276,6 +279,8 @@ class ActualCallParams : public CrossCallParams { char parameters_[BLOCK_SIZE - sizeof(CrossCallParams) - sizeof(ParamInfo) * (NUMBER_PARAMS + 1)]; DISALLOW_COPY_AND_ASSIGN(ActualCallParams); + + friend uint32_t GetOffsetOfFirstMemberOfActualCallParams(uint32_t param_count); }; static_assert(sizeof(ActualCallParams<1, 1024>) == 1024, "bad size buffer"); diff --git a/security/sandbox/chromium/sandbox/win/src/crosscall_server.cc b/security/sandbox/chromium/sandbox/win/src/crosscall_server.cc index 9f71f333f02d..6d94b1cb14c2 100644 --- a/security/sandbox/chromium/sandbox/win/src/crosscall_server.cc +++ b/security/sandbox/chromium/sandbox/win/src/crosscall_server.cc @@ -27,20 +27,21 @@ const size_t kMaxBufferSize = sandbox::kIPCChannelSize; namespace sandbox { +// The template types are used to calculate the maximum expected size. +typedef ActualCallParams<0, kMaxBufferSize> ActualCP0; +typedef ActualCallParams<1, kMaxBufferSize> ActualCP1; +typedef ActualCallParams<2, kMaxBufferSize> ActualCP2; +typedef ActualCallParams<3, kMaxBufferSize> ActualCP3; +typedef ActualCallParams<4, kMaxBufferSize> ActualCP4; +typedef ActualCallParams<5, kMaxBufferSize> ActualCP5; +typedef ActualCallParams<6, kMaxBufferSize> ActualCP6; +typedef ActualCallParams<7, kMaxBufferSize> ActualCP7; +typedef ActualCallParams<8, kMaxBufferSize> ActualCP8; +typedef ActualCallParams<9, kMaxBufferSize> ActualCP9; + // Returns the actual size for the parameters in an IPC buffer. Returns // zero if the |param_count| is zero or too big. uint32_t GetActualBufferSize(uint32_t param_count, void* buffer_base) { - // The template types are used to calculate the maximum expected size. - typedef ActualCallParams<1, kMaxBufferSize> ActualCP1; - typedef ActualCallParams<2, kMaxBufferSize> ActualCP2; - typedef ActualCallParams<3, kMaxBufferSize> ActualCP3; - typedef ActualCallParams<4, kMaxBufferSize> ActualCP4; - typedef ActualCallParams<5, kMaxBufferSize> ActualCP5; - typedef ActualCallParams<6, kMaxBufferSize> ActualCP6; - typedef ActualCallParams<7, kMaxBufferSize> ActualCP7; - typedef ActualCallParams<8, kMaxBufferSize> ActualCP8; - typedef ActualCallParams<9, kMaxBufferSize> ActualCP9; - // Retrieve the actual size and the maximum size of the params buffer. switch (param_count) { case 0: @@ -68,6 +69,35 @@ uint32_t GetActualBufferSize(uint32_t param_count, void* buffer_base) { } } +// Returns the actual size for the parameters in an IPC buffer. Returns +// zero if the |param_count| is zero or too big. +uint32_t GetOffsetOfFirstMemberOfActualCallParams(uint32_t param_count) { + switch (param_count) { + case 0: + return offsetof(ActualCP0, param_info_); + case 1: + return offsetof(ActualCP1, param_info_); + case 2: + return offsetof(ActualCP2, param_info_); + case 3: + return offsetof(ActualCP3, param_info_); + case 4: + return offsetof(ActualCP4, param_info_); + case 5: + return offsetof(ActualCP5, param_info_); + case 6: + return offsetof(ActualCP6, param_info_); + case 7: + return offsetof(ActualCP7, param_info_); + case 8: + return offsetof(ActualCP8, param_info_); + case 9: + return offsetof(ActualCP9, param_info_); + default: + return 0; + } +} + // Verifies that the declared sizes of an IPC buffer are within range. bool IsSizeWithinRange(uint32_t buffer_size, uint32_t min_declared_size, @@ -137,7 +167,7 @@ CrossCallParamsEx* CrossCallParamsEx::CreateFromBuffer(void* buffer_base, // Check against the minimum size given the number of stated params // if too small we bail out. param_count = call_params->GetParamsCount(); - min_declared_size = sizeof(CrossCallParams) + + min_declared_size = GetOffsetOfFirstMemberOfActualCallParams(param_count) + ((param_count + 1) * sizeof(ParamInfo)); // Retrieve the declared size which if it fails returns 0. @@ -157,7 +187,7 @@ CrossCallParamsEx* CrossCallParamsEx::CreateFromBuffer(void* buffer_base, // should be actually read. _ReadWriteBarrier(); - min_declared_size = sizeof(CrossCallParams) + + min_declared_size = GetOffsetOfFirstMemberOfActualCallParams(param_count) + ((param_count + 1) * sizeof(ParamInfo)); // Check that the copied buffer is still valid.
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1389967 In MinGW, work around a pointer to a function thunk disappearing when we unload nssckbi r?franziskus, dmajor
by gk@torproject.org 14 Jun '18

14 Jun '18
commit cb8da44a0ae2de7ec5bd8bf5e66579f46e6902cc Author: Tom Ritter <tom(a)mozilla.com> Date: Fri Jun 8 13:12:11 2018 -0500 Bug 1389967 In MinGW, work around a pointer to a function thunk disappearing when we unload nssckbi r?franziskus,dmajor --- security/nss/lib/base/error.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/security/nss/lib/base/error.c b/security/nss/lib/base/error.c index 95a76cf79968..2596a5c09321 100644 --- a/security/nss/lib/base/error.c +++ b/security/nss/lib/base/error.c @@ -15,6 +15,10 @@ #include <limits.h> /* for UINT_MAX */ #include <string.h> /* for memmove */ +#if defined(__MINGW32__) +#include <windows.h> +#endif + #define NSS_MAX_ERROR_STACK_COUNT 16 /* error codes */ /* @@ -65,7 +69,26 @@ static const PRCallOnceType error_call_again; static PRStatus error_once_function(void) { + +/* + * This #ifdef function is redundant. It performs the same thing as the + * else case. + * + * However, the MinGW version looks up the function from nss3's export + * table, and on MinGW _that_ behaves differently than passing a + * function pointer in a different module because MinGW has + * -mnop-fun-dllimport specified, which generates function thunks for + * cross-module calls. And when a module (like nssckbi) gets unloaded, + * and you try to call into that thunk (which is now missing) you'll + * crash. So we do this bit of ugly to avoid that crash. Fortunately + * this is the only place we've had to do this. + */ +#if defined(__MINGW32__) + HMODULE nss3 = GetModuleHandleW(L"nss3"); + return PR_NewThreadPrivateIndex(&error_stack_index, GetProcAddress(nss3, "PR_Free")); +#else return PR_NewThreadPrivateIndex(&error_stack_index, PR_Free); +#endif } /*
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1460796 - Resolve 'Missing entry point ScriptBreak' by including usp10 for the MinGW build. r=froydnj, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit a5b58893517d5c72f30ad7d35ac17b90da7a3cdb Author: Tom Ritter <tom(a)mozilla.com> Date: Thu May 10 22:04:36 2018 -0500 Bug 1460796 - Resolve 'Missing entry point ScriptBreak' by including usp10 for the MinGW build. r=froydnj, a=jcristau MozReview-Commit-ID: KirwpvYty5s --HG-- extra : source : b463e90d80980565d860a60714ee7c73296edf75 --- js/src/old-configure.in | 2 +- old-configure.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/js/src/old-configure.in b/js/src/old-configure.in index e4df0b05c526..442ec125fbca 100644 --- a/js/src/old-configure.in +++ b/js/src/old-configure.in @@ -652,7 +652,7 @@ case "$target" in # Use temp file for windres (bug 213281) RCFLAGS='-O coff --use-temp-file' # mingw doesn't require kernel32, user32, and advapi32 explicitly - LIBS="$LIBS -lgdi32 -lwinmm -lwsock32" + LIBS="$LIBS -lusp10 -lgdi32 -lwinmm -lwsock32" MOZ_FIX_LINK_PATHS= MOZ_OPTIMIZE_FLAGS="-O2" diff --git a/old-configure.in b/old-configure.in index 3d3e631d52fd..2e484cb48bd1 100644 --- a/old-configure.in +++ b/old-configure.in @@ -867,7 +867,7 @@ case "$target" in # Use temp file for windres (bug 213281) RCFLAGS='-O coff --use-temp-file' # mingw doesn't require kernel32, user32, and advapi32 explicitly - LIBS="$LIBS -luuid -lgdi32 -lwinmm -lwsock32 -luserenv -lsecur32" + LIBS="$LIBS -luuid -lusp10 -lgdi32 -lwinmm -lwsock32 -luserenv -lsecur32" MOZ_FIX_LINK_PATHS= MOZ_OPTIMIZE_FLAGS="-O1"
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1460720 - Do not define _aligned_malloc - instead define _aligned_malloc_impl and export _aligned_malloc. r=glandium, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit 8b5968b47ec78fa99bc473e7a70528e7c525bad3 Author: Tom Ritter <tom(a)mozilla.com> Date: Tue May 15 11:10:48 2018 -0500 Bug 1460720 - Do not define _aligned_malloc - instead define _aligned_malloc_impl and export _aligned_malloc. r=glandium, a=jcristau MozReview-Commit-ID: 3EwAd81Iz7r --HG-- extra : source : 144d50bc68914e2560e0fc22ba0fc445d0be6f8f --- memory/build/mozmemory_wrap.cpp | 2 +- memory/build/mozmemory_wrap.h | 1 + mozglue/build/mozglue.def.in | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/memory/build/mozmemory_wrap.cpp b/memory/build/mozmemory_wrap.cpp index 91eba2dd9598..385d9c46fea9 100644 --- a/memory/build/mozmemory_wrap.cpp +++ b/memory/build/mozmemory_wrap.cpp @@ -160,7 +160,7 @@ wcsdup_impl(const wchar_t* src) } MOZ_MEMORY_API void* -_aligned_malloc(size_t size, size_t alignment) +_aligned_malloc_impl(size_t size, size_t alignment) { return memalign_impl(alignment, size); } diff --git a/memory/build/mozmemory_wrap.h b/memory/build/mozmemory_wrap.h index a3dd49904fd5..87754107e6a6 100644 --- a/memory/build/mozmemory_wrap.h +++ b/memory/build/mozmemory_wrap.h @@ -156,6 +156,7 @@ #define strdup_impl mozmem_dup_impl(strdup) #ifdef XP_WIN #define wcsdup_impl mozmem_dup_impl(wcsdup) +#define _aligned_malloc_impl mozmem_dup_impl(_aligned_malloc) #endif // String functions diff --git a/mozglue/build/mozglue.def.in b/mozglue/build/mozglue.def.in index 8cc622d206d7..b801f62f8c98 100644 --- a/mozglue/build/mozglue.def.in +++ b/mozglue/build/mozglue.def.in @@ -15,7 +15,7 @@ EXPORTS malloc_usable_size=je_malloc_usable_size malloc_good_size=je_malloc_good_size _aligned_free=je_free - _aligned_malloc + _aligned_malloc=wrap__aligned_malloc strndup=wrap_strndup strdup=wrap_strdup _strdup=wrap_strdup
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1448749 - Resolve undefined references to '_imp__mozalloc_abort' in the MinGW build. r=glandium, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit d477dceff535f159269e334fc6d92ede3f7f7abf Author: Tom Ritter <tom(a)mozilla.com> Date: Wed May 16 22:02:05 2018 -0500 Bug 1448749 - Resolve undefined references to '_imp__mozalloc_abort' in the MinGW build. r=glandium, a=jcristau MozReview-Commit-ID: 5enjU5Xp8G9 --HG-- extra : source : 8c97493f2d4cbd69cd13a8ef03e591fba917f398 --- memory/mozalloc/mozalloc_abort.h | 1 + 1 file changed, 1 insertion(+) diff --git a/memory/mozalloc/mozalloc_abort.h b/memory/mozalloc/mozalloc_abort.h index 065cebcb31cd..f1dbc30654fd 100644 --- a/memory/mozalloc/mozalloc_abort.h +++ b/memory/mozalloc/mozalloc_abort.h @@ -18,6 +18,7 @@ * Note: MOZ_NORETURN seems to break crash stacks on ARM, so we don't * use that annotation there. */ +extern "C" MFBT_API #if !defined(__arm__) MOZ_NORETURN
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1420350 - Enable jemalloc on MinGW. r=glandium, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit 5703ed6e41f90ca00ab12d93147bc3f2cee6fded Author: Tom Ritter <tom(a)mozilla.com> Date: Wed Mar 7 10:49:28 2018 -0600 Bug 1420350 - Enable jemalloc on MinGW. r=glandium, a=jcristau MozReview-Commit-ID: 6YUeFAJocHj --HG-- extra : source : 8d15ab11df3be633257f711341fde60da4d1e58d --- build/moz.configure/memory.configure | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/build/moz.configure/memory.configure b/build/moz.configure/memory.configure index 2889819c988b..0e958a195e17 100644 --- a/build/moz.configure/memory.configure +++ b/build/moz.configure/memory.configure @@ -14,15 +14,12 @@ option('--enable-jemalloc', env='MOZ_MEMORY', help='Replace memory allocator with jemalloc') -@depends('--enable-jemalloc', target, c_compiler) -def jemalloc(value, target, c_compiler): +@depends('--enable-jemalloc', target) +def jemalloc(value, target): if value.origin != 'default': return bool(value) or None - if target.kernel in ('Darwin', 'Linux'): - return True - - if target.kernel == 'WINNT' and c_compiler.type in ('msvc', 'clang-cl'): + if target.kernel in ('Darwin', 'Linux', 'WINNT'): return True
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1460647 - Move big-obj out of Developer_OPTIONS so local MinGW builds work. r=mshal, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit e28ee1528479bf56e98f2961c774ebe7caaea765 Author: Tom Ritter <tom(a)mozilla.com> Date: Fri May 4 10:33:25 2018 -0500 Bug 1460647 - Move big-obj out of Developer_OPTIONS so local MinGW builds work. r=mshal, a=jcristau MozReview-Commit-ID: KxfoVkO4pu8 --HG-- extra : source : 66ae522408686963c4752c954b9a4b26bd0cc8f7 --- build/autoconf/compiler-opts.m4 | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/build/autoconf/compiler-opts.m4 b/build/autoconf/compiler-opts.m4 index b8ff219aa5d2..7c62bf4d54ed 100644 --- a/build/autoconf/compiler-opts.m4 +++ b/build/autoconf/compiler-opts.m4 @@ -123,13 +123,14 @@ if test "$GNU_CC"; then if test -z "$DEVELOPER_OPTIONS"; then CFLAGS="$CFLAGS -ffunction-sections -fdata-sections" CXXFLAGS="$CXXFLAGS -ffunction-sections -fdata-sections" + fi - # For MinGW, we need big-obj otherwise we create too many sections in Unified builds - if test "${OS_ARCH}" = "WINNT"; then - CFLAGS="$CFLAGS -Wa,-mbig-obj" - CXXFLAGS="$CXXFLAGS -Wa,-mbig-obj" - fi + # For MinGW, we need big-obj otherwise we create too many sections in Unified builds + if test "${OS_ARCH}" = "WINNT"; then + CFLAGS="$CFLAGS -Wa,-mbig-obj" + CXXFLAGS="$CXXFLAGS -Wa,-mbig-obj" fi + CFLAGS="$CFLAGS -fno-math-errno" CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-math-errno" fi
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1460668 - Bump MinGW to capture the CD3D11_BLEND_DESC fix. r=froydnj, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit 01a84f6d67252664965b946ae9095d40db9bee27 Author: Tom Ritter <tom(a)mozilla.com> Date: Wed May 16 13:43:29 2018 -0500 Bug 1460668 - Bump MinGW to capture the CD3D11_BLEND_DESC fix. r=froydnj, a=jcristau MozReview-Commit-ID: 83igqfjKm6O --HG-- extra : source : 2112c371739adc0f178dca75eb88fc4a624c9526 --- taskcluster/scripts/misc/build-gcc-mingw32.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/taskcluster/scripts/misc/build-gcc-mingw32.sh b/taskcluster/scripts/misc/build-gcc-mingw32.sh index 531cc51eda91..27e35c1ac13b 100755 --- a/taskcluster/scripts/misc/build-gcc-mingw32.sh +++ b/taskcluster/scripts/misc/build-gcc-mingw32.sh @@ -18,7 +18,7 @@ gcc_ext=xz binutils_version=2.27 binutils_ext=bz2 binutils_configure_flags="--target=i686-w64-mingw32" -mingw_version=36d7b92bbcec1e72d3ce24013b01f7acc34be3b0 +mingw_version=bcf1f29d6dc80b6025b416bef104d2314fa9be57 # GPG keys used to sign GCC (collected from 5.1.0, 5.4.0, 6.4.0) $GPG --import $data_dir/33C235A34C46AA3FFB293709A328C3A2C3C45C06.key
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1462100 - Cast to void* to avoid conversion errors on MinGW, which does not do the automatic conversion like msvc. r=bobowen, a=RyanVM
by gk@torproject.org 14 Jun '18

14 Jun '18
commit 4c2d29a6bd9af1cf8f52e17acd9dc1c7ed7ad76f Author: Tom Ritter <tom(a)mozilla.com> Date: Wed May 16 14:18:20 2018 -0500 Bug 1462100 - Cast to void* to avoid conversion errors on MinGW, which does not do the automatic conversion like msvc. r=bobowen, a=RyanVM MozReview-Commit-ID: 8fO9Nu9gaxh --- .../with_update/mingw_noexports_casts.patch | 41 ++++++++++++++++++++++ .../patches/with_update/patch_order.txt | 3 +- .../chromium/sandbox/win/src/interception.h | 4 +-- 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/security/sandbox/chromium-shim/patches/with_update/mingw_noexports_casts.patch b/security/sandbox/chromium-shim/patches/with_update/mingw_noexports_casts.patch new file mode 100644 index 000000000000..a9c1001c7675 --- /dev/null +++ b/security/sandbox/chromium-shim/patches/with_update/mingw_noexports_casts.patch @@ -0,0 +1,41 @@ +# HG changeset patch +# User Tom Ritter <tom(a)mozilla.com> +# Date 1526498300 18000 +# Wed May 16 14:18:20 2018 -0500 +# Node ID dd3f4940aeb0c4e00e8bcf1c238f2355ad793489 +# Parent cf646c80b9545db7ab548f88a482378734ee2f78 +Bug 1462100 Cast to void* to avoid conversion errors on MinGW, which does not do the automatic conversion like msvc r?bobowen + +MozReview-Commit-ID: 8fO9Nu9gaxh + +diff --git a/security/sandbox/chromium/sandbox/win/src/interception.h b/security/sandbox/chromium/sandbox/win/src/interception.h +--- a/security/sandbox/chromium/sandbox/win/src/interception.h ++++ b/security/sandbox/chromium/sandbox/win/src/interception.h +@@ -264,25 +264,25 @@ class InterceptionManager { + #define MAKE_SERVICE_NAME(service) &Target##service##64 + #else + #define MAKE_SERVICE_NAME(service) &Target##service + #endif + + #define ADD_NT_INTERCEPTION(service, id, num_params) \ + AddToPatchedFunctions(kNtdllName, #service, \ + sandbox::INTERCEPTION_SERVICE_CALL, \ +- MAKE_SERVICE_NAME(service), id) ++ (void*)MAKE_SERVICE_NAME(service), id) + + #define INTERCEPT_NT(manager, service, id, num_params) \ + manager->ADD_NT_INTERCEPTION(service, id, num_params) + + // When intercepting the EAT it is important that the patched version of the + // function not call any functions imported from system libraries unless + // |TargetServices::InitCalled()| returns true, because it is only then that + // we are guaranteed that our IAT has been initialized. + #define INTERCEPT_EAT(manager, dll, function, id, num_params) \ + manager->AddToPatchedFunctions(dll, #function, sandbox::INTERCEPTION_EAT, \ +- MAKE_SERVICE_NAME(function), id) ++ (void*)MAKE_SERVICE_NAME(function), id) + #endif // SANDBOX_EXPORTS + + } // namespace sandbox + + #endif // SANDBOX_SRC_INTERCEPTION_H_ diff --git a/security/sandbox/chromium-shim/patches/with_update/patch_order.txt b/security/sandbox/chromium-shim/patches/with_update/patch_order.txt index e9dbbec9514d..7715c4765982 100755 --- a/security/sandbox/chromium-shim/patches/with_update/patch_order.txt +++ b/security/sandbox/chromium-shim/patches/with_update/patch_order.txt @@ -18,4 +18,5 @@ mingw_copy_s.patch mingw_operator_new.patch mingw_cast_getprocaddress.patch mingw_capitalization.patch -mingw_disable_one_try.patch \ No newline at end of file +mingw_disable_one_try.patch +mingw_noexports_casts.patch \ No newline at end of file diff --git a/security/sandbox/chromium/sandbox/win/src/interception.h b/security/sandbox/chromium/sandbox/win/src/interception.h index d21bed30b5fd..8a4310371e0f 100644 --- a/security/sandbox/chromium/sandbox/win/src/interception.h +++ b/security/sandbox/chromium/sandbox/win/src/interception.h @@ -269,7 +269,7 @@ class InterceptionManager { #define ADD_NT_INTERCEPTION(service, id, num_params) \ AddToPatchedFunctions(kNtdllName, #service, \ sandbox::INTERCEPTION_SERVICE_CALL, \ - MAKE_SERVICE_NAME(service), id) + (void*)MAKE_SERVICE_NAME(service), id) #define INTERCEPT_NT(manager, service, id, num_params) \ manager->ADD_NT_INTERCEPTION(service, id, num_params) @@ -280,7 +280,7 @@ class InterceptionManager { // we are guaranteed that our IAT has been initialized. #define INTERCEPT_EAT(manager, dll, function, id, num_params) \ manager->AddToPatchedFunctions(dll, #function, sandbox::INTERCEPTION_EAT, \ - MAKE_SERVICE_NAME(function), id) + (void*)MAKE_SERVICE_NAME(function), id) #endif // SANDBOX_EXPORTS } // namespace sandbox
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1460357 - Do not use optimized AVX for Skia convolve_vertically in MinGW. r=lsalzman, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit 1d493532960f10875b52e6f42bc8813e71f54ade Author: Tom Ritter <tom(a)mozilla.com> Date: Wed Apr 25 22:57:58 2018 -0500 Bug 1460357 - Do not use optimized AVX for Skia convolve_vertically in MinGW. r=lsalzman, a=jcristau MozReview-Commit-ID: 8ROpiDD4xYH --HG-- extra : source : 476091dbf8c06ad7880859f302e08f637c077764 --- gfx/skia/skia/src/opts/SkOpts_hsw.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gfx/skia/skia/src/opts/SkOpts_hsw.cpp b/gfx/skia/skia/src/opts/SkOpts_hsw.cpp old mode 100644 new mode 100755 index dded64776a49..58bf00a40a18 --- a/gfx/skia/skia/src/opts/SkOpts_hsw.cpp +++ b/gfx/skia/skia/src/opts/SkOpts_hsw.cpp @@ -12,7 +12,9 @@ #include <immintrin.h> // ODR safe #include <stdint.h> // ODR safe -#if defined(__AVX2__) +// As described in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85525, MinGW will produce +// unaligned instructions for this code, resulting in a crash. +#if defined(__AVX2__) && !defined(__MINGW32__) namespace hsw {
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 1579
  • 1580
  • 1581
  • 1582
  • 1583
  • 1584
  • 1585
  • ...
  • 1954
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.