--- ./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/common/linux/elf_core_dump.h.orig +++ ./third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h @@ -36,6 +36,7 @@ #include #include #include +#include #include "common/memory_range.h" --- ./sandbox/linux/suid/process_util.h.orig +++ ./sandbox/linux/suid/process_util.h @@ -11,6 +11,14 @@ #include #include +// 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 2020-04-12 08:26:40.184159217 -0400 +++ ./sandbox/linux/seccomp-bpf/trap.cc 2020-04-12 08:46:16.737191222 -0400 @@ -174,7 +174,7 @@ // If the version of glibc doesn't include this information in // siginfo_t (older than 2.17), we need to explicitly copy it // into an arch_sigsys structure. - memcpy(&sigsys, &info->_sifields, sizeof(sigsys)); + memcpy(&sigsys, &info->__sifields, sizeof(sigsys)); #endif #if defined(__mips__) 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.orig +++ ./chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc @@ -59,7 +59,9 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(__GLIBC__) #include +#endif #include "base/linux_util.h" #include "base/strings/string_split.h" @@ -321,7 +323,7 @@ void RecordLinuxGlibcVersion() { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(__GLIBC__) || BUILDFLAG(IS_CHROMEOS_LACROS) base::Version version(gnu_get_libc_version()); UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE; --- ./services/device/serial/serial_io_handler_posix.cc.orig 2019-07-03 10:57:32.568171835 -0400 +++ ./services/device/serial/serial_io_handler_posix.cc 2019-07-03 10:57:16.867983031 -0400 @@ -6,6 +6,7 @@ #include #include +#include #include #include diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/include/opentype-sanitiser.h --- ./third_party/ots/src/include/opentype-sanitiser.h +++ ./third_party/ots/src/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 #include #include #endif --- ./base/logging.cc.orig +++ ./base/logging.cc @@ -592,8 +592,7 @@ LogMessage::~LogMessage() { size_t stack_start = stream_.tellp(); -#if !defined(OFFICIAL_BUILD) && !BUILDFLAG(IS_NACL) && !defined(__UCLIBC__) && \ - !BUILDFLAG(IS_AIX) +#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && defined(__GLIBC__) if (severity_ == LOGGING_FATAL && !base::debug::BeingDebugged()) { // Include a stack trace on a fatal, unless a debugger is attached. base::debug::StackTrace stack_trace; --- ./third_party/blink/renderer/platform/wtf/stack_util.cc.orig +++ ./third_party/blink/renderer/platform/wtf/stack_util.cc @@ -28,7 +28,7 @@ // FIXME: On Mac OSX and Linux, this method cannot estimate stack size // correctly for the main thread. -#elif defined(__GLIBC__) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) || \ +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) || \ BUILDFLAG(IS_FUCHSIA) // pthread_getattr_np() can fail if the thread is not invoked by // pthread_create() (e.g., the main thread of blink_unittests). @@ -96,7 +96,7 @@ } void* GetStackStart() { -#if defined(__GLIBC__) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) || \ +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) || \ BUILDFLAG(IS_FUCHSIA) pthread_attr_t attr; int error; --- ./third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc.orig 2019-06-18 11:51:17.000000000 -0400 +++ ./third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Signals.inc 2019-07-03 12:32:50.938758186 -0400 @@ -25,7 +25,7 @@ #include "llvm/Support/raw_ostream.h" #include #include -#if HAVE_EXECINFO_H +#if HAVE_EXECINFO_H && defined(__GLIBC__) # include // For backtrace(). #endif #if HAVE_SIGNAL_H @@ -52,6 +52,7 @@ #include #else #undef HAVE__UNWIND_BACKTRACE +#undef HAVE_BACKTRACE #endif #endif --- ./third_party/nasm/nasmlib/realpath.c.orig 2019-07-03 12:23:05.021949895 -0400 +++ ./third_party/nasm/nasmlib/realpath.c 2019-07-03 12:24:24.246862665 -0400 @@ -49,7 +49,7 @@ #include "nasmlib.h" -#ifdef HAVE_CANONICALIZE_FILE_NAME +#if defined(__GLIBC__) /* * GNU-specific, but avoids the realpath(..., NULL) --- ./third_party/perfetto/include/perfetto/ext/base/thread_utils.h +++ ./third_party/perfetto/include/perfetto/ext/base/thread_utils.h @@ -29,7 +29,7 @@ #include #endif -#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +#if 1 #include #endif @@ -58,7 +58,7 @@ inline bool MaybeSetThreadName(const std::string& name) { inline bool GetThreadName(std::string& out_result) { char buf[16] = {}; -#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +#if 1 if (prctl(PR_GET_NAME, buf) != 0) return false; #else --- ./net/dns/public/scoped_res_state.cc.orig +++ ./net/dns/public/scoped_res_state.cc @@ -13,7 +13,7 @@ namespace net { ScopedResState::ScopedResState() { -#if BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_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)); @@ -25,16 +25,8 @@ } ScopedResState::~ScopedResState() { -#if !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA) - - // Prefer res_ndestroy where available. -#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FREEBSD) - res_ndestroy(&res_); -#else - res_nclose(&res_); -#endif // BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FREEBSD) - -#endif // !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA) + // musl res_init() doesn't actually do anything + // no destruction is necessary as no memory has been allocated } bool ScopedResState::IsValid() const {