New issue
Advanced search Search tips

Issue 873168 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Oct 25
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

chromeos-chome build failing due to PTRACE_GET_THREAD_AREA redefinition on Kevin64

Project Member Reported by ka...@inf.u-szeged.hu, Aug 10

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36

Steps to reproduce the problem:
1. Cherry-pick these changes:
a) https://chromium-review.googlesource.com/c/chromiumos/overlays/board-overlays/+/1127790
b) https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/1144931
2. ./setup_board --board kevin64
3. ./build_package --board kevin64 --accept_licenses="Google-TOS"

What is the expected behavior?

What went wrong?
chromeos-chrome-9999: aarch64-cros-linux-gnu-clang++ -B/usr/x86_64-pc-linux-gnu/aarch64-cros-linux-gnu/bi
nutils-bin/2.27.0-gold -MMD -MF obj/third_party/crashpad/crashpad/util/util/ptracer.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAF
E_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DCR_CLANG_REVISION=\"337439-1\" -D__STDC_CONSTANT_MACROS -
D__STDC_FORMAT_MACROS -DCR_SYSROOT_HASH=37dfa5f22e2c0e847cee34f9848eb31230c33d35 -DOS_CHROMEOS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -Igen/third_party/crashpad/cra
shpad -I../../../../../../../home/kadam/chrome_root/src -Igen -I../../../../../../../home/kadam/chrome_root/src/third_party/crashpad/crashpad -I../../../../../../../home/kadam/chrome_root/src/third_party/crashp
ad/crashpad/compat/linux -I../../../../../../../home/kadam/chrome_root/src/third_party/crashpad/crashpad/compat/non_win -I../../../../../../../home/kadam/chrome_root/src/third_party/zlib -fno-strict-aliasing -W
no-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -no-canonical-prefixes -flto=thin -fwhole-program-vtables --target=aa
rch64-linux-gnu -Wall -Wextra -Wimplicit-fallthrough -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wn
o-undefined-var-template -Wno-nonportable-include-path -Wno-user-defined-warnings -Wno-unused-lambda-capture -Wno-null-pointer-arithmetic -Wno-enum-compare-switch -Wno-ignored-pragma-optimize -O2 -fno-ident -fd
ata-sections -ffunction-sections -fno-omit-frame-pointer -g2 -gsplit-dwarf -fsanitize=cfi-vcall -fsanitize-blacklist=../../../../../../../home/kadam/chrome_root/src/tools/cfi/blacklist.txt -fsanitize=cfi-derive
d-cast -fsanitize=cfi-unrelated-cast -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=../../../../../../../build/kevin64 -
fvisibility-inlines-hidden -pipe -march=armv8-a+crc -mtune=cortex-a57 -ftree-vectorize -fno-split-dwarf-inlining -fdebug-info-for-profiling -D__google_stl_debug_vector=1 -Wno-unknown-warning-option -stdlib=libc
++  -c ../../../../../../../home/kadam/chrome_root/src/third_party/crashpad/crashpad/util/linux/ptracer.cc -o obj/third_party/crashpad/crashpad/util/util/ptracer.o
chromeos-chrome-9999: In file included from ../../../../../../../home/kadam/chrome_root/src/third_party/c
rashpad/crashpad/util/linux/ptracer.cc:20:
chromeos-chrome-9999: ../../../../../../../home/kadam/chrome_root/src/third_party/crashpad/crashpad/compa
t/linux/sys/ptrace.h:30:35: error: redefinition of 'PTRACE_GET_THREAD_AREA' as different kind of symbol
chromeos-chrome-9999: static constexpr __ptrace_request PTRACE_GET_THREAD_AREA =
chromeos-chrome-9999:                                   ^
chromeos-chrome-9999: ../../../../../../../build/kevin64/usr/include/sys/ptrace.h:81:3: note: previous de
finition is here
chromeos-chrome-9999:   PTRACE_GET_THREAD_AREA = 22,
chromeos-chrome-9999:   ^
chromeos-chrome-9999: 1 error generated.

Did this work before? N/A 

Chrome version: 70.0.3511.0  Channel: dev
OS Version: 
Flash Version: 

I also could reproduce it with 70.0.3511.0_rc-r1 version of Chromium.
This issue is same as: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/999161

For example the glibc for arm (kevin) defines a PT_GET_THREAD_AREA macro to detect that case whether PTRACE_GET_THREAD_AREA is already defined or not. But for aarch64 it is not available, and as I see in the newer version of glibc PTRACE_GET_THREAD_AREA is removed from aarch64. 
Could anybody give me some pointer how it could be fixed for kevin64?
 
PTRACE_GET_THREAD_AREA is removed from newer version of glibc (>=2.28) for aarch64. Since ChromeOS uses 2.23 version of glibc, so it should be handled in crashpad, to avoid redefinition.
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 24

The following revision refers to this bug:
  https://chromium.googlesource.com/crashpad/crashpad.git/+/7198015c7318b056d20b2b0df275c604bb05989e

commit 7198015c7318b056d20b2b0df275c604bb05989e
Author: Adam Kallai <kadam@inf.u-szeged.hu>
Date: Fri Aug 24 16:52:31 2018

Fix the Chromium build on ChromeOS for aarch64

PTRACE_GET_THREAD_AREA is only removed from the newer version of glibc (>=2.28)
for aarch64. Since ChromeOS uses 2.23 version of glibc currently,
so it should be handled in crashpad to avoid the redefinition.

BUG= chromium:873168 

Change-Id: I8da6bc0595b814b0490b38da6f4a68e6803bb5b9
Reviewed-on: https://chromium-review.googlesource.com/1188309
Reviewed-by: Mark Mentovai <mark@chromium.org>
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>

[modify] https://crrev.com/7198015c7318b056d20b2b0df275c604bb05989e/compat/linux/sys/ptrace.h

Status: Fixed (was: Unconfirmed)

Sign in to add a comment