Skip to content
Snippets Groups Projects
Verified Commit 3e26939c authored by Pier Angelo Vendrame's avatar Pier Angelo Vendrame :jack_o_lantern:
Browse files

Bug 41448: Update toolchains for ESR140 (macOS).

macOS specific updates for Firefox 140.
parent 90cccdd8
No related branches found
No related tags found
1 merge request!1212Bug 41448: Desktop toolchain update
......@@ -10,6 +10,8 @@ mkdir -p /var/tmp/build
tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.[% c('compress_tar') %]
cd /var/tmp/build/[% project %]-[% c('version') %]/cctools
patch -p2 < $rootdir/cctools.patch
export CC=$CLANG_DIR/bin/clang
export CXX=$CLANG_DIR/bin/clang++
export LDFLAGS="-lpthread -Wl,-rpath-link,$CLANG_DIR/lib -Wl,-rpath,\\\$\$ORIGIN/../lib,-rpath,\\\$\$ORIGIN/../../clang/lib"
......
......
diff --git a/cctools/ld64/src/ld/Resolver.cpp b/cctools/ld64/src/ld/Resolver.cpp
index bfb67a3..d5b1c67 100644
--- a/cctools/ld64/src/ld/Resolver.cpp
+++ b/cctools/ld64/src/ld/Resolver.cpp
@@ -1178,9 +1178,10 @@ void Resolver::deadStripOptimize(bool force)
// unset liveness, so markLive() will recurse
(const_cast<ld::Atom*>(atom))->setLive(0);
}
- // <rdar://problem/49468634> if doing LTO, mark all libclang_rt* mach-o atoms as live since the backend may suddenly codegen uses of them
+ // <rdar://problem/49468634> if doing LTO, mark all libclang_rt* mach-o atoms as live since the backend may suddenly codegen uses of them.
+ // Likewise with rust compiler_builtins atoms. They may come from a libcompiler_builtins-<hash>.a lib, or from a compiler_builtins-... member of a rust static library.
else if ( _haveLLVMObjs && !force && (atom->contentType() != ld::Atom::typeLTOtemporary) ) {
- if ( strstr(atom->safeFilePath(), "libclang_rt") != nullptr ) {
+ if ( strstr(atom->safeFilePath(), "libclang_rt") != nullptr || strstr(atom->safeFilePath(), "compiler_builtins") != nullptr ) {
_deadStripRoots.insert(atom);
}
}
diff --git a/cctools/ld64/src/ld/code-sign-blobs/blob.h b/cctools/ld64/src/ld/code-sign-blobs/blob.h
index 54afb2d..c17d19b 100644
--- a/cctools/ld64/src/ld/code-sign-blobs/blob.h
+++ b/cctools/ld64/src/ld/code-sign-blobs/blob.h
@@ -181,9 +181,6 @@ public:
return NULL;
}
- BlobType *clone() const
- { assert(validateBlob()); return specific(this->BlobCore::clone()); }
-
static BlobType *readBlob(int fd)
{ return specific(BlobCore::readBlob(fd, _magic, sizeof(BlobType), 0), true); }
......@@ -14,3 +14,6 @@ input_files:
project: clang
- name: libtapi
project: libtapi
# taskcluster/scripts/misc/cctools.patch in Firefox.
# Taken from 4856fd3c1e927929217441bd256169485c8bc7d2.
- filename: cctools.patch
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("arch") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
version: 14.4
version: 15.4
container:
use_container: 1
var:
......@@ -27,9 +27,8 @@ input_files:
- name: ninja
project: ninja
- name: SDK
# Original URL: https://swcdn.apple.com/content/downloads/14/48/052-59890-A_I0F5YGAY0Y/p9n40hio7892gou31o1v031ng6fnm9sb3c/CLTools_macOSNMOS_SDK.pkg
URL: https://build-sources.tbb.torproject.org/CLTools_macOSNMOS_SDK-14.4.pkg
sha512sum: a4e05d2a051027620c86f72694da126a2ceed59b8740270426c4ca3adb38e16fe981b536a373a7f0cdcc84bbe9d9149608ccd03967dbd94262548ccadbfa0f5d
URL: https://swcdn.apple.com/content/downloads/10/32/082-12052-A_AHPGDY76PT/1a419zaf3vh8o9t3c0usblyr8eystpnsh5/CLTools_macOSNMOS_SDK.pkg
sha512sum: fd01c70038dbef48bd23fb8b7d18f234910733635f1b44518e71a66d2db92a70180e6a595c6bdd837fa8df7e9b297e570560842e9a6db863840bd051fe69fea5
- name: llvm-project
project: llvm-project
- project: wasi-sysroot
......
......
......@@ -17,7 +17,7 @@ from collections import deque, namedtuple
from xml.etree.ElementTree import XML
class ZlibFile(object):
class ZlibFile:
def __init__(self, fileobj):
self.fileobj = fileobj
self.decompressor = zlib.decompressobj()
......@@ -97,7 +97,7 @@ def unxar(fileobj):
yield filename, content
class Pbzx(object):
class Pbzx:
def __init__(self, fileobj):
magic = fileobj.read(4)
if magic != b"pbzx":
......@@ -108,6 +108,8 @@ class Pbzx(object):
# check.
chunk_size = fileobj.read(8)
chunk_size = struct.unpack(">Q", chunk_size)[0]
# Not using mozbuild.util.cpu_count() because this file is used standalone
# to generate system symbols.
executor = concurrent.futures.ThreadPoolExecutor(max_workers=os.cpu_count())
self.chunk_getter = executor.map(self._uncompress_chunk, self._chunker(fileobj))
self._init_one_chunk()
......@@ -153,7 +155,7 @@ class Pbzx(object):
return result
class Take(object):
class Take:
"""
File object wrapper that allows to read at most a certain length.
"""
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment