зеркало из https://github.com/mozilla/gecko-dev.git
Backed out 4 changesets (bug 1590624) for breaking gecko decision task on a CLOSED TREE
Backed out changeset 2ac8dd1d709d (bug 1590624) Backed out changeset 8432398c212a (bug 1590624) Backed out changeset 2b28154aacdb (bug 1590624) Backed out changeset d305e4160ee4 (bug 1590624) --HG-- rename : build/build-clang/clang-9-mingw.json => build/build-clang/clang-8-mingw.json rename : taskcluster/scripts/misc/build-clang-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
This commit is contained in:
Родитель
c9c34fda3f
Коммит
a533b175dd
|
@ -57,7 +57,7 @@ BINDGEN_CFLAGS="-I$MOZ_FETCHES_DIR/clang/i686-w64-mingw32/include/c++/v1 -I$MOZ_
|
|||
|
||||
# We want to make sure we use binutils and other binaries in the tooltool
|
||||
# package.
|
||||
mk_add_options "export PATH=$MOZ_FETCHES_DIR/clang/bin:$MOZ_FETCHES_DIR/mingw32/bin:$MOZ_FETCHES_DIR/wine/bin:$MOZ_FETCHES_DIR/upx/bin:$MOZ_FETCHES_DIR/fxc2/bin:$MOZ_FETCHES_DIR/binutils/bin:$PATH"
|
||||
mk_add_options "export PATH=$MOZ_FETCHES_DIR/clang/bin:$MOZ_FETCHES_DIR/mingw32/bin:$MOZ_FETCHES_DIR/wine/bin:$MOZ_FETCHES_DIR/upx/bin:$MOZ_FETCHES_DIR/fxc2/bin:$PATH"
|
||||
|
||||
LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$MOZ_FETCHES_DIR/mingw32/lib64:$MOZ_FETCHES_DIR/clang/lib
|
||||
mk_add_options "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
|
|
@ -57,7 +57,7 @@ BINDGEN_CFLAGS="-I$MOZ_FETCHES_DIR/clang/x86_64-w64-mingw32/include/c++/v1 -I$MO
|
|||
|
||||
# We want to make sure we use binutils and other binaries in the tooltool
|
||||
# package.
|
||||
mk_add_options "export PATH=$MOZ_FETCHES_DIR/clang/bin:$MOZ_FETCHES_DIR/mingw32/bin:$MOZ_FETCHES_DIR/wine/bin:$MOZ_FETCHES_DIR/upx/bin:$MOZ_FETCHES_DIR/fxc2/bin:$MOZ_FETCHES_DIR/binutils/bin:$PATH"
|
||||
mk_add_options "export PATH=$MOZ_FETCHES_DIR/clang/bin:$MOZ_FETCHES_DIR/mingw32/bin:$MOZ_FETCHES_DIR/wine/bin:$MOZ_FETCHES_DIR/upx/bin:$MOZ_FETCHES_DIR/fxc2/bin:$PATH"
|
||||
|
||||
LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$MOZ_FETCHES_DIR/mingw32/lib64:$MOZ_FETCHES_DIR/clang/lib
|
||||
mk_add_options "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"stages": "3",
|
||||
"build_libcxx": true,
|
||||
"build_type": "Release",
|
||||
"assertions": false,
|
||||
"python_path": "/usr/bin/python2.7",
|
||||
"gcc_dir": "{MOZ_FETCHES_DIR}/gcc",
|
||||
"cc": "{MOZ_FETCHES_DIR}/gcc/bin/gcc",
|
||||
"cxx": "{MOZ_FETCHES_DIR}/gcc/bin/g++",
|
||||
"as": "{MOZ_FETCHES_DIR}/gcc/bin/gcc",
|
||||
"patches": [
|
||||
"mingwclang-llvm-objcopy-COFF-Remove-a-superfluous-namespace-qua.patch",
|
||||
"mingwclang-llvm-objcopy-COFF-Add-support-for-removing-sections.patch",
|
||||
"mingwclang-llvm-objcopy-COFF-Implement-strip-debug.patch",
|
||||
"mingwclang-llvm-objcopy-COFF-Implement-only-keep-debug.patch",
|
||||
"mingwclang-llvm-objcopy-COFF-Implement-only-section.patch",
|
||||
"mingwclang-llvm-objcopy-Consistently-use-createStringError-inst.patch",
|
||||
"mingwclang-llvm-objcopy-COFF-Update-symbol-indices-in-weak-exte.patch",
|
||||
"mingwclang-llvm-objcopy-Return-Error-from-Buffer-allocate-ELF-W.patch",
|
||||
"mingwclang-Reapply-llvm-objcopy-COFF-Implement-add-gnu-debuglin.patch",
|
||||
"mingwclang-llvm-objcopy-COFF-Clear-the-unwritten-tail-of-coff_s.patch",
|
||||
"mingwclang-llvm-objcopy-COFF-Fix-handling-of-aux-symbols-for-bi.patch",
|
||||
"mingwclang-llvm-objcopy-COFF-Error-out-on-use-of-unhandled-opti.patch"
|
||||
]
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"stages": "3",
|
||||
"build_libcxx": true,
|
||||
"build_type": "Release",
|
||||
"assertions": false,
|
||||
"python_path": "/usr/bin/python2.7",
|
||||
"gcc_dir": "{MOZ_FETCHES_DIR}/gcc",
|
||||
"cc": "{MOZ_FETCHES_DIR}/gcc/bin/gcc",
|
||||
"cxx": "{MOZ_FETCHES_DIR}/gcc/bin/g++",
|
||||
"as": "{MOZ_FETCHES_DIR}/gcc/bin/gcc",
|
||||
"patches": [
|
||||
]
|
||||
}
|
|
@ -41,10 +41,10 @@ HOST_DEFINES = {
|
|||
include('stl-headers.mozbuild')
|
||||
if CONFIG['WRAP_STL_INCLUDES']:
|
||||
stl_compiler = None
|
||||
if CONFIG['OS_TARGET'] == 'WINNT':
|
||||
stl_compiler = 'msvc'
|
||||
else:
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
stl_compiler = 'gcc'
|
||||
elif CONFIG['CC_TYPE'] == 'clang-cl':
|
||||
stl_compiler = 'msvc'
|
||||
|
||||
if stl_compiler:
|
||||
# Note that the 'stl_wrappers' folder is known to the build system as
|
||||
|
@ -67,7 +67,7 @@ if CONFIG['WRAP_STL_INCLUDES']:
|
|||
# NOTE: If we aren't wrapping STL includes, we're building part of the browser
|
||||
# which won't need this wrapper, such as L10N. Just don't try to generate the
|
||||
# wrapper in that case.
|
||||
if CONFIG['OS_TARGET'] == 'WINNT':
|
||||
if CONFIG['OS_ARCH'] == 'WINNT':
|
||||
GeneratedFile('../dist/stl_wrappers/windows.h',
|
||||
script='make-windows-h-wrapper.py',
|
||||
entry_point='generate',
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#include "src/core/SkCpu.h"
|
||||
|
||||
#if defined(SK_CPU_X86)
|
||||
#if defined(SK_BUILD_FOR_WIN) && !defined(__MINGW32__)
|
||||
#if defined(SK_BUILD_FOR_WIN)
|
||||
#include <intrin.h>
|
||||
static void cpuid (uint32_t abcd[4]) { __cpuid ((int*)abcd, 1); }
|
||||
static void cpuid7(uint32_t abcd[4]) { __cpuidex((int*)abcd, 7, 0); }
|
||||
|
|
|
@ -121,25 +121,20 @@ wchar_t* wcsdup(const wchar_t* src)
|
|||
wchar_t* _wcsdup(const wchar_t* src)
|
||||
__attribute__((alias(MOZ_STRINGIFY(wcsdup_impl))));
|
||||
|
||||
// jemalloc has _aligned_malloc, and friends. libc++.a contains
|
||||
// references to __imp__aligned_malloc (and friends) because it
|
||||
// is declared dllimport in the headers.
|
||||
// libc++.a contains references to __imp__aligned_malloc (because it
|
||||
// is declared dllimport in the headers.)
|
||||
//
|
||||
// The linker sees jemalloc's _aligned_malloc symbol in our objects,
|
||||
// but then libc++.a comes along and needs __imp__aligned_malloc, which
|
||||
// The linker sees jemalloc's _aligned_malloc symbol in your objects,
|
||||
// then libc++.a comes along and needs __imp__aligned_malloc, which
|
||||
// pulls in those parts of libucrt.a (or libmsvcrt.a in practice),
|
||||
// which define both __imp__aligned_malloc and _aligned_malloc, and
|
||||
// this causes a conflict. (And repeat for each of the symbols defined
|
||||
// here.)
|
||||
// this causes a conflict.
|
||||
//
|
||||
// The fix is to define not only an _aligned_malloc symbol (via an
|
||||
// alias), but also define the __imp__aligned_malloc pointer to it.
|
||||
// This prevents those parts of libucrt from being pulled in and causing
|
||||
// conflicts.
|
||||
// This is done with __MINGW_IMP_SYMBOL to handle x86/x64 differences.
|
||||
void (*__MINGW_IMP_SYMBOL(_aligned_free))(void*) = _aligned_free;
|
||||
void* (*__MINGW_IMP_SYMBOL(_aligned_malloc))(size_t, size_t) = _aligned_malloc;
|
||||
char* (*__MINGW_IMP_SYMBOL(_strdup))(const char* src) = _strdup;
|
||||
MOZ_END_EXTERN_C
|
||||
# endif
|
||||
#endif // XP_WIN
|
||||
|
|
|
@ -40,6 +40,14 @@ static bool has_cpuid_bits(unsigned int level, CPUIDRegister reg,
|
|||
return (regs[reg] & bits) == bits;
|
||||
}
|
||||
|
||||
# if !defined(MOZILLA_PRESUME_AVX)
|
||||
static uint64_t xgetbv(uint32_t xcr) {
|
||||
uint32_t eax, edx;
|
||||
__asm__(".byte 0x0f, 0x01, 0xd0" : "=a"(eax), "=d"(edx) : "c"(xcr));
|
||||
return (uint64_t)(edx) << 32 | eax;
|
||||
}
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_AMD64))
|
||||
|
||||
enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 };
|
||||
|
@ -57,6 +65,10 @@ static bool has_cpuid_bits(unsigned int level, CPUIDRegister reg,
|
|||
return (unsigned(regs[reg]) & bits) == bits;
|
||||
}
|
||||
|
||||
# if !defined(MOZILLA_PRESUME_AVX)
|
||||
static uint64_t xgetbv(uint32_t xcr) { return _xgetbv(xcr); }
|
||||
# endif
|
||||
|
||||
#elif (defined(__GNUC__) || defined(__SUNPRO_CC)) && \
|
||||
(defined(__i386) || defined(__x86_64__))
|
||||
|
||||
|
@ -182,15 +194,4 @@ bool aes_enabled = has_cpuid_bits(1u, ecx, (1u << 25));
|
|||
#endif
|
||||
|
||||
} // namespace sse_private
|
||||
|
||||
#ifdef HAVE_CPUID_H
|
||||
|
||||
uint64_t xgetbv(uint32_t xcr) {
|
||||
uint32_t eax, edx;
|
||||
__asm__(".byte 0x0f, 0x01, 0xd0" : "=a"(eax), "=d"(edx) : "c"(xcr));
|
||||
return (uint64_t)(edx) << 32 | eax;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
} // namespace mozilla
|
||||
|
|
|
@ -227,10 +227,6 @@ extern bool MFBT_DATA aes_enabled;
|
|||
#endif
|
||||
} // namespace sse_private
|
||||
|
||||
#ifdef HAVE_CPUID_H
|
||||
MOZ_EXPORT uint64_t xgetbv(uint32_t xcr);
|
||||
#endif
|
||||
|
||||
#if defined(MOZILLA_PRESUME_MMX)
|
||||
# define MOZILLA_MAY_SUPPORT_MMX 1
|
||||
inline bool supports_mmx() { return true; }
|
||||
|
|
|
@ -206,6 +206,8 @@ case "$target" in
|
|||
|
||||
WRAP_STL_INCLUDES=1
|
||||
STL_FLAGS="-I${DIST}/stl_wrappers"
|
||||
CFLAGS="$CFLAGS -D_HAS_EXCEPTIONS=0"
|
||||
CXXFLAGS="$CXXFLAGS -D_HAS_EXCEPTIONS=0"
|
||||
else
|
||||
# Check w32api version
|
||||
_W32API_MAJOR_VERSION=`echo $W32API_VERSION | $AWK -F\. '{ print $1 }'`
|
||||
|
@ -227,9 +229,6 @@ case "$target" in
|
|||
AC_DEFINE(STRSAFE_NO_DEPRECATE)
|
||||
fi # !GNU_CC
|
||||
|
||||
CFLAGS="$CFLAGS -D_HAS_EXCEPTIONS=0"
|
||||
CXXFLAGS="$CXXFLAGS -D_HAS_EXCEPTIONS=0"
|
||||
|
||||
AC_DEFINE_UNQUOTED(WINVER,0x$WINVER)
|
||||
AC_DEFINE_UNQUOTED(_WIN32_WINNT,0x$WINVER)
|
||||
# Require OS features provided by IE 8.0 (Win7)
|
||||
|
|
|
@ -371,14 +371,14 @@ libunwind:
|
|||
fetch:
|
||||
type: git
|
||||
repo: https://github.com/llvm-mirror/libunwind
|
||||
revision: efd17a11b0fae29d3414e11e99307e082d4ee949
|
||||
revision: 6ee92fcc97350ae32db3172a269e9afcc2bab686
|
||||
|
||||
llvm-mingw:
|
||||
description: llvm-mingw source code
|
||||
fetch:
|
||||
type: git
|
||||
repo: https://github.com/mstorsjo/llvm-mingw
|
||||
revision: 9f8e5cebd6dbbb7546e8917e6c59284699a48d26
|
||||
revision: c3a16814bd26aa6702e1e5b482a3d9044bb0f725
|
||||
|
||||
android-rs-glue:
|
||||
description: android-rs-glue source code
|
||||
|
|
|
@ -86,54 +86,52 @@ linux64-clang-9-cross:
|
|||
- linux64-binutils
|
||||
- linux64-gcc-7
|
||||
|
||||
linux64-clang-9-mingw-x86:
|
||||
linux64-clang-8-mingw-x86:
|
||||
description: "MinGW-Clang Trunk x86 toolchain build"
|
||||
treeherder:
|
||||
symbol: TMW(clang-x86)
|
||||
run:
|
||||
script: build-clang-mingw.sh
|
||||
script: build-clang-8-mingw.sh
|
||||
arguments:
|
||||
- 'x86'
|
||||
- 'build/build-clang/clang-9-mingw.json'
|
||||
- 'build/build-clang/clang-8-mingw.json'
|
||||
resources:
|
||||
- 'build/build-clang/clang-9-mingw.json'
|
||||
- 'build/build-clang/clang-8-mingw.json'
|
||||
toolchain-alias: linux64-clang-mingw-x86
|
||||
toolchain-artifact: public/build/clangmingw.tar.xz
|
||||
fetches:
|
||||
fetch:
|
||||
- clang-9
|
||||
- clang-8
|
||||
- mingw-w64
|
||||
- libunwind
|
||||
- llvm-mingw
|
||||
- gcc-9.1.0
|
||||
toolchain:
|
||||
- linux64-gcc-7
|
||||
- linux64-binutils
|
||||
|
||||
linux64-clang-9-mingw-x64:
|
||||
linux64-clang-8-mingw-x64:
|
||||
description: "MinGW-Clang Trunk x64 toolchain build"
|
||||
treeherder:
|
||||
symbol: TMW(clang-x64)
|
||||
tier: 1
|
||||
run:
|
||||
script: build-clang-mingw.sh
|
||||
script: build-clang-8-mingw.sh
|
||||
arguments:
|
||||
- 'x64'
|
||||
- 'build/build-clang/clang-9-mingw.json'
|
||||
- 'build/build-clang/clang-8-mingw.json'
|
||||
resources:
|
||||
- 'build/build-clang/clang-9-mingw.json'
|
||||
- 'build/build-clang/clang-8-mingw.json'
|
||||
toolchain-alias: linux64-clang-mingw-x64
|
||||
toolchain-artifact: public/build/clangmingw.tar.xz
|
||||
fetches:
|
||||
fetch:
|
||||
- clang-9
|
||||
- clang-8
|
||||
- mingw-w64
|
||||
- libunwind
|
||||
- llvm-mingw
|
||||
- gcc-9.1.0
|
||||
toolchain:
|
||||
- linux64-gcc-7
|
||||
- linux64-binutils
|
||||
|
||||
linux64-clang-9-android-cross:
|
||||
description: "Clang 9 toolchain build"
|
||||
|
|
|
@ -74,4 +74,4 @@ linux64-mingw-fxc2-x86:
|
|||
fetch:
|
||||
- fxc2
|
||||
toolchain:
|
||||
- linux64-clang-mingw-x86
|
||||
- linux64-clang-8-mingw-x86
|
||||
|
|
|
@ -61,5 +61,5 @@ win32-minidump-stackwalk:
|
|||
arguments: ['mingw32']
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang-mingw-x86
|
||||
- linux64-clang-8-mingw-x86
|
||||
- mingw32-rust-1.39
|
||||
|
|
|
@ -27,10 +27,6 @@ CROSS_PREFIX_DIR=$INSTALL_DIR/$machine-w64-mingw32
|
|||
|
||||
make_flags="-j$(nproc)"
|
||||
|
||||
if [ -d "$MOZ_FETCHES_DIR/binutils/bin" ]; then
|
||||
export PATH="$MOZ_FETCHES_DIR/binutils/bin:$PATH"
|
||||
fi
|
||||
|
||||
# This is default value of _WIN32_WINNT. Gecko configure script explicitly sets this,
|
||||
# so this is not used to build Gecko itself. We default to 0x601, which is Windows 7.
|
||||
default_win32_winnt=0x601
|
|
@ -17,7 +17,6 @@
|
|||
#include "mozilla/Preferences.h"
|
||||
#include "mozilla/gfx/DeviceManagerDx.h"
|
||||
#include "mozilla/gfx/Logging.h"
|
||||
#include "mozilla/SSE.h"
|
||||
#include "nsExceptionHandler.h"
|
||||
#include "nsPrintfCString.h"
|
||||
#include "jsapi.h"
|
||||
|
@ -33,6 +32,8 @@ using namespace mozilla::widget;
|
|||
NS_IMPL_ISUPPORTS_INHERITED(GfxInfo, GfxInfoBase, nsIGfxInfoDebug)
|
||||
#endif
|
||||
|
||||
static const uint32_t allWindowsVersions = 0xffffffff;
|
||||
|
||||
GfxInfo::GfxInfo()
|
||||
: mWindowsVersion(0), mActiveGPUIndex(0), mHasDualGPU(false) {}
|
||||
|
||||
|
@ -1097,7 +1098,7 @@ static inline bool DetectBrokenAVX() {
|
|||
}
|
||||
|
||||
const unsigned AVX_CTRL_BITS = (1 << 1) | (1 << 2);
|
||||
return (xgetbv(0) & AVX_CTRL_BITS) != AVX_CTRL_BITS;
|
||||
return (_xgetbv(0) & AVX_CTRL_BITS) != AVX_CTRL_BITS;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче