Commit 946d093e authored by Timothy Pearson's avatar Timothy Pearson
Browse files

Sync with Debian

parent 56072d41
From 82922bf486e9926a171152f61030dfcd53f017b8 Mon Sep 17 00:00:00 2001
From: Timothy Pearson <tpearson@raptorengineering.com>
Date: Thu, 30 Aug 2018 17:32:05 -0500
Subject: [PATCH] Include cstddef to fix build
size_t is not defined unless cstddef is included.
---
third_party/crashpad/crashpad/compat/linux/sys/user.h | 1 +
Index: chromium-127.0.6533.72/third_party/crashpad/crashpad/compat/linux/sys/user.h
===================================================================
--- chromium-127.0.6533.72.orig/third_party/crashpad/crashpad/compat/linux/sys/user.h
+++ chromium-127.0.6533.72/third_party/crashpad/crashpad/compat/linux/sys/user.h
@@ -15,6 +15,7 @@
#ifndef CRASHPAD_COMPAT_LINUX_SYS_USER_H_
#define CRASHPAD_COMPAT_LINUX_SYS_USER_H_
+#include <cstddef>
#include_next <sys/user.h>
#include <features.h>
Author: Daniel Richard G. <skunk@iSKUNK.ORG>
When building Chromium on unstable/ppc64el with ThinLTO enabled, this error
occurs in the final link:
ld.lld-16: error: Linking two modules of different data layouts:
$C_CXX_OBJECT is 'e-m:e-i64:64-n32:64-S128-v256:256:256-v512:512:512' whereas
$RUST_LIBRARY is 'e-m:e-Fn32-i64:64-n32:64-S128-v256:256:256-v512:512:512'
This is because the LLVM data layout for powerpc64le-unknown-linux-gnu has
evolved over time, gaining the "Fn32" bit that specifies function pointer
alignment. See the following source locations:
llvm-project/clang/lib/Basic/Targets/PPC.h
(class PPC64TargetInfo, under "Triple.getArch() == llvm::Triple::ppc64le")
rust/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs
(note that this file was relocated in a later version)
This change occurred in clang-17, and rustc followed suit in 1.73.0. Since
we use an older clang and a newer rustc in our unstable build, we get an
inconsistency in data layouts when targeting this particular platform.
The error reported by the linker is not technically an error, however, only
a warning goosed up by a --fatal-warnings flag.
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -380,7 +380,7 @@ config("compiler") {
# Linker warnings.
if (fatal_linker_warnings && !is_apple && current_os != "aix" &&
- current_os != "zos") {
+ current_os != "zos" && current_cpu != "ppc64") {
ldflags += [ "-Wl,--fatal-warnings" ]
}
if (fatal_linker_warnings && is_apple) {
......@@ -28,7 +28,6 @@ ppc64le/third_party/0002-third_party-lss-kernel-structs.patch
ppc64le/webrtc/Rtc_base-system-arch.h-PPC.patch
ppc64le/crashpad/0002-Include-cstddef-to-fix-build.patch
ppc64le/third_party/0004-third_party-crashpad-port-curl-transport-ppc64.patch
ppc64le/workarounds/HACK-third_party-libvpx-use-generic-gnu.patch
......@@ -57,6 +56,7 @@ ppc64le/fixes/fix-breakpad-compile.patch
ppc64le/fixes/fix-partition-alloc-compile.patch
ppc64le/fixes/fix-study-crash.patch
ppc64le/fixes/memory-allocator-dcheck-assert-fix.patch
ppc64le/fixes/fix-different-data-layouts.patch
ppc64le/v8/0002-Add-ppc64-trap-instructions.patch
ppc64le/sandbox/fix-ppc64-linux-syscalls-headers.patch
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment