Commit e2485db7 authored by Natanael Copa's avatar Natanael Copa

community/chromium: upgrade to 71.0.3578.98

parent c40c42da
This diff is collapsed.
From 65be571f6ac2f7942b4df9e50b24da517f829eec Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Mon, 15 Oct 2018 20:26:10 +0000
Subject: [PATCH] google_util: Explicitly use std::initializer_list with
base::NoDestructor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Follow-up to ac53c5c53 ("Remove CR_DEFINE_STATIC_LOCAL from /components").
Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having
base::NoDestructor<T<U>> and passing an initializer list of Us does not
work if this is not done explicitly, as GCC incorrectly fails to determine
which constructor overload to use:
../../components/google/core/common/google_util.cc: In function ‘bool google_util::{anonymous}::IsCanonicalHostGoogleHostname(base::StringPiece, google_util::SubdomainPermission)’:
../../components/google/core/common/google_util.cc:120:24: error: call of overloaded ‘NoDestructor(<brace-enclosed initializer list>)’ is ambiguous
{GOOGLE_TLD_LIST});
See also: https://chromium-review.googlesource.com/c/chromium/src/+/1170905
Bug: 819294
Change-Id: Ie1490b6646d7998d636c485769caabf56c1cf44c
Reviewed-on: https://chromium-review.googlesource.com/c/1275854
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Commit-Queue: Raphael Kubo da Costa (CET) <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#599733}
---
components/google/core/common/google_util.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/components/google/core/common/google_util.cc b/components/google/core/common/google_util.cc
index a44c84393820..7733848a0443 100644
--- components/google/core/common/google_util.cc
+++ components/google/core/common/google_util.cc
@@ -117,7 +117,7 @@ bool IsCanonicalHostGoogleHostname(base::StringPiece canonical_host,
StripTrailingDot(&tld);
static base::NoDestructor<std::set<std::string>> google_tlds(
- {GOOGLE_TLD_LIST});
+ std::initializer_list<std::string>({GOOGLE_TLD_LIST}));
return base::ContainsKey(*google_tlds, tld.as_string());
}
@@ -132,7 +132,8 @@ bool IsGoogleSearchSubdomainUrl(const GURL& url) {
StripTrailingDot(&host);
static base::NoDestructor<std::set<std::string>> google_subdomains(
- {"ipv4.google.com", "ipv6.google.com"});
+ std::initializer_list<std::string>(
+ {"ipv4.google.com", "ipv6.google.com"}));
return base::ContainsKey(*google_subdomains, host.as_string());
}
--
2.19.1
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 83337d5..8cb93e3 100644
--- ./build/config/compiler/BUILD.gn
+++ ./build/config/compiler/BUILD.gn
@@ -488,18 +488,6 @@ config("compiler") {
}
}
- if (is_clang && !is_nacl && current_toolchain == host_toolchain &&
- target_os != "chromeos") {
- cflags += [
- # TODO(hans): Remove this once Clang generates better optimized debug info
- # by default. https://crbug.com/765793
- "-Xclang",
- "-mllvm",
- "-Xclang",
- "-instcombine-lower-dbg-declare=0",
- ]
- }
-
# Print absolute paths in diagnostics. There is no precedent for doing this
# on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and
# Windows developers rely on it (crbug.com/636109) so only do this on Windows.
From 01d891fa0790950549c7bedb34edf869827a372e Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
Date: Thu, 31 May 2018 17:03:37 +0000
Subject: [PATCH] CORS legacy: add missing string include
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The cors_legacy.h file includes declarations using std::string, but
it is not declared due to missing #include <string>.
Also drop unneeded declarations in .cpp file.
Change-Id: I00df799f84a6c3530c2f12f1e52d24c7d9bd6bfd
Reviewed-on: https://chromium-review.googlesource.com/1080707
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
Cr-Commit-Position: refs/heads/master@{#563282}
---
services/network/public/cpp/cors/cors_legacy.cc | 2 --
services/network/public/cpp/cors/cors_legacy.h | 1 +
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/services/network/public/cpp/cors/cors_legacy.cc b/services/network/public/cpp/cors/cors_legacy.cc
index 8f32ac3be64e..f01af63619b5 100644
--- ./services/network/public/cpp/cors/cors_legacy.cc
+++ ./services/network/public/cpp/cors/cors_legacy.cc
@@ -5,8 +5,6 @@
#include "services/network/public/cpp/cors/cors_legacy.h"
#include <algorithm>
-#include <string>
-#include <vector>
#include "url/gurl.h"
#include "url/url_util.h"
diff --git a/services/network/public/cpp/cors/cors_legacy.h b/services/network/public/cpp/cors/cors_legacy.h
index d2cdf026ca3a..dc9295a92c47 100644
--- ./services/network/public/cpp/cors/cors_legacy.h
+++ ./services/network/public/cpp/cors/cors_legacy.h
@@ -5,6 +5,7 @@
#ifndef SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_
#define SERVICES_NETWORK_PUBLIC_CPP_CORS_CORS_LEGACY_H_
+#include <string>
#include <vector>
#include "base/component_export.h"
--
2.17.1
From 7ae38170a117e909bb28e1470842b68de3501197 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppymaster@gmail.com>
Date: Sun, 21 Oct 2018 10:06:53 -0400
Subject: [PATCH] blink: add 'const' modifier for harfbuzz hb_codepoint_t
pointers
This resolves a build failure against harfbuzz 2.0.
Based on a patch by Alexandre Fierreira.
Bug: https://bugs.gentoo.org/669034
---
.../renderer/platform/fonts/shaping/harfbuzz_face.cc | 2 +-
.../renderer/platform/fonts/skia/skia_text_metrics.cc | 9 +++++++--
.../renderer/platform/fonts/skia/skia_text_metrics.h | 2 +-
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
index 8e7d91ca371f..e279a5876cb3 100644
--- third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
+++ third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
@@ -139,7 +139,7 @@ static hb_position_t HarfBuzzGetGlyphHorizontalAdvance(hb_font_t* hb_font,
static void HarfBuzzGetGlyphHorizontalAdvances(hb_font_t* font,
void* font_data,
unsigned count,
- hb_codepoint_t* first_glyph,
+ const hb_codepoint_t* first_glyph,
unsigned int glyph_stride,
hb_position_t* first_advance,
unsigned int advance_stride,
diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc
index 77ec6209fab9..9f9070921448 100644
--- third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc
+++ third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc
@@ -18,6 +18,11 @@ T* advance_by_byte_size(T* p, unsigned byte_size) {
return reinterpret_cast<T*>(reinterpret_cast<uint8_t*>(p) + byte_size);
}
+template <class T>
+T* advance_by_byte_size_const(T* p, unsigned byte_size) {
+ return reinterpret_cast<T*>(reinterpret_cast<const uint8_t*>(p) + byte_size);
+}
+
} // namespace
SkiaTextMetrics::SkiaTextMetrics(const SkPaint* paint) : paint_(paint) {
@@ -39,7 +44,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(hb_codepoint_t codepoint,
}
void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count,
- hb_codepoint_t* glyphs,
+ const hb_codepoint_t* glyphs,
unsigned glyph_stride,
hb_position_t* advances,
unsigned advance_stride) {
@@ -48,7 +53,7 @@ void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count,
// array that copy them to a regular array.
Vector<Glyph, 256> glyph_array(count);
for (unsigned i = 0; i < count;
- i++, glyphs = advance_by_byte_size(glyphs, glyph_stride)) {
+ i++, glyphs = advance_by_byte_size_const(glyphs, glyph_stride)) {
glyph_array[i] = *glyphs;
}
Vector<SkScalar, 256> sk_width_array(count);
diff --git a/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h b/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h
index 787d8af0375a..3bc4407c641b 100644
--- third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h
+++ third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h
@@ -19,7 +19,7 @@ class SkiaTextMetrics final {
void GetGlyphWidthForHarfBuzz(hb_codepoint_t, hb_position_t* width);
void GetGlyphWidthForHarfBuzz(unsigned count,
- hb_codepoint_t* first_glyph,
+ const hb_codepoint_t* first_glyph,
unsigned glyph_stride,
hb_position_t* first_advance,
unsigned advance_stride);
--
2.19.1
From 823d20044c74ff8524954b2f3b01a51f390567b0 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
Date: Tue, 29 May 2018 18:38:39 +0000
Subject: [PATCH] GCC: workaround GCC bug "std::map::insert(value_type &&) not
selected"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
There are several calls following this pattern:
std:map<A, std::unique_ptr<B>> map;
A a;
std::unique_ptr<B> b;
map.insert({a, std::move(b)});
This fails in gcc < 7.3 because the operator for inserting from &&
is not present, as reported here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82522
So apply a workaround that makes the move steps explicit.
Change-Id: I54cea26eac6e74a3d9c2d17a37e3c4c9ce62fd74
Reviewed-on: https://chromium-review.googlesource.com/1076471
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
Cr-Commit-Position: refs/heads/master@{#562519}
---
content/browser/background_fetch/background_fetch_context.cc | 5 ++++-
content/renderer/input/input_event_prediction.cc | 5 ++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/content/browser/background_fetch/background_fetch_context.cc b/content/browser/background_fetch/background_fetch_context.cc
index 5dec01f82db31..649d4595ba83e 100644
--- ./content/browser/background_fetch/background_fetch_context.cc
+++ ./content/browser/background_fetch/background_fetch_context.cc
@@ -222,7 +222,10 @@ void BackgroundFetchContext::InitializeController(
scheduler_->AddJobController(controller.get());
- job_controllers_.insert({unique_id, std::move(controller)});
+ // Workaround for GLIBC C++ < 7.3 that fails to insert with braces
+ // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82522
+ auto pair = std::make_pair(unique_id, std::move(controller));
+ job_controllers_.insert(std::move(pair));
std::move(done_closure).Run();
}
diff --git a/content/renderer/input/input_event_prediction.cc b/content/renderer/input/input_event_prediction.cc
index 89636c9736da5..f1bce36364ed9 100644
--- ./content/renderer/input/input_event_prediction.cc
+++ ./content/renderer/input/input_event_prediction.cc
@@ -119,7 +119,10 @@ void InputEventPrediction::UpdateSinglePointer(
if (predictor != pointer_id_predictor_map_.end()) {
predictor->second->Update(data);
} else {
- pointer_id_predictor_map_.insert({event.id, SetUpPredictor()});
+ // Workaround for GLIBC C++ < 7.3 that fails to insert with braces
+ // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82522
+ auto pair = std::make_pair(event.id, SetUpPredictor());
+ pointer_id_predictor_map_.insert(std::move(pair));
pointer_id_predictor_map_[event.id]->Update(data);
}
}
From c6b0194f7a4d9f494b2d51f46d2c332e2e5f4050 Mon Sep 17 00:00:00 2001
From: Daniel Bratell <bratell@opera.com>
Date: Mon, 28 May 2018 13:13:01 +0000
Subject: [PATCH] Use the same libjpeg in all of blink/platform
The normal libjpeg renames some symbols with macros so if its
headers are included together with libjpeg-turbo's headers
in the same translation unit, there will be an inconsistent
renaming of libjpeg symbols. This happened in some extreme
jumbo configuration and resulted in confising linker errors.
This patch changes an include so that jpeglib.h becomes included
the same way everywhere.
Change-Id: I7f122d0919d58371bb40dc0097a766b857b9815e
Reviewed-on: https://chromium-review.googlesource.com/1073423
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#562243}
---
.../renderer/platform/image-encoders/image_encoder.cc | 11 +++++++++++
.../renderer/platform/image-encoders/image_encoder.h | 2 --
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/third_party/blink/renderer/platform/image-encoders/image_encoder.cc b/third_party/blink/renderer/platform/image-encoders/image_encoder.cc
index 0c7f14c7c0e4..4c450f5d6783 100644
--- ./third_party/blink/renderer/platform/image-encoders/image_encoder.cc
+++ ./third_party/blink/renderer/platform/image-encoders/image_encoder.cc
@@ -4,6 +4,17 @@
#include "third_party/blink/renderer/platform/image-encoders/image_encoder.h"
+#include "build/build_config.h"
+
+#if defined(OS_WIN)
+#include <basetsd.h> // Included before jpeglib.h because of INT32 clash
+#endif // OS_WIN
+#include <stdio.h> // Needed by jpeglib.h
+
+#include "jpeglib.h" // for JPEG_MAX_DIMENSION
+
+#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION
+
namespace blink {
bool ImageEncoder::Encode(Vector<unsigned char>* dst,
diff --git a/third_party/blink/renderer/platform/image-encoders/image_encoder.h b/third_party/blink/renderer/platform/image-encoders/image_encoder.h
index 0d1460f34827..40306097d507 100644
--- ./third_party/blink/renderer/platform/image-encoders/image_encoder.h
+++ ./third_party/blink/renderer/platform/image-encoders/image_encoder.h
@@ -7,8 +7,6 @@
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
-#include "third_party/libjpeg/jpeglib.h" // for JPEG_MAX_DIMENSION
-#include "third_party/libwebp/src/webp/encode.h" // for WEBP_MAX_DIMENSION
#include "third_party/skia/include/core/SkStream.h"
#include "third_party/skia/include/encode/SkJpegEncoder.h"
#include "third_party/skia/include/encode/SkPngEncoder.h"
--
2.17.1
diff --git a/build/linux/unbundle/libwebp.gn b/build/linux/unbundle/libwebp.gn
index ab92adecf400..12574d87be58 100644
--- ./build/linux/unbundle/libwebp.gn
+++ ./build/linux/unbundle/libwebp.gn
@@ -2,12 +2,34 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
+import("//build/config/linux/pkg_config.gni")
+import("//build/shim_headers.gni")
+
+pkg_config("system_libwebp") {
+ packages = [
+ "libwebp",
+ "libwebpdemux",
+ "libwebpmux",
+ ]
+}
+
+shim_headers("libwebp_shim") {
+ root_path = "src"
+ headers = [
+ "webp/decode.h",
+ "webp/demux.h",
+ "webp/encode.h",
+ "webp/mux.h",
+ "webp/mux_types.h",
+ "webp/types.h",
+ ]
+}
+
source_set("libwebp_webp") {
- libs = [
- "webp",
- "webpdemux",
- "webpmux",
+ deps = [
+ ":libwebp_shim",
]
+ public_configs = [ ":system_libwebp" ]
}
group("libwebp") {
--- build/config/compiler/BUILD.gn.orig
+++ build/config/compiler/BUILD.gn
@@ -1399,14 +1399,14 @@
"-Wno-user-defined-warnings",
# TODO(thakis): https://crbug.com/753973
- "-Wno-enum-compare-switch",
+ #"-Wno-enum-compare-switch",
# TODO(hans): https://crbug.com/766891
- "-Wno-null-pointer-arithmetic",
+ #"-Wno-null-pointer-arithmetic",
# Ignore warnings about MSVC optimization pragmas.
# TODO(thakis): Only for no_chromium_code? http://crbug.com/505314
- "-Wno-ignored-pragma-optimize",
+ #"-Wno-ignored-pragma-optimize",
]
} else if (use_xcode_clang) {
cflags += [
......@@ -6,19 +6,18 @@
+ return (1 << 23);
--- chrome/app/shutdown_signal_handlers_posix.cc.orig
+++ chrome/app/shutdown_signal_handlers_posix.cc
@@ -184,12 +184,20 @@
@@ -184,11 +184,19 @@
g_shutdown_pipe_read_fd = pipefd[0];
g_shutdown_pipe_write_fd = pipefd[1];
#if !defined(ADDRESS_SANITIZER) && !defined(KEEP_SHADOW_STACKS)
#if !defined(ADDRESS_SANITIZER)
+# if defined(__GLIBC__)
const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2;
+# else
+ const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2 * 8; // match up musls 2k PTHREAD_STACK_MIN with glibcs 16k
+# endif
#else
// ASan instrumentation and -finstrument-functions (used for keeping the
// shadow stacks) bloat the stack frames, so we need to increase the stack
// size to avoid hitting the guard page.
// ASan instrumentation bloats the stack frames, so we need to increase the
// stack size to avoid hitting the guard page.
+# if defined(__GLIBC__)
const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4;
+# else
......@@ -27,3 +26,4 @@
#endif
ShutdownDetector* detector = new ShutdownDetector(
g_shutdown_pipe_read_fd, shutdown_callback, task_runner);
--- mojo/public/c/system/macros.h.orig 2018-09-06 10:11:54.336432699 -0400
+++ mojo/public/c/system/macros.h 2018-09-06 10:13:56.555727572 -0400
@@ -27,7 +27,13 @@
(sizeof(void*) == 4 ? 32 : 0)
// Like the C++11 |alignof| operator.
-#if __cplusplus >= 201103L
+#if defined(__GNUC__) && __GNUC__ >= 8
+// GCC 8 has changed the alignof operator to return the minimal alignment
+// required by the target ABI, instead of the preferred alignment.
+// This means that on 32-bit x86, it will return 4 instead of 8.
+// Use __alignof__ instead to avoid this.
+#define MOJO_ALIGNOF(type) __alignof__(type)
+#elif __cplusplus >= 201103L
#define MOJO_ALIGNOF(type) alignof(type)
#elif defined(__GNUC__)
#define MOJO_ALIGNOF(type) __alignof__(type)
See: https://chromium.googlesource.com/chromium/src/tools/gn/+/6630c2e334d7bc179e95a3d543a8eca3201d6725%5E%21/#F0
diff --git a/bootstrap/bootstrap.py b/bootstrap/bootstrap.py
index 261fddd..1945852 100755
--- tools/gn/bootstrap/bootstrap.py
+++ tools/gn/bootstrap/bootstrap.py
@@ -46,10 +46,6 @@
'--build-path',
help='The directory in which to build gn, '
'relative to the src directory. (eg. out/Release)')
- parser.add_option(
- '--with-sysroot',
- action='store_true',
- help='Download and build with the Debian sysroot.')
parser.add_option('-v', '--verbose', help='ignored')
parser.add_option(
'--skip-generate-buildfiles',
@@ -76,8 +72,6 @@
'--no-last-commit-position',
'--out-path=' + gn_build_dir,
]
- if not options.with_sysroot:
- cmd.append('--no-sysroot')
if options.debug:
cmd.append('--debug')
subprocess.check_call(cmd)
diff --git a/base/message_loop/message_pump_libevent.cc b/base/message_loop/message_pump_libevent.cc
index dc5efc6..a9f1ec0 100644
--- base/message_loop/message_pump_libevent.cc
+++ base/message_loop/message_pump_libevent.cc
@@ -14,7 +14,7 @@
#include "base/files/file_util.h"
#include "base/logging.h"
#include "base/posix/eintr_wrapper.h"
-#include "base/third_party/libevent/event.h"
+#include "event.h"
#include "base/time/time.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
index 2bf25e5..0ddc537 100755
--- tools/gn/bootstrap/bootstrap.py
+++ tools/gn/bootstrap/bootstrap.py
@@ -32,6 +32,7 @@ SRC_ROOT = os.path.dirname(os.path.dirname(GN_ROOT))
is_win = sys.platform.startswith('win')
is_linux = sys.platform.startswith('linux')
+is_gnu_linux = is_linux and platform.libc_ver()[0].startswith('glibc')
is_mac = sys.platform.startswith('darwin')
is_aix = sys.platform.startswith('aix')
is_posix = is_linux or is_mac or is_aix
@@ -184,7 +185,7 @@ def build_gn_with_ninja_manually(tempdir, options):
{'ENABLE_MUTEX_PRIORITY_INHERITANCE': 'false'})
write_buildflag_header_manually(root_gen_dir, 'base/allocator/buildflags.h',
- {'USE_ALLOCATOR_SHIM': 'true' if is_linux else 'false'})
+ {'USE_ALLOCATOR_SHIM': 'true' if is_gnu_linux else 'false'})
write_buildflag_header_manually(root_gen_dir,
'base/debug/debugging_buildflags.h',
@@ -438,8 +439,6 @@ def write_gn_ninja(path, root_gen_dir, options):
'base/third_party/superfasthash/superfasthash.c',
])
static_libraries['base']['sources'].extend([
- 'base/allocator/allocator_check.cc',
- 'base/allocator/allocator_extension.cc',
'base/at_exit.cc',
'base/base_paths.cc',
'base/base_switches.cc',
@@ -641,26 +640,6 @@ def write_gn_ninja(path, root_gen_dir, options):
'base/time/time_conversion_posix.cc',
'base/trace_event/heap_profiler_allocation_register_posix.cc',
])
- static_libraries['libevent'] = {
- 'sources': [
- 'base/third_party/libevent/buffer.c',
- 'base/third_party/libevent/evbuffer.c',
- 'base/third_party/libevent/evdns.c',
- 'base/third_party/libevent/event.c',
- 'base/third_party/libevent/event_tagging.c',
- 'base/third_party/libevent/evrpc.c',
- 'base/third_party/libevent/evutil.c',
- 'base/third_party/libevent/http.c',
- 'base/third_party/libevent/log.c',
- 'base/third_party/libevent/poll.c',
- 'base/third_party/libevent/select.c',
- 'base/third_party/libevent/signal.c',
- 'base/third_party/libevent/strlcpy.c',
- ],
- 'tool': 'cc',
- 'include_dirs': [],
- 'cflags': cflags + ['-DHAVE_CONFIG_H'],
- }
if is_linux or is_aix:
static_libraries['xdg_user_dirs'] = {
@@ -767,17 +746,12 @@ def write_gn_ninja(path, root_gen_dir, options):
'-D_LIBCXXABI_NO_EXCEPTIONS',
]
}
- static_libraries['base']['sources'].extend([
- 'base/allocator/allocator_shim.cc',
- 'base/allocator/allocator_shim_default_dispatch_to_glibc.cc',
- ])
- libs.extend(['-lrt', '-latomic'])
- static_libraries['libevent']['include_dirs'].extend([
- os.path.join(SRC_ROOT, 'base', 'third_party', 'libevent', 'linux')
- ])
- static_libraries['libevent']['sources'].extend([
- 'base/third_party/libevent/epoll.c',
- ])
+ if is_gnu_linux:
+ static_libraries['base']['sources'].extend([
+ 'base/allocator/allocator_shim.cc',
+ 'base/allocator/allocator_shim_default_dispatch_to_glibc.cc',
+ ])
+ libs.extend(['-lrt', '-levent'])
else:
ldflags.extend(['-pthread'])
libs.extend(['-lrt'])
--- tools/gn/gn_main.cc.orig 2015-11-12 11:49:56.260549036 +0000
+++ tools/gn/gn_main.cc 2015-11-12 11:50:14.780931485 +0000
@@ -11,13 +11,7 @@
#include "tools/gn/standard_out.h"
#include "tools/gn/switches.h"
-// Only the GN-generated build makes this header for now.
-// TODO(brettw) consider adding this if we need it in GYP.
-#if defined(GN_BUILD)
-#include "tools/gn/last_commit_position.h"
-#else
#define LAST_COMMIT_POSITION "UNKNOWN"
-#endif
namespace {
--- tools/gn/BUILD.gn.orig 2015-11-12 11:50:43.513524769 +0000
+++ tools/gn/BUILD.gn 2015-11-12 11:50:57.697817632 +0000
@@ -227,7 +227,6 @@
deps = [
":gn_lib",
- ":last_commit_position",
"//base",
"//build/config/sanitizers:deps",
]
--- ./base/debug/stack_trace.cc.orig
+++ ./base/debug/stack_trace.cc
@@ -214,7 +214,7 @@
std::string StackTrace::ToString() const {
--- base/debug/stack_trace.cc.orig 2018-12-08 14:11:25.303475116 +0100
+++ base/debug/stack_trace.cc 2018-12-08 18:00:43.874946999 +0100
@@ -229,7 +229,7 @@
}
std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const {
std::stringstream stream;
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__) && !defined(_AIX)
OutputToStream(&stream);
OutputToStreamWithPrefix(&stream, prefix_string);
#endif
return stream.str();
diff --git a/base/debug/stack_trace_posix.cc b/base/debug/stack_trace_posix.cc
index 7696be8..20ebe67 100644
--- a/base/debug/stack_trace_posix.cc
+++ base/debug/stack_trace_posix.cc
--- base/debug/stack_trace_posix.cc.orig 2017-07-27 14:05:05.534241443 +0000
+++ base/debug/stack_trace_posix.cc 2017-07-27 14:07:54.669231362 +0000
@@ -26,7 +26,7 @@
#if !defined(USE_SYMBOLIZE)
#include <cxxabi.h>
#endif
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__)
+#if defined(__GLIBC__) && !defined(_AIX)
#include <execinfo.h>
#endif
@@ -82,7 +82,7 @@ void DemangleSymbols(std::string* text) {
@@ -80,7 +80,7 @@
// Note: code in this function is NOT async-signal safe (std::string uses
// malloc internally).
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__)
+#if defined(__GLIBC__) && !defined(_AIX)
std::string::size_type search_from = 0;
while (search_from < text->size()) {
// Look for the start of a mangled symbol, from search_from.
@@ -129,7 +129,7 @@ class BacktraceOutputHandler {
@@ -115,7 +115,7 @@
search_from = mangled_start + 2;
}
}
-#endif // !defined(__UCLIBC__) && !defined(_AIX)
+#endif // defined(__GLIBC__) && !defined(_AIX)
}
#endif // !defined(USE_SYMBOLIZE)
@@ -127,7 +127,7 @@
virtual ~BacktraceOutputHandler() {}
};
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__)
+#if defined(__GLIBC__) && !defined(_AIX)
void OutputPointer(void* pointer, BacktraceOutputHandler* handler) {
// This should be more than enough to store a 64-bit number in hex:
// 16 hex digits + 1 for null-terminator.
@@ -705,6 +705,10 @@ class SandboxSymbolizeHelper {
} // namespace
bool EnableInProcessStackDumping() {
+#if defined(OS_LINUX) && !defined(__GLIBC__)
+// let system handler deal with the dumps
+ return true;
+#else
#if defined(USE_SYMBOLIZE)
SandboxSymbolizeHelper::GetInstance();
#endif // USE_SYMBOLIZE
@@ -738,6 +742,7 @@ bool EnableInProcessStackDumping() {
#endif // !defined(OS_LINUX)
return success;
+#endif
@@ -204,7 +204,7 @@
}
#endif // defined(USE_SYMBOLIZE)
}
-#endif // !defined(__UCLIBC__) && !defined(_AIX)
+#endif // defined(__GLIBC__) && !defined(_AIX)
void SetStackDumpFirstChanceCallback(bool (*handler)(int, void*, void*)) {
@@ -749,7 +754,7 @@ StackTrace::StackTrace(size_t count) {
void PrintToStderr(const char* output) {
// NOTE: This code MUST be async-signal safe (it's used by in-process
@@ -721,7 +721,7 @@
// NOTE: This code MUST be async-signal safe (it's used by in-process
// stack dumping signal handler). NO malloc or stdio is allowed here.
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__)
+#if defined(__GLIBC__) && !defined(_AIX)
count = std::min(arraysize(trace_), count);
// Though the backtrace API man page does not list any possible negative
@@ -764,13 +769,13 @@ void StackTrace::Print() const {
// NOTE: This code MUST be async-signal safe (it's used by in-process
// stack dumping signal handler). NO malloc or stdio is allowed here.
@@ -827,13 +827,13 @@
// NOTE: This code MUST be async-signal safe (it's used by in-process
// stack dumping signal handler). NO malloc or stdio is allowed here.
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__)
+#if defined(__GLIBC__) && !defined(_AIX)
PrintBacktraceOutputHandler handler;
ProcessBacktrace(trace_, count_, &handler);
ProcessBacktrace(trace_, count_, prefix_string, &handler);
#endif
}
-#if !defined(__UCLIBC__) && !defined(_AIX)
+#if defined(__GLIBC__)
void StackTrace::OutputToStream(std::ostream* os) const {
+#if defined(__GLIBC__) && !defined(_AIX)
void StackTrace::OutputToStreamWithPrefix(std::ostream* os,
const char* prefix_string) const {
StreamBacktraceOutputHandler handler(os);
ProcessBacktrace(trace_, count_, &handler);