185 lines
6.6 KiB
Diff
185 lines
6.6 KiB
Diff
--- ./third_party/lss/linux_syscall_support.h.orig
|
|
+++ ./third_party/lss/linux_syscall_support.h
|
|
@@ -1127,6 +1127,12 @@
|
|
#ifndef __NR_fallocate
|
|
#define __NR_fallocate 285
|
|
#endif
|
|
+
|
|
+#undef __NR_pread
|
|
+#define __NR_pread __NR_pread64
|
|
+#undef __NR_pwrite
|
|
+#define __NR_pwrite __NR_pwrite64
|
|
+
|
|
/* End of x86-64 definitions */
|
|
#elif defined(__mips__)
|
|
#if _MIPS_SIM == _MIPS_SIM_ABI32
|
|
--- ./third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h.orig
|
|
+++ ./third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
|
|
@@ -37,6 +37,10 @@
|
|
#include "common/memory.h"
|
|
#include "google_breakpad/common/minidump_format.h"
|
|
|
|
+#if !defined(__GLIBC__)
|
|
+ #define _libc_fpstate _fpstate
|
|
+#endif
|
|
+
|
|
namespace google_breakpad {
|
|
|
|
// Wraps platform-dependent implementations of accessors to ucontext_t structs.
|
|
--- ./third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h.orig
|
|
+++ ./third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
|
|
@@ -48,7 +48,7 @@
|
|
#if defined(__aarch64__)
|
|
typedef struct fpsimd_context fpstate_t;
|
|
#elif !defined(__ARM_EABI__) && !defined(__mips__)
|
|
-typedef struct _libc_fpstate fpstate_t;
|
|
+typedef struct _fpstate fpstate_t;
|
|
#endif
|
|
|
|
// These entries store a list of memory regions that the client wants included
|
|
--- ./third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h.orig
|
|
+++ ./third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
|
|
@@ -36,6 +36,7 @@
|
|
#include <elf.h>
|
|
#include <link.h>
|
|
#include <stddef.h>
|
|
+#include <limits.h>
|
|
|
|
#include "common/memory_range.h"
|
|
|
|
@@ -51,9 +52,9 @@
|
|
typedef ElfW(Phdr) Phdr;
|
|
typedef ElfW(Word) Word;
|
|
typedef ElfW(Addr) Addr;
|
|
-#if __WORDSIZE == 32
|
|
+#if ULONG_MAX == 0xffffffff
|
|
static const int kClass = ELFCLASS32;
|
|
-#elif __WORDSIZE == 64
|
|
+#elif ULONG_MAX == 0xffffffffffffffff
|
|
static const int kClass = ELFCLASS64;
|
|
#else
|
|
#error "Unsupported __WORDSIZE for ElfCoreDump."
|
|
--- ./sandbox/linux/suid/process_util.h.orig
|
|
+++ ./sandbox/linux/suid/process_util.h
|
|
@@ -11,6 +11,14 @@
|
|
#include <stdbool.h>
|
|
#include <sys/types.h>
|
|
|
|
+// Some additional functions
|
|
+# define TEMP_FAILURE_RETRY(expression) \
|
|
+ (__extension__ \
|
|
+ ({ long int __result; \
|
|
+ do __result = (long int) (expression); \
|
|
+ while (__result == -1L && errno == EINTR); \
|
|
+ __result; }))
|
|
+
|
|
// This adjusts /proc/process/oom_score_adj so the Linux OOM killer
|
|
// will prefer certain process types over others. The range for the
|
|
// adjustment is [-1000, 1000], with [0, 1000] being user accessible.
|
|
--- ./sandbox/linux/seccomp-bpf/trap.cc.orig
|
|
+++ ./sandbox/linux/seccomp-bpf/trap.cc
|
|
@@ -156,7 +156,7 @@
|
|
// most versions of glibc don't include this information in siginfo_t. So,
|
|
// we need to explicitly copy it into a arch_sigsys structure.
|
|
struct arch_sigsys sigsys;
|
|
- memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
|
|
+ memcpy(&sigsys, &info->__si_fields, sizeof(sigsys));
|
|
|
|
#if defined(__mips__)
|
|
// When indirect syscall (syscall(__NR_foo, ...)) is made on Mips, the
|
|
--- ./third_party/ffmpeg/libavutil/cpu.c.orig
|
|
+++ ./third_party/ffmpeg/libavutil/cpu.c
|
|
@@ -38,7 +38,6 @@
|
|
#include <sys/param.h>
|
|
#endif
|
|
#include <sys/types.h>
|
|
-#include <sys/sysctl.h>
|
|
#endif
|
|
#if HAVE_UNISTD_H
|
|
#include <unistd.h>
|
|
diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
|
|
--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
|
|
+++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
|
|
@@ -39,7 +39,9 @@
|
|
#endif // defined(OS_ANDROID) && defined(__arm__)
|
|
|
|
#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
|
+#if defined(__GLIBC__)
|
|
#include <gnu/libc-version.h>
|
|
+#endif
|
|
|
|
#include "base/linux_util.h"
|
|
#include "base/strings/string_split.h"
|
|
@@ -295,7 +297,7 @@ void RecordLinuxDistro() {
|
|
#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
|
|
|
void RecordLinuxGlibcVersion() {
|
|
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
|
+#if defined(__GLIBC__) && !defined(OS_CHROMEOS)
|
|
base::Version version(gnu_get_libc_version());
|
|
|
|
UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE;
|
|
--- ./device/serial/serial_io_handler_posix.cc.orig
|
|
+++ ./device/serial/serial_io_handler_posix.cc
|
|
@@ -6,6 +6,7 @@
|
|
|
|
#include <sys/ioctl.h>
|
|
#include <termios.h>
|
|
+#include <asm-generic/ioctls.h>
|
|
|
|
#include "base/posix/eintr_wrapper.h"
|
|
|
|
diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/include/opentype-sanitiser.h
|
|
--- third_party/ots/include/opentype-sanitiser.h
|
|
+++ third_party/ots/include/opentype-sanitiser.h
|
|
@@ -20,6 +20,7 @@ typedef unsigned __int64 uint64_t;
|
|
#define htonl(x) _byteswap_ulong (x)
|
|
#define htons(x) _byteswap_ushort (x)
|
|
#else
|
|
+#include <sys/types.h>
|
|
#include <arpa/inet.h>
|
|
#include <stdint.h>
|
|
#endif
|
|
--- ./base/logging.cc.orig
|
|
+++ ./base/logging.cc
|
|
@@ -545,8 +545,7 @@
|
|
|
|
LogMessage::~LogMessage() {
|
|
size_t stack_start = stream_.tellp();
|
|
-#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && !defined(__UCLIBC__) && \
|
|
- !defined(OS_AIX)
|
|
+#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && defined(__GLIBC__)
|
|
if (severity_ == LOG_FATAL && !base::debug::BeingDebugged()) {
|
|
// Include a stack trace on a fatal, unless a debugger is attached.
|
|
base::debug::StackTrace trace;
|
|
--- ./third_party/WebKit/Source/platform/wtf/StackUtil.cpp.orig
|
|
+++ ./third_party/WebKit/Source/platform/wtf/StackUtil.cpp
|
|
@@ -28,7 +28,7 @@
|
|
// FIXME: On Mac OSX and Linux, this method cannot estimate stack size
|
|
// correctly for the main thread.
|
|
|
|
-#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
|
|
+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
|
|
defined(OS_FUCHSIA)
|
|
// pthread_getattr_np() can fail if the thread is not invoked by
|
|
// pthread_create() (e.g., the main thread of webkit_unit_tests).
|
|
@@ -96,7 +96,7 @@
|
|
}
|
|
|
|
void* GetStackStart() {
|
|
-#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
|
|
+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
|
|
defined(OS_FUCHSIA)
|
|
pthread_attr_t attr;
|
|
int error;
|
|
--- ./net/dns/dns_config_service_posix.cc.orig
|
|
+++ ./net/dns/dns_config_service_posix.cc
|
|
@@ -122,7 +122,7 @@
|
|
ConfigParsePosixResult result;
|
|
config->unhandled_options = false;
|
|
// TODO(fuchsia): Use res_ninit() when it's implemented on Fuchsia.
|
|
-#if defined(OS_OPENBSD) || defined(OS_FUCHSIA)
|
|
+#if defined(OS_OPENBSD) || defined(OS_FUCHSIA) || defined(_GNU_SOURCE)
|
|
// Note: res_ninit in glibc always returns 0 and sets RES_INIT.
|
|
// res_init behaves the same way.
|
|
memset(&_res, 0, sizeof(_res));
|