parent
e3df3fa73e
commit
c3fea07699
@ -0,0 +1,17 @@
|
|||||||
|
GCC: make VRegister::from_code() constexpr on aarch64
|
||||||
|
|
||||||
|
LiftoffRegister::gp() and LiftoffRegister::fp() are constexpr.
|
||||||
|
Therefore, VRegister::from_code() needs to be constexpr as well.
|
||||||
|
diff --git a/v8/src/codegen/arm64/register-arm64.h b/v8/src/codegen/arm64/register-arm64.h
|
||||||
|
index 1150daf..21007a5 100644
|
||||||
|
--- a/v8/src/codegen/arm64/register-arm64.h
|
||||||
|
+++ b/v8/src/codegen/arm64/register-arm64.h
|
||||||
|
@@ -413,7 +413,7 @@ class VRegister : public CPURegister {
|
||||||
|
static constexpr int kMaxNumRegisters = kNumberOfVRegisters;
|
||||||
|
STATIC_ASSERT(kMaxNumRegisters == kDoubleAfterLast);
|
||||||
|
|
||||||
|
- static VRegister from_code(int code) {
|
||||||
|
+ static constexpr VRegister from_code(int code) {
|
||||||
|
// Always return a D register.
|
||||||
|
return VRegister::Create(code, kDRegSizeInBits);
|
||||||
|
}
|
@ -0,0 +1,70 @@
|
|||||||
|
diff -up chromium-92.0.4515.107/components/cast_channel/enum_table.h.EnumTable-crash chromium-92.0.4515.107/components/cast_channel/enum_table.h
|
||||||
|
--- chromium-92.0.4515.107/components/cast_channel/enum_table.h.EnumTable-crash 2021-07-19 14:45:12.000000000 -0400
|
||||||
|
+++ chromium-92.0.4515.107/components/cast_channel/enum_table.h 2021-07-26 17:41:21.987375385 -0400
|
||||||
|
@@ -212,7 +212,7 @@ class
|
||||||
|
|
||||||
|
template <typename E>
|
||||||
|
friend class EnumTable;
|
||||||
|
- DISALLOW_COPY_AND_ASSIGN(GenericEnumTableEntry);
|
||||||
|
+ DISALLOW_ASSIGN(GenericEnumTableEntry);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Yes, these constructors really needs to be inlined. Even though they look
|
||||||
|
@@ -250,8 +250,7 @@ class EnumTable {
|
||||||
|
// Constructor for regular entries.
|
||||||
|
constexpr Entry(E value, base::StringPiece str)
|
||||||
|
: GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
|
||||||
|
-
|
||||||
|
- DISALLOW_COPY_AND_ASSIGN(Entry);
|
||||||
|
+ DISALLOW_ASSIGN(Entry);
|
||||||
|
};
|
||||||
|
|
||||||
|
static_assert(sizeof(E) <= sizeof(int32_t),
|
||||||
|
@@ -306,15 +305,14 @@ class EnumTable {
|
||||||
|
if (is_sorted_) {
|
||||||
|
const std::size_t index = static_cast<std::size_t>(value);
|
||||||
|
if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
|
||||||
|
- const auto& entry = data_.begin()[index];
|
||||||
|
+ const auto& entry = data_[index];
|
||||||
|
if (ANALYZER_ASSUME_TRUE(entry.has_str()))
|
||||||
|
return entry.str();
|
||||||
|
}
|
||||||
|
return absl::nullopt;
|
||||||
|
}
|
||||||
|
return GenericEnumTableEntry::FindByValue(
|
||||||
|
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
|
||||||
|
- data_.size(), static_cast<int32_t>(value));
|
||||||
|
+ &data_[0], data_.size(), static_cast<int32_t>(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
// This overload of GetString is designed for cases where the argument is a
|
||||||
|
@@ -342,8 +340,7 @@ class EnumTable {
|
||||||
|
// enum value directly.
|
||||||
|
absl::optional<E> GetEnum(base::StringPiece str) const {
|
||||||
|
auto* entry = GenericEnumTableEntry::FindByString(
|
||||||
|
- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
|
||||||
|
- data_.size(), str);
|
||||||
|
+ &data_[0], data_.size(), str);
|
||||||
|
return entry ? static_cast<E>(entry->value) : absl::optional<E>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -358,7 +355,7 @@ class EnumTable {
|
||||||
|
// Align the data on a cache line boundary.
|
||||||
|
alignas(64)
|
||||||
|
#endif
|
||||||
|
- std::initializer_list<Entry> data_;
|
||||||
|
+ const std::vector<Entry> data_;
|
||||||
|
bool is_sorted_;
|
||||||
|
|
||||||
|
constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
|
||||||
|
@@ -370,8 +367,8 @@ class EnumTable {
|
||||||
|
|
||||||
|
for (std::size_t i = 0; i < data.size(); i++) {
|
||||||
|
for (std::size_t j = i + 1; j < data.size(); j++) {
|
||||||
|
- const Entry& ei = data.begin()[i];
|
||||||
|
- const Entry& ej = data.begin()[j];
|
||||||
|
+ const Entry& ei = data[i];
|
||||||
|
+ const Entry& ej = data[j];
|
||||||
|
DCHECK(ei.value != ej.value)
|
||||||
|
<< "Found duplicate enum values at indices " << i << " and " << j;
|
||||||
|
DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
|
@ -0,0 +1,45 @@
|
|||||||
|
diff -up chromium-92.0.4515.107/tools/gn/src/gn/err.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/err.h
|
||||||
|
--- chromium-92.0.4515.107/tools/gn/src/gn/err.h.gn-gcc-cleanup 2021-07-19 14:54:04.000000000 -0400
|
||||||
|
+++ chromium-92.0.4515.107/tools/gn/src/gn/err.h 2021-07-26 17:23:54.477420431 -0400
|
||||||
|
@@ -56,7 +56,7 @@ class Err {
|
||||||
|
const std::string& help_text = std::string());
|
||||||
|
|
||||||
|
Err(const Err& other);
|
||||||
|
-
|
||||||
|
+ Err& operator=(const Err& other) = default;
|
||||||
|
~Err();
|
||||||
|
|
||||||
|
bool has_error() const { return has_error_; }
|
||||||
|
diff -up chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h
|
||||||
|
--- chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h.gn-gcc-cleanup 2021-07-26 17:23:54.478420447 -0400
|
||||||
|
+++ chromium-92.0.4515.107/tools/gn/src/gn/label_pattern.h 2021-07-26 17:26:36.904894419 -0400
|
||||||
|
@@ -33,6 +33,7 @@ class LabelPattern {
|
||||||
|
std::string_view name,
|
||||||
|
const Label& toolchain_label);
|
||||||
|
LabelPattern(const LabelPattern& other);
|
||||||
|
+ LabelPattern& operator=(const LabelPattern& other) = default;
|
||||||
|
~LabelPattern();
|
||||||
|
|
||||||
|
// Converts the given input string to a pattern. This does special stuff
|
||||||
|
diff -up chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h
|
||||||
|
--- chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h.gn-gcc-cleanup 2021-07-19 14:54:04.000000000 -0400
|
||||||
|
+++ chromium-92.0.4515.107/tools/gn/src/gn/substitution_list.h 2021-07-26 17:23:54.478420447 -0400
|
||||||
|
@@ -15,6 +15,7 @@ class SubstitutionList {
|
||||||
|
public:
|
||||||
|
SubstitutionList();
|
||||||
|
SubstitutionList(const SubstitutionList& other);
|
||||||
|
+ SubstitutionList& operator=(const SubstitutionList& other) = default;
|
||||||
|
~SubstitutionList();
|
||||||
|
|
||||||
|
bool Parse(const Value& value, Err* err);
|
||||||
|
diff -up chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h.gn-gcc-cleanup chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h
|
||||||
|
--- chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h.gn-gcc-cleanup 2021-07-19 14:54:04.000000000 -0400
|
||||||
|
+++ chromium-92.0.4515.107/tools/gn/src/gn/substitution_pattern.h 2021-07-26 17:23:54.478420447 -0400
|
||||||
|
@@ -35,6 +35,7 @@ class SubstitutionPattern {
|
||||||
|
|
||||||
|
SubstitutionPattern();
|
||||||
|
SubstitutionPattern(const SubstitutionPattern& other);
|
||||||
|
+ SubstitutionPattern& operator=(const SubstitutionPattern& other) = default;
|
||||||
|
~SubstitutionPattern();
|
||||||
|
|
||||||
|
// Parses the given string and fills in the pattern. The pattern must only
|
@ -0,0 +1,90 @@
|
|||||||
|
diff -up chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn.nounrar chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn
|
||||||
|
--- chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn.nounrar 2021-07-19 14:45:10.000000000 -0400
|
||||||
|
+++ chromium-92.0.4515.107/chrome/common/safe_browsing/BUILD.gn 2021-07-26 16:44:53.670761825 -0400
|
||||||
|
@@ -43,39 +43,6 @@ if (safe_browsing_mode == 1) {
|
||||||
|
public_deps = [ "//components/safe_browsing/core:csd_proto" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
- source_set("rar_analyzer") {
|
||||||
|
- sources = [
|
||||||
|
- "rar_analyzer.cc",
|
||||||
|
- "rar_analyzer.h",
|
||||||
|
- ]
|
||||||
|
-
|
||||||
|
- deps = [
|
||||||
|
- ":archive_analyzer_results",
|
||||||
|
- ":download_type_util",
|
||||||
|
- "//base",
|
||||||
|
- "//base:i18n",
|
||||||
|
- "//components/safe_browsing/core:features",
|
||||||
|
- "//components/safe_browsing/core:file_type_policies",
|
||||||
|
- "//third_party/unrar:unrar",
|
||||||
|
- ]
|
||||||
|
-
|
||||||
|
- defines = [
|
||||||
|
- "_FILE_OFFSET_BITS=64",
|
||||||
|
- "LARGEFILE_SOURCE",
|
||||||
|
- "RAR_SMP",
|
||||||
|
- "SILENT",
|
||||||
|
-
|
||||||
|
- # The following is set to disable certain macro definitions in the unrar
|
||||||
|
- # source code.
|
||||||
|
- "CHROMIUM_UNRAR",
|
||||||
|
-
|
||||||
|
- # Disables exceptions in unrar, replaces them with process termination.
|
||||||
|
- "UNRAR_NO_EXCEPTIONS",
|
||||||
|
- ]
|
||||||
|
-
|
||||||
|
- public_deps = [ "//components/safe_browsing/core:csd_proto" ]
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
if (is_mac) {
|
||||||
|
source_set("disk_image_type_sniffer_mac") {
|
||||||
|
sources = [
|
||||||
|
@@ -145,7 +112,6 @@ source_set("safe_browsing") {
|
||||||
|
":archive_analyzer_results",
|
||||||
|
":binary_feature_extractor",
|
||||||
|
":download_type_util",
|
||||||
|
- ":rar_analyzer",
|
||||||
|
"//components/safe_browsing/core:features",
|
||||||
|
]
|
||||||
|
|
||||||
|
diff -up chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS.nounrar chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS
|
||||||
|
--- chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS.nounrar 2021-07-19 14:45:10.000000000 -0400
|
||||||
|
+++ chromium-92.0.4515.107/chrome/common/safe_browsing/DEPS 2021-07-26 16:44:53.670761825 -0400
|
||||||
|
@@ -1,6 +1,5 @@
|
||||||
|
include_rules = [
|
||||||
|
"+components/safe_browsing",
|
||||||
|
"+third_party/protobuf",
|
||||||
|
- "+third_party/unrar",
|
||||||
|
"+third_party/zlib",
|
||||||
|
]
|
||||||
|
diff -up chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn.nounrar chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn
|
||||||
|
--- chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn.nounrar 2021-07-26 16:44:53.670761825 -0400
|
||||||
|
+++ chromium-92.0.4515.107/chrome/services/file_util/BUILD.gn 2021-07-26 16:48:21.283924750 -0400
|
||||||
|
@@ -50,7 +50,6 @@ source_set("file_util") {
|
||||||
|
deps += [
|
||||||
|
"//chrome/common/safe_browsing",
|
||||||
|
"//chrome/common/safe_browsing:archive_analyzer_results",
|
||||||
|
- "//chrome/common/safe_browsing:rar_analyzer",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
diff -up chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc.nounrar chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc
|
||||||
|
--- chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc.nounrar 2021-07-19 14:45:11.000000000 -0400
|
||||||
|
+++ chromium-92.0.4515.107/chrome/services/file_util/safe_archive_analyzer.cc 2021-07-26 16:44:53.670761825 -0400
|
||||||
|
@@ -45,10 +45,14 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile
|
||||||
|
void SafeArchiveAnalyzer::AnalyzeRarFile(base::File rar_file,
|
||||||
|
base::File temporary_file,
|
||||||
|
AnalyzeRarFileCallback callback) {
|
||||||
|
+#if 0
|
||||||
|
DCHECK(rar_file.IsValid());
|
||||||
|
|
||||||
|
safe_browsing::ArchiveAnalyzerResults results;
|
||||||
|
safe_browsing::rar_analyzer::AnalyzeRarFile(
|
||||||
|
std::move(rar_file), std::move(temporary_file), &results);
|
||||||
|
std::move(callback).Run(results);
|
||||||
|
+#else
|
||||||
|
+ NOTREACHED();
|
||||||
|
+#endif
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
diff -up chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py
|
||||||
|
--- chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py.py2 2021-07-19 14:47:19.000000000 -0400
|
||||||
|
+++ chromium-92.0.4515.107/third_party/catapult/common/py_vulcanize/py_vulcanize/generate.py 2021-07-26 17:02:23.160750472 -0400
|
||||||
|
@@ -83,7 +83,7 @@ def _MinifyJS(input_js):
|
||||||
|
|
||||||
|
with tempfile.NamedTemporaryFile() as _:
|
||||||
|
args = [
|
||||||
|
- 'python',
|
||||||
|
+ 'python2',
|
||||||
|
rjsmin_path
|
||||||
|
]
|
||||||
|
p = subprocess.Popen(args,
|
||||||
|
diff -up chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py.py2 chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py
|
||||||
|
--- chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py.py2 2021-07-19 14:45:43.000000000 -0400
|
||||||
|
+++ chromium-92.0.4515.107/tools/gn/bootstrap/bootstrap.py 2021-07-26 17:02:23.160750472 -0400
|
||||||
|
@@ -130,7 +130,7 @@ def main(argv):
|
||||||
|
if not options.debug:
|
||||||
|
gn_gen_args += ' is_debug=false'
|
||||||
|
subprocess.check_call([
|
||||||
|
- gn_path, 'gen', out_dir,
|
||||||
|
+ gn_path, 'gen', out_dir, ' --script-executable=/usr/bin/python2',
|
||||||
|
'--args=%s' % gn_gen_args, "--root=" + SRC_ROOT
|
||||||
|
])
|
||||||
|
|
@ -0,0 +1,13 @@
|
|||||||
|
diff -up chromium-92.0.4515.107/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc.sigstkszfix chromium-92.0.4515.107/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc
|
||||||
|
diff -up chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
|
||||||
|
--- chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.sigstkszfix 2021-07-19 14:47:20.000000000 -0400
|
||||||
|
+++ chromium-92.0.4515.107/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2021-07-26 17:28:50.155924005 -0400
|
||||||
|
@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() {
|
||||||
|
// SIGSTKSZ may be too small to prevent the signal handlers from overrunning
|
||||||
|
// the alternative stack. Ensure that the size of the alternative stack is
|
||||||
|
// large enough.
|
||||||
|
- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
|
||||||
|
+ static const unsigned kSigStackSize = std::max(static_cast<long>(16384), SIGSTKSZ);
|
||||||
|
|
||||||
|
// Only set an alternative stack if there isn't already one, or if the current
|
||||||
|
// one is too small.
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,20 @@
|
|||||||
|
diff -up chromium-92.0.4515.107/chrome/common/chrome_paths.cc.widevine-other-locations chromium-92.0.4515.107/chrome/common/chrome_paths.cc
|
||||||
|
--- chromium-92.0.4515.107/chrome/common/chrome_paths.cc.widevine-other-locations 2021-07-26 16:50:41.815065696 -0400
|
||||||
|
+++ chromium-92.0.4515.107/chrome/common/chrome_paths.cc 2021-07-26 16:58:08.334868284 -0400
|
||||||
|
@@ -313,6 +313,16 @@ bool PathProvider(int key, base::FilePat
|
||||||
|
|
||||||
|
#if BUILDFLAG(ENABLE_WIDEVINE)
|
||||||
|
case chrome::DIR_BUNDLED_WIDEVINE_CDM:
|
||||||
|
+ base::PathService::Get(base::DIR_HOME, &cur);
|
||||||
|
+ cur = cur.Append(FILE_PATH_LITERAL(".local/lib/libwidevinecdm.so"));
|
||||||
|
+ if (base::PathExists(cur)) {
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ // Yes, this has an arch hardcoded in the path, but at this time, it is the only place to find libwidevinecdm.so
|
||||||
|
+ if (base::PathExists(base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")))) {
|
||||||
|
+ cur = base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"));
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
if (!GetComponentDirectory(&cur))
|
||||||
|
return false;
|
||||||
|
#if !BUILDFLAG(IS_CHROMEOS_ASH)
|
Loading…
Reference in new issue