llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.54k stars 11.8k forks source link

libc++abi fails to compile on arm when build against libgcc's arm unwind with: cxa_personality.cpp:594:30: error: ‘_URC_FATAL_PHASE2_ERROR’ was not declared in this scope #38597

Open llvmbot opened 6 years ago

llvmbot commented 6 years ago
Bugzilla Link 39249
Version 7.0
OS Linux
Attachments patch to fix this bug
Reporter LLVM Bugzilla Contributor
CC @mclow

Extended Description

This is follow-up of llvm/llvm-project#35293 , which reports that libc++ doesn't build for the Raspberry PI.

Errors related to char[8] are fixed now, but there are some missing values from _Unwind_Reason_Code enum and wrong behavior of _US_FORCE_UNWIND

I isolated the added lines (with permission) from this fedora patch: https://src.fedoraproject.org/rpms/v8/blob/master/f/v8-6.7.17-fix-gcc-unwind-header.patch

https://reviews.llvm.org/D53127

please assign mgorny@gentoo.org, he agreed to help out if there are unforeseen problems with this patch.

llvmbot commented 6 years ago

compressed build log This is the full build of libcxxabi.

llvmbot commented 6 years ago

I tried to be more precise with the title, okay for you?

Or do you think that this is actually a bug within gcc's implementation of unwind on arm?

mclow commented 6 years ago

I've said this on the review, but I want to say it here too - this doesn't have anything to do with being built with gcc.

this has to do with using gcc's ARM unwind library.

llvmbot commented 6 years ago

This fix and the fix for llvm/llvm-project#35293 should be included into upcoming 7.0.1 and 6.0.2 (if there will be one)