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:
Andreea Pavel 2019-12-12 08:35:11 +02:00
Родитель c9c34fda3f
Коммит a533b175dd
16 изменённых файлов: 68 добавлений и 70 удалений

Просмотреть файл

@ -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