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
  • ----- 2026 -----
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • 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
  • 20129 discussions
[tor-browser/tor-browser-60.0.1esr-8.0-1] Include <cstring> for memcmp in certverifier/Buffer.cpp
by gk@torproject.org 14 Jun '18

14 Jun '18
commit e65019d6dc6da89219673a9b688092c727ff07a4 Author: Sukhbir Singh <sukhbir(a)torproject.org> Date: Tue Jun 12 14:58:48 2018 -0400 Include <cstring> for memcmp in certverifier/Buffer.cpp --- security/certverifier/Buffer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/security/certverifier/Buffer.cpp b/security/certverifier/Buffer.cpp index a36bfeabc13f..407d45a41253 100644 --- a/security/certverifier/Buffer.cpp +++ b/security/certverifier/Buffer.cpp @@ -5,6 +5,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "Buffer.h" +#include <cstring> namespace mozilla {
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1448748 Disable a bunch of optimized stuff to fix the MinGW x64 Build
by gk@torproject.org 14 Jun '18

14 Jun '18
commit bf1450d9a5dc8d1bd0ee217acb61b7e488333102 Author: Tom Ritter <tom(a)mozilla.com> Date: Fri Jun 8 13:11:49 2018 -0500 Bug 1448748 Disable a bunch of optimized stuff to fix the MinGW x64 Build --- security/nss/lib/freebl/freebl.gyp | 6 ------ security/nss/lib/freebl/freebl_base.gypi | 5 +++++ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/security/nss/lib/freebl/freebl.gyp b/security/nss/lib/freebl/freebl.gyp index fae56f709e86..e4cf2606e050 100644 --- a/security/nss/lib/freebl/freebl.gyp +++ b/security/nss/lib/freebl/freebl.gyp @@ -274,12 +274,6 @@ [ 'cc_use_gnu_ld==1 and OS=="win" and target_arch=="x64"', { 'defines': [ 'MP_IS_LITTLE_ENDIAN', - 'NSS_BEVAND_ARCFOUR', - 'MPI_AMD64', - 'MP_ASSEMBLY_MULTIPLY', - 'NSS_USE_COMBA', - 'USE_HW_AES', - 'INTEL_GCM', ], }], [ 'OS!="win"', { diff --git a/security/nss/lib/freebl/freebl_base.gypi b/security/nss/lib/freebl/freebl_base.gypi index ebd1018d8155..63d186fe6e2f 100644 --- a/security/nss/lib/freebl/freebl_base.gypi +++ b/security/nss/lib/freebl/freebl_base.gypi @@ -122,6 +122,11 @@ 'intel-gcm-x86-masm.asm', ], }], + [ 'cc_use_gnu_ld==1', { + # mingw + 'sources': [ + ], + }], [ 'cc_is_clang!=1', { # MSVC 'sources': [
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1456552 - Make Optimized MinGW builds use -O# instead of falling through and collecting a -O. r=ted, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit 77f47f2b623a4dffac9162570ea0eaf0c58aeb68 Author: Tom Ritter <tom(a)mozilla.com> Date: Wed May 16 16:32:47 2018 -0500 Bug 1456552 - Make Optimized MinGW builds use -O# instead of falling through and collecting a -O. r=ted, a=jcristau We use -O2 for js (because we can) and we use -O1 for the root because there is an x86 compiler bug that is not immediately bypassable MozReview-Commit-ID: CnDk2ko3jfo --HG-- extra : source : 87f1c846afc3eca37b82d8e86dd3fe451175ab21 --- js/src/old-configure.in | 2 ++ old-configure.in | 2 ++ 2 files changed, 4 insertions(+) diff --git a/js/src/old-configure.in b/js/src/old-configure.in index b9aa86c0d83b..e4df0b05c526 100644 --- a/js/src/old-configure.in +++ b/js/src/old-configure.in @@ -655,6 +655,8 @@ case "$target" in LIBS="$LIBS -lgdi32 -lwinmm -lwsock32" MOZ_FIX_LINK_PATHS= + MOZ_OPTIMIZE_FLAGS="-O2" + WIN32_CONSOLE_EXE_LDFLAGS=-mconsole WIN32_GUI_EXE_LDFLAGS=-mwindows else diff --git a/old-configure.in b/old-configure.in index dd2fb701cd79..3d3e631d52fd 100644 --- a/old-configure.in +++ b/old-configure.in @@ -870,6 +870,8 @@ case "$target" in LIBS="$LIBS -luuid -lgdi32 -lwinmm -lwsock32 -luserenv -lsecur32" MOZ_FIX_LINK_PATHS= + MOZ_OPTIMIZE_FLAGS="-O1" + WIN32_CONSOLE_EXE_LDFLAGS=-mconsole WIN32_GUI_EXE_LDFLAGS=-mwindows
1 0
0 0
[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
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1460645 - Avoid the thread_local keyword for MinGW and instead use __thread. r=froydnj, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit 38df603ab4b0fe9843e836b60512c4079ff15b27 Author: Tom Ritter <tom(a)mozilla.com> Date: Thu May 10 11:11:19 2018 -0500 Bug 1460645 - Avoid the thread_local keyword for MinGW and instead use __thread. r=froydnj, a=jcristau MozReview-Commit-ID: 5RPwQVatThs --HG-- extra : source : dae4adbf59b7261dd442f6a8e84beafa5ac25ec8 --- mfbt/ThreadLocal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mfbt/ThreadLocal.h b/mfbt/ThreadLocal.h index 0fc2f13da61f..06ad3e9a07fb 100644 --- a/mfbt/ThreadLocal.h +++ b/mfbt/ThreadLocal.h @@ -237,7 +237,7 @@ ThreadLocal<T, Storage>::set(const T aValue) } } -#if defined(XP_WIN) || defined(MACOSX_HAS_THREAD_LOCAL) +#if (defined(XP_WIN) || defined(MACOSX_HAS_THREAD_LOCAL)) && !defined(__MINGW32__) #define MOZ_THREAD_LOCAL(TYPE) thread_local mozilla::detail::ThreadLocal<TYPE, mozilla::detail::ThreadLocalNativeStorage> #elif defined(HAVE_THREAD_TLS_KEYWORD) #define MOZ_THREAD_LOCAL(TYPE) __thread mozilla::detail::ThreadLocal<TYPE, mozilla::detail::ThreadLocalNativeStorage>
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1460882 - Disable SANDBOX_EXPORTS for the MinGW Build. r=bobowen, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit 1c4b6c01a9a847da77bae2a7fd090d4808b5d9da Author: Tom Ritter <tom(a)mozilla.com> Date: Fri May 11 08:16:13 2018 -0500 Bug 1460882 - Disable SANDBOX_EXPORTS for the MinGW Build. r=bobowen, a=jcristau MozReview-Commit-ID: 2muTxIYUx6F --HG-- extra : source : 4d7c95672b79599a1192419115e2b25245f7fad1 extra : intermediate-source : 79910289a1f331463d661f484c354eb0d90eb9cf --- security/sandbox/moz.build | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/security/sandbox/moz.build b/security/sandbox/moz.build index 5ecbc3df7297..bdc5e8492a50 100644 --- a/security/sandbox/moz.build +++ b/security/sandbox/moz.build @@ -156,9 +156,11 @@ elif CONFIG['OS_ARCH'] == 'WINNT': 'chromium/sandbox/win/src/service_resolver_32.cc', ] - for var in ('UNICODE', '_UNICODE', 'NS_NO_XPCOM', 'SANDBOX_EXPORTS', + for var in ('UNICODE', '_UNICODE', 'NS_NO_XPCOM', '_CRT_RAND_S', 'CHROMIUM_SANDBOX_BUILD'): DEFINES[var] = True + if CONFIG['CC_TYPE'] != 'gcc': + DEFINES['SANDBOX_EXPORTS'] = True LOCAL_INCLUDES += ['/security/sandbox/chromium-shim'] LOCAL_INCLUDES += ['/security/sandbox/chromium']
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1457598 - Add MinGW and GCC scripts to the resources of fxc2 and nsis to ensure they get rebuilt. r=glandium, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit f00af23bb8832f6bdbfc29669a9f95730628cfeb Author: Tom Ritter <tom(a)mozilla.com> Date: Wed May 16 12:59:23 2018 -0500 Bug 1457598 - Add MinGW and GCC scripts to the resources of fxc2 and nsis to ensure they get rebuilt. r=glandium, a=jcristau --- taskcluster/ci/toolchain/linux.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/taskcluster/ci/toolchain/linux.yml b/taskcluster/ci/toolchain/linux.yml index 3b9449c89828..93274257ee56 100755 --- a/taskcluster/ci/toolchain/linux.yml +++ b/taskcluster/ci/toolchain/linux.yml @@ -546,6 +546,9 @@ linux64-mingw32-nsis: run: using: toolchain-script script: build-mingw32-nsis.sh + resources: + - 'build/unix/build-gcc/build-gcc.sh' + - 'taskcluster/scripts/misc/build-gcc-mingw32.sh' toolchain-artifact: public/build/nsis.tar.xz toolchains: - linux64-mingw32-gcc @@ -564,6 +567,9 @@ linux64-mingw32-fxc2: run: using: toolchain-script script: build-mingw32-fxc2.sh + resources: + - 'build/unix/build-gcc/build-gcc.sh' + - 'taskcluster/scripts/misc/build-gcc-mingw32.sh' toolchain-artifact: public/build/fxc2.tar.xz toolchains: - linux64-mingw32-gcc
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1449835 - Do not compile Windows x64 Crash Test Assembly for MinGW. r=ccorcoran, r=froydnj, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit cffd026e94e42915cf925a0d81fe8bd6eab9e78e Author: Tom Ritter <tom(a)mozilla.com> Date: Wed May 16 13:03:48 2018 -0500 Bug 1449835 - Do not compile Windows x64 Crash Test Assembly for MinGW. r=ccorcoran, r=froydnj, a=jcristau The assembly file uses the wrong syntax and MinGW cannot compile it. (Also, gcc doesn't recognize it, because it ends in .asm and not .s.) --- toolkit/crashreporter/test/moz.build | 7 ++++--- toolkit/crashreporter/test/nsTestCrasher.cpp | 15 ++++++++------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/toolkit/crashreporter/test/moz.build b/toolkit/crashreporter/test/moz.build old mode 100644 new mode 100755 index 34900d09f09b..5b98ff9a58d5 --- a/toolkit/crashreporter/test/moz.build +++ b/toolkit/crashreporter/test/moz.build @@ -25,9 +25,10 @@ SOURCES += [ ] if CONFIG['OS_TARGET'] == 'WINNT' and CONFIG['CPU_ARCH'] == 'x86_64': - SOURCES += [ - 'win64UnwindInfoTests.asm', - ] + if CONFIG['CC_TYPE'] != 'gcc': + SOURCES += [ + 'win64UnwindInfoTests.asm', + ] if CONFIG['CC_TYPE'] == 'clang-cl': SOURCES['ExceptionThrower.cpp'].flags += [ diff --git a/toolkit/crashreporter/test/nsTestCrasher.cpp b/toolkit/crashreporter/test/nsTestCrasher.cpp old mode 100644 new mode 100755 index 3c478efa4d8a..0729382fcd10 --- a/toolkit/crashreporter/test/nsTestCrasher.cpp +++ b/toolkit/crashreporter/test/nsTestCrasher.cpp @@ -1,6 +1,7 @@ #include "mozilla/Assertions.h" #include <stdio.h> +#include <map> #include "nscore.h" #include "mozilla/Unused.h" @@ -45,7 +46,7 @@ void PureVirtualCall() } extern "C" { -#if XP_WIN && HAVE_64BIT_BUILD +#if XP_WIN && HAVE_64BIT_BUILD && !defined(__MINGW32__) // Implementation in win64unwindInfoTests.asm uint64_t x64CrashCFITest_NO_MANS_LAND(uint64_t returnpfn, void*); uint64_t x64CrashCFITest_Launcher(uint64_t returnpfn, void* testProc); @@ -59,7 +60,7 @@ extern "C" { uint64_t x64CrashCFITest_SAVE_XMM128_FAR(uint64_t returnpfn, void*); uint64_t x64CrashCFITest_EPILOG(uint64_t returnpfn, void*); uint64_t x64CrashCFITest_EOF(uint64_t returnpfn, void*); -#endif // XP_WIN && HAVE_64BIT_BUILD +#endif // XP_WIN && HAVE_64BIT_BUILD && !defined(__MINGW32__) } // Keep these in sync with CrashTestUtils.jsm! @@ -82,7 +83,7 @@ const int16_t CRASH_X64CFI_SAVE_XMM128_FAR = 18; const int16_t CRASH_X64CFI_EPILOG = 19; const int16_t CRASH_X64CFI_EOF = 20; -#if XP_WIN && HAVE_64BIT_BUILD +#if XP_WIN && HAVE_64BIT_BUILD && !defined(__MINGW32__) typedef decltype(&x64CrashCFITest_UnknownOpcode) win64CFITestFnPtr_t; @@ -152,7 +153,7 @@ void Crash(int16_t how) ThrowException(); break; } -#if XP_WIN && HAVE_64BIT_BUILD +#if XP_WIN && HAVE_64BIT_BUILD && !defined(__MINGW32__) case CRASH_X64CFI_UNKNOWN_OPCODE: case CRASH_X64CFI_PUSH_NONVOL: case CRASH_X64CFI_ALLOC_SMALL: @@ -172,7 +173,7 @@ void Crash(int16_t how) pfnLauncher(0, pfnTest); break; } -#endif // XP_WIN && HAVE_64BIT_BUILD +#endif // XP_WIN && HAVE_64BIT_BUILD && !defined(__MINGW32__) default: break; } @@ -211,7 +212,7 @@ void TryOverrideExceptionHandler() extern "C" NS_EXPORT uint32_t GetWin64CFITestFnAddrOffset(int16_t fnid) { -#if XP_WIN && HAVE_64BIT_BUILD +#if XP_WIN && HAVE_64BIT_BUILD && !defined(__MINGW32__) // fnid uses the same constants as Crash(). // Returns the RVA of the requested function. // Returns 0 on failure. @@ -223,5 +224,5 @@ GetWin64CFITestFnAddrOffset(int16_t fnid) { return ((uint64_t)m[fnid]) - moduleBase; #else return 0; -#endif // XP_WIN && HAVE_64BIT_BUILD +#endif // XP_WIN && HAVE_64BIT_BUILD && !defined(__MINGW32__) }
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1443823 - Apply no-keep-inline-dllexport to MinGW x64 also. r=glandium, a=jcristau
by gk@torproject.org 14 Jun '18

14 Jun '18
commit 934c7b276556e7060cceddd5843dbc52ce548a78 Author: Tom Ritter <tom(a)mozilla.com> Date: Fri Mar 23 14:35:30 2018 -0500 Bug 1443823 - Apply no-keep-inline-dllexport to MinGW x64 also. r=glandium, a=jcristau MozReview-Commit-ID: 2Nyw738ZHou --HG-- extra : source : cab870519a15f4c097b64f0d12295133fb5db90f --- js/src/old-configure.in | 9 +++++++-- old-configure.in | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/js/src/old-configure.in b/js/src/old-configure.in index 3fec4ece4d24..b9aa86c0d83b 100644 --- a/js/src/old-configure.in +++ b/js/src/old-configure.in @@ -798,11 +798,16 @@ case "$target" in ;; esac + if test -n "$GNU_CC"; then + CFLAGS="$CFLAGS -fno-keep-inline-dllexport" + CXXFLAGS="$CXXFLAGS -fno-keep-inline-dllexport" + fi + case "$target" in i*86-*) if test -n "$GNU_CC"; then - CFLAGS="$CFLAGS -mstackrealign -fno-keep-inline-dllexport" - CXXFLAGS="$CXXFLAGS -mstackrealign -fno-keep-inline-dllexport" + CFLAGS="$CFLAGS -mstackrealign" + CXXFLAGS="$CXXFLAGS -mstackrealign" LDFLAGS="$LDFLAGS -Wl,--large-address-aware" else DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X86" diff --git a/old-configure.in b/old-configure.in index 774429b228e8..dd2fb701cd79 100644 --- a/old-configure.in +++ b/old-configure.in @@ -1043,11 +1043,16 @@ case "$target" in ;; esac + if test -n "$GNU_CC"; then + CFLAGS="$CFLAGS -fno-keep-inline-dllexport" + CXXFLAGS="$CXXFLAGS -fno-keep-inline-dllexport" + fi + case "$target" in i*86-*) if test -n "$GNU_CC"; then - CFLAGS="$CFLAGS -mstackrealign -fno-keep-inline-dllexport" - CXXFLAGS="$CXXFLAGS -mstackrealign -fno-keep-inline-dllexport" + CFLAGS="$CFLAGS -mstackrealign" + CXXFLAGS="$CXXFLAGS -mstackrealign" LDFLAGS="$LDFLAGS -Wl,--enable-stdcall-fixup -Wl,--large-address-aware" else DSO_LDOPTS="$DSO_LDOPTS -MACHINE:X86"
1 0
0 0
[tor-browser-build/master] Bug 26206: Ship pthread related dll with tor
by gk@torproject.org 14 Jun '18

14 Jun '18
commit 907be0ba29c55bac51f47afe1cf8777c5037ffe6 Author: Nicolas Vigier <boklm(a)torproject.org> Date: Thu Jun 14 11:25:15 2018 +0200 Bug 26206: Ship pthread related dll with tor --- projects/tor/build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/projects/tor/build b/projects/tor/build index 3f845ea..8f129d6 100644 --- a/projects/tor/build +++ b/projects/tor/build @@ -31,8 +31,9 @@ openssldir=/var/tmp/dist/openssl [% IF c("var/windows") %] tar -C /var/tmp/build -xf [% c('input_files_by_name/zlib') %] zlibdir=/var/tmp/build/zlib + mingwlibs=/var/tmp/dist/mingw-w64/[% c("arch") %]-w64-mingw32/bin/ cp $zlibdir/lib/*.dll $openssldir/bin/*.dll $libeventdir/bin/*.dll \ - $gcclibs/*.dll $distdir/Tor/ + $gcclibs/*.dll $mingwlibs/libwinpthread-1.dll $distdir/Tor/ [% END %] [% IF c("var/linux") %]
1 0
0 0
[tor-browser-build/master] Bug 26370: Don't copy msvcr100.dll and libssp-0.dll twice
by gk@torproject.org 14 Jun '18

14 Jun '18
commit 37d406206a0d7ec43ae4bcd35889a97fc85eff32 Author: Nicolas Vigier <boklm(a)torproject.org> Date: Thu Jun 14 11:04:43 2018 +0200 Bug 26370: Don't copy msvcr100.dll and libssp-0.dll twice --- projects/firefox/build | 5 ----- 1 file changed, 5 deletions(-) diff --git a/projects/firefox/build b/projects/firefox/build index 3ca8b32..0fd3da2 100644 --- a/projects/firefox/build +++ b/projects/firefox/build @@ -213,11 +213,6 @@ cd $distdir [% c("var/rezip", { rezip_file => '"Tor Browser.app/Contents/Resources/browser/omni.ja"' }) %] [% END %] -[% IF c("var/windows") %] - cp $rootdir/msvcr100.dll Browser/ - cp $gcclibs/libssp-0.dll Browser/ -[% END %] - mkdir -p [% dest_dir _ '/' _ c('filename') %] [%
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 1463509 - SOCKS support for Alternative Services r=valentin
by gk@torproject.org 13 Jun '18

13 Jun '18
commit 8a68f975ee5faa39efa26a79062476ab50dd18ab Author: Patrick McManus <mcmanus(a)ducksong.com> Date: Tue May 22 13:50:56 2018 -0400 Bug 1463509 - SOCKS support for Alternative Services r=valentin MozReview-Commit-ID: 1oXnQuzOqsC --HG-- extra : rebase_source : 84bfaec48c5fc216da6586e7f06f118292d3fb17 --- netwerk/base/nsSocketTransport2.cpp | 32 +++++++++++++++++++++-------- netwerk/protocol/http/AlternateServices.cpp | 8 +++++++- netwerk/protocol/http/AlternateServices.h | 4 ++++ netwerk/protocol/http/nsHttpChannel.cpp | 5 ++--- 4 files changed, 37 insertions(+), 12 deletions(-) diff --git a/netwerk/base/nsSocketTransport2.cpp b/netwerk/base/nsSocketTransport2.cpp index df01e62f55d3..aa9232f4698c 100644 --- a/netwerk/base/nsSocketTransport2.cpp +++ b/netwerk/base/nsSocketTransport2.cpp @@ -1170,7 +1170,7 @@ nsSocketTransport::BuildSocket(PRFileDesc *&fd, bool &proxyTransparent, bool &us uint32_t controlFlags = 0; uint32_t i; - for (i=0; i<mTypeCount; ++i) { + for (i = 0; i < mTypeCount; ++i) { nsCOMPtr<nsISocketProvider> provider; SOCKET_LOG((" pushing io layer [%u:%s]\n", i, mTypes[i])); @@ -1199,12 +1199,30 @@ nsSocketTransport::BuildSocket(PRFileDesc *&fd, bool &proxyTransparent, bool &us // if this is the first type, we'll want the // service to allocate a new socket + // Most layers _ESPECIALLY_ PSM want the origin name here as they + // will use it for secure checks, etc.. and any connection management + // differences between the origin name and the routed name can be + // taken care of via DNS. However, SOCKS is a special case as there is + // no DNS. in the case of SOCKS and PSM the PSM is a separate layer + // and receives the origin name. + const char *socketProviderHost = host; + int32_t socketProviderPort = port; + if (mProxyTransparentResolvesHost && + (!strcmp(mTypes[0], "socks") || !strcmp(mTypes[0], "socks4"))) { + SOCKET_LOG(("SOCKS %d Host/Route override: %s:%d -> %s:%d\n", + mHttpsProxy, + socketProviderHost, socketProviderPort, + mHost.get(), mPort)); + socketProviderHost = mHost.get(); + socketProviderPort = mPort; + } + // when https proxying we want to just connect to the proxy as if // it were the end host (i.e. expect the proxy's cert) rv = provider->NewSocket(mNetAddr.raw.family, - mHttpsProxy ? mProxyHost.get() : host, - mHttpsProxy ? mProxyPort : port, + mHttpsProxy ? mProxyHost.get() : socketProviderHost, + mHttpsProxy ? mProxyPort : socketProviderPort, proxyInfo, mOriginAttributes, controlFlags, mTlsFlags, &fd, getter_AddRefs(secinfo)); @@ -1213,8 +1231,7 @@ nsSocketTransport::BuildSocket(PRFileDesc *&fd, bool &proxyTransparent, bool &us NS_NOTREACHED("NewSocket succeeded but failed to create a PRFileDesc"); rv = NS_ERROR_UNEXPECTED; } - } - else { + } else { // the socket has already been allocated, // so we just want the service to add itself // to the stack (such as pushing an io layer) @@ -1245,9 +1262,8 @@ nsSocketTransport::BuildSocket(PRFileDesc *&fd, bool &proxyTransparent, bool &us secCtrl->SetNotificationCallbacks(callbacks); // remember if socket type is SSL so we can ProxyStartSSL if need be. usingSSL = isSSL; - } - else if ((strcmp(mTypes[i], "socks") == 0) || - (strcmp(mTypes[i], "socks4") == 0)) { + } else if ((strcmp(mTypes[i], "socks") == 0) || + (strcmp(mTypes[i], "socks4") == 0)) { // since socks is transparent, any layers above // it do not have to worry about proxy stuff proxyInfo = nullptr; diff --git a/netwerk/protocol/http/AlternateServices.cpp b/netwerk/protocol/http/AlternateServices.cpp index 2ce3d333d60d..f4cfa800715b 100644 --- a/netwerk/protocol/http/AlternateServices.cpp +++ b/netwerk/protocol/http/AlternateServices.cpp @@ -46,6 +46,12 @@ SchemeIsHTTPS(const nsACString &originScheme, bool &outIsHTTPS) return NS_OK; } +bool +AltSvcMapping::AcceptableProxy(nsProxyInfo *proxyInfo) +{ + return !proxyInfo || proxyInfo->IsDirect() || proxyInfo->IsSOCKS(); +} + void AltSvcMapping::ProcessHeader(const nsCString &buf, const nsCString &originScheme, const nsCString &originHost, int32_t originPort, @@ -59,7 +65,7 @@ AltSvcMapping::ProcessHeader(const nsCString &buf, const nsCString &originScheme return; } - if (proxyInfo && !proxyInfo->IsDirect()) { + if (!AcceptableProxy(proxyInfo)) { LOG(("AltSvcMapping::ProcessHeader ignoring due to proxy\n")); return; } diff --git a/netwerk/protocol/http/AlternateServices.h b/netwerk/protocol/http/AlternateServices.h index 051f010801b4..688586ba5b89 100644 --- a/netwerk/protocol/http/AlternateServices.h +++ b/netwerk/protocol/http/AlternateServices.h @@ -66,6 +66,10 @@ public: nsIInterfaceRequestor *callbacks, nsProxyInfo *proxyInfo, uint32_t caps, const OriginAttributes &originAttributes); + // AcceptableProxy() decides whether a particular proxy configuration (pi) is suitable + // for use with Alt-Svc. No proxy (including a null pi) is suitable. + static bool AcceptableProxy(nsProxyInfo *pi); + const nsCString &AlternateHost() const { return mAlternateHost; } const nsCString &OriginHost() const { return mOriginHost; } uint32_t OriginPort() const { return mOriginPort; } diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp index 28ff7709863e..35b4b4dfeb1e 100644 --- a/netwerk/protocol/http/nsHttpChannel.cpp +++ b/netwerk/protocol/http/nsHttpChannel.cpp @@ -6163,9 +6163,8 @@ nsHttpChannel::BeginConnect() RefPtr<AltSvcMapping> mapping; if (!mConnectionInfo && mAllowAltSvc && // per channel !(mLoadFlags & LOAD_FRESH_CONNECTION) && - (scheme.EqualsLiteral("http") || - scheme.EqualsLiteral("https")) && - (!proxyInfo || proxyInfo->IsDirect()) && + AltSvcMapping::AcceptableProxy(proxyInfo) && + (scheme.EqualsLiteral("http") || scheme.EqualsLiteral("https")) && (mapping = gHttpHandler->GetAltServiceMapping(scheme, host, port, mPrivateBrowsing,
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Revert "Bug 23916: Add new MAR signing key"
by gk@torproject.org 13 Jun '18

13 Jun '18
commit d77a0ec835e8ee8e4beab614722c02fa7fd96119 Author: Georg Koppen <gk(a)torproject.org> Date: Wed Jun 13 08:58:27 2018 +0000 Revert "Bug 23916: Add new MAR signing key" This reverts commit e984b8c54c7592057c060f7a2e13b378a355b1d0. --- toolkit/mozapps/update/updater/release_primary.der | Bin 1229 -> 1225 bytes toolkit/mozapps/update/updater/release_secondary.der | Bin 1229 -> 1225 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/toolkit/mozapps/update/updater/release_primary.der b/toolkit/mozapps/update/updater/release_primary.der index cce786025698..1d94f88ad73b 100644 Binary files a/toolkit/mozapps/update/updater/release_primary.der and b/toolkit/mozapps/update/updater/release_primary.der differ diff --git a/toolkit/mozapps/update/updater/release_secondary.der b/toolkit/mozapps/update/updater/release_secondary.der index caf3eca56804..474706c4b73c 100644 Binary files a/toolkit/mozapps/update/updater/release_secondary.der and b/toolkit/mozapps/update/updater/release_secondary.der differ
1 0
0 0
[tor-browser/tor-browser-60.0.1esr-8.0-1] Bug 26045: Add new MAR signing keys
by gk@torproject.org 13 Jun '18

13 Jun '18
commit 1f78032d48850e0197608ac1d9906a095e2a4c06 Author: Georg Koppen <gk(a)torproject.org> Date: Wed Jun 13 09:03:59 2018 +0000 Bug 26045: Add new MAR signing keys We need to have new MAR singning keys for our watershed update: both keys we shipped so far need to get replaced by news ones, now using SHA-384 as their hash algorithm. --- toolkit/mozapps/update/updater/release_primary.der | Bin 1225 -> 1229 bytes toolkit/mozapps/update/updater/release_secondary.der | Bin 1225 -> 1229 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/toolkit/mozapps/update/updater/release_primary.der b/toolkit/mozapps/update/updater/release_primary.der index 1d94f88ad73b..ec74f89dc807 100644 Binary files a/toolkit/mozapps/update/updater/release_primary.der and b/toolkit/mozapps/update/updater/release_primary.der differ diff --git a/toolkit/mozapps/update/updater/release_secondary.der b/toolkit/mozapps/update/updater/release_secondary.der index 474706c4b73c..0103a171de88 100644 Binary files a/toolkit/mozapps/update/updater/release_secondary.der and b/toolkit/mozapps/update/updater/release_secondary.der differ
1 0
0 0
[tor-browser-build/master] Bug 26354: check for SSE2 support in start-tor-browser
by gk@torproject.org 13 Jun '18

13 Jun '18
commit fb3315fbc961f924012dcf97d346ce9527f85505 Author: Nicolas Vigier <boklm(a)torproject.org> Date: Tue Jun 12 20:02:49 2018 +0200 Bug 26354: check for SSE2 support in start-tor-browser --- projects/tor-browser/RelativeLink/start-tor-browser | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/projects/tor-browser/RelativeLink/start-tor-browser b/projects/tor-browser/RelativeLink/start-tor-browser index 0590eed..6639f44 100755 --- a/projects/tor-browser/RelativeLink/start-tor-browser +++ b/projects/tor-browser/RelativeLink/start-tor-browser @@ -96,6 +96,11 @@ if [ "`id -u`" -eq 0 ]; then exit 1 fi +if ! grep -q '^flags\s*:.* sse2' /proc/cpuinfo; then + complain "Tor Browser requires a CPU with SSE2 support. Exiting." + exit 1 +fi + tbb_usage () { printf "\nTor Browser Script Options\n" printf " --verbose Display Tor and Firefox output in the terminal\n"
1 0
0 0
[tor-browser-build/master] Bug 26354: check for SSE2 support before updating Linux users
by gk@torproject.org 13 Jun '18

13 Jun '18
commit 17d7ca8fb2be71b72b429c59fed8a10c042a4a49 Author: Nicolas Vigier <boklm(a)torproject.org> Date: Tue Jun 12 20:09:56 2018 +0200 Bug 26354: check for SSE2 support before updating Linux users We were setting the minSupportedInstructionSet attribute for the win32 updates only. We now set it on all platforms. --- projects/release/update_responses_config.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/projects/release/update_responses_config.yml b/projects/release/update_responses_config.yml index 1a9b0cf..6861124 100644 --- a/projects/release/update_responses_config.yml +++ b/projects/release/update_responses_config.yml @@ -38,8 +38,7 @@ versions: osx32: osx64 migrate_langs: pt-PT: pt-BR - win32: - minSupportedInstructionSet: SSE2 + minSupportedInstructionSet: SSE2 osx32: minSupportedOSVersion: 13.0.0 osx64:
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 654
  • 655
  • 656
  • 657
  • 658
  • 659
  • 660
  • ...
  • 806
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.