Bug 2298822 - chromium build failed with clang++: error: missing sanitizer ignorelist
Summary: chromium build failed with clang++: error: missing sanitizer ignorelist
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: compiler-rt
Version: 40
Hardware: ppc64le
OS: Linux
high
high
Target Milestone: ---
Assignee: Tom Stellard
QA Contact: Fedora Extras Quality Assurance
URL: https://kojipkgs.fedoraproject.org//w...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-07-19 08:25 UTC by Than Ngo
Modified: 2024-07-21 19:02 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-07-21 19:02:21 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Than Ngo 2024-07-19 08:25:07 UTC
chromium build failed on ppc64le (f40 and rawhide) with following errors:

clang++ -MD -MF obj/buildtools/third_party/libc++abi/libc++abi/abort_message.o.d -DLIBCXXABI_SILENT_TERMINATE -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=e3b94d0e5b86883fd77696bf10dc33ba250ba99b -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_LIBCPP_BUILDING_LIBRARY -I../../third_party/libc++/src/src -I../.. -Igen -I../../buildtools/third_party/libc++ -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing -fstack-protector-strong -ftrivial-auto-var-init=zero -fwrapv -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -mllvm -split-threshold-for-reg-with-hint=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -fwhole-program-vtables -fcomplete-member-pointers -m64 -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-math-errno -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wall -Wno-unused-variable -Wno-c++11-narrowing -Wno-unused-but-set-variable -Wno-misleading-indentation -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-cast-function-type -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wno-deprecated-this-capture -Wno-invalid-offsetof -Wno-vla-extension -Wno-thread-safety-reference-return -fstrict-aliasing -fPIC -fsanitize=cfi-vcall -fsanitize-ignorelist=../../tools/cfi/ignores.txt -std=c++20 -Wno-trigraphs -gsimple-template-names -nostdinc++ -isystem../../third_party/libc++/src/include -isystem../../third_party/libc++abi/src/include -fvisibility-inlines-hidden -Wenum-compare-conditional -Wno-c++11-narrowing-const-reference -fexceptions -frtti -std=c++20  -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-unused-command-line-argument -Wno-unused-but-set-variable -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-unused-const-variable -Wno-unneeded-internal-declaration -Wno-unknown-attributes -Wno-unknown-pragmas -c ../../third_party/libc++abi/src/src/abort_message.cpp -o obj/buildtools/third_party/libc++abi/libc++abi/abort_message.o
clang++: error: missing sanitizer ignorelist: '/usr/bin/../lib/clang/18/share/cfi_ignorelist.txt'
[chrome:121/59718] CXX obj/buildtools/third_party/libc++abi/libc++abi/cxa_default_handlers.o
FAILED: obj/buildtools/third_party/libc++abi/libc++abi/cxa_default_handlers.o 

Reproducible: Always

Steps to Reproduce:
build latest chromium in rawhide or f40
Actual Results:  
the chromium build failed with above errors.

Expected Results:  
chromium should be built without this error

on aarch64 and x86_64 the /usr/lib/clang/18/share/cfi_ignorelist.txt is included in rpm, but this file is missing for ppc64le

Comment 1 Nikita Popov 2024-07-19 08:39:21 UTC
cfi_ignorelist.txt is not shipped on ppc64le because cfi is not supported for that architecture, see https://github.com/llvm/llvm-project/blob/270f5e42b8daab586ffcd2b46ff41486199f6626/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake#L81-L82 for a list of currently supported architectures. Out of arches relevant for Fedora/RHEL, i686, x86_64 and aarch64 are supported, while ppc64le and s390x are not.

I'd expect there is some build option for chromium that needs to be set to disable use of cfi on ppc64le.

Comment 2 Than Ngo 2024-07-19 09:04:34 UTC
I am not aware that it is not supported for ppc64le. Thanks for your info, i will disable cfi in chromium on ppc64le.

Feel free to close this bug


Note You need to log in before you can comment on or make changes to this bug.