Closed Bug 1823837 Opened 3 years ago Closed 3 years ago

Perma toolchain clang-trunk Cannot copy libunwind-aarch64-linux-android/include/unwind.h because it is already in clang/lib/clang/17/include

Categories

(Firefox Build System :: Toolchains, defect)

defect

Tracking

(firefox-esr102 unaffected, firefox111 unaffected, firefox112 unaffected, firefox113 fixed)

RESOLVED FIXED
113 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox111 --- unaffected
firefox112 --- unaffected
firefox113 --- fixed

People

(Reporter: ctuns, Assigned: glandium)

References

(Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Push with failures: https://treeherder.mozilla.org/jobs?repo=mozilla-central&group_state=expanded&searchStr=toolchains%2Copt%2Ctoolchain%2Cbuilds%2Cfor%2Clinux%2C64-bits%2Ctoolchain-linux64-clang-trunk%2Cclang-trunk&revision=d65395a2bd805a5e66ffe91ef622c195c7a652bb&selectedTaskRun=ZwR5ZVBsTyu5yLjATDNTSA.0
Failure log: https://treeherder.mozilla.org/logviewer?job_id=409739724&repo=mozilla-central

[task 2023-03-22T02:56:40.135Z] + cp compiler-rt-x86_64-unknown-linux-gnu/include/sanitizer/hwasan_interface.h clang/lib/clang/17/include/sanitizer/hwasan_interface.h
[task 2023-03-22T02:56:40.136Z] + read f
[task 2023-03-22T02:56:40.136Z] + read d
[task 2023-03-22T02:56:40.136Z] + for c in compiler-rt* libunwind*
[task 2023-03-22T02:56:40.136Z] + find libunwind-aarch64-linux-android -mindepth 1 -type d
[task 2023-03-22T02:56:40.136Z] + read d
[task 2023-03-22T02:56:40.137Z] + mkdir -p clang/lib/clang/17/lib
[task 2023-03-22T02:56:40.138Z] + find libunwind-aarch64-linux-android/lib -mindepth 1 -maxdepth 1 -not -type d
[task 2023-03-22T02:56:40.138Z] + read f
[task 2023-03-22T02:56:40.139Z] + read d
[task 2023-03-22T02:56:40.139Z] + mkdir -p clang/lib/clang/17/lib/linux
[task 2023-03-22T02:56:40.140Z] + find libunwind-aarch64-linux-android/lib/linux -mindepth 1 -maxdepth 1 -not -type d
[task 2023-03-22T02:56:40.140Z] + read f
[task 2023-03-22T02:56:40.141Z] + read d
[task 2023-03-22T02:56:40.141Z] + mkdir -p clang/lib/clang/17/lib/linux/aarch64
[task 2023-03-22T02:56:40.142Z] + find libunwind-aarch64-linux-android/lib/linux/aarch64 -mindepth 1 -maxdepth 1 -not -type d
[task 2023-03-22T02:56:40.142Z] + read f
[task 2023-03-22T02:56:40.142Z] + target_file=clang/lib/clang/17/lib/linux/aarch64/libunwind.a
[task 2023-03-22T02:56:40.142Z] + case $d in
[task 2023-03-22T02:56:40.142Z] + '[' -f clang/lib/clang/17/lib/linux/aarch64/libunwind.a ']'
[task 2023-03-22T02:56:40.143Z] + cp libunwind-aarch64-linux-android/lib/linux/aarch64/libunwind.a clang/lib/clang/17/lib/linux/aarch64/libunwind.a
[task 2023-03-22T02:56:40.143Z] + read f
[task 2023-03-22T02:56:40.144Z] + read d
[task 2023-03-22T02:56:40.144Z] + mkdir -p clang/lib/clang/17/include
[task 2023-03-22T02:56:40.145Z] + find libunwind-aarch64-linux-android/include -mindepth 1 -maxdepth 1 -not -type d
[task 2023-03-22T02:56:40.145Z] + read f
[task 2023-03-22T02:56:40.145Z] + target_file=clang/lib/clang/17/include/unwind_arm_ehabi.h
[task 2023-03-22T02:56:40.145Z] + case $d in
[task 2023-03-22T02:56:40.145Z] + '[' -f clang/lib/clang/17/include/unwind_arm_ehabi.h ']'
[task 2023-03-22T02:56:40.145Z] + cp libunwind-aarch64-linux-android/include/unwind_arm_ehabi.h clang/lib/clang/17/include/unwind_arm_ehabi.h
[task 2023-03-22T02:56:40.146Z] + read f
[task 2023-03-22T02:56:40.146Z] + target_file=clang/lib/clang/17/include/unwind.h
[task 2023-03-22T02:56:40.146Z] + case $d in
[task 2023-03-22T02:56:40.146Z] + '[' -f clang/lib/clang/17/include/unwind.h ']'
[task 2023-03-22T02:56:40.146Z] + diff -q libunwind-aarch64-linux-android/include/unwind.h clang/lib/clang/17/include/unwind.h
[task 2023-03-22T02:56:40.147Z] Files libunwind-aarch64-linux-android/include/unwind.h and clang/lib/clang/17/include/unwind.h differ
[task 2023-03-22T02:56:40.147Z] + echo 'Cannot copy libunwind-aarch64-linux-android/include/unwind.h because it is already in clang/lib/clang/17/include'
[task 2023-03-22T02:56:40.147Z] Cannot copy libunwind-aarch64-linux-android/include/unwind.h because it is already in clang/lib/clang/17/include
[task 2023-03-22T02:56:40.147Z] + exit 1
[taskcluster 2023-03-22 02:56:45.005Z] === Task Finished ===
[taskcluster 2023-03-22 02:56:45.022Z] Artifact "public/build" not found at "/builds/worker/artifacts/": (HTTP code 404) no such container - Could not find the file /builds/worker/artifacts/ in container 8e3e3def460acf1beec501def13ee20ef057259b3e56839d70fe3b84bdec58f7 
[taskcluster 2023-03-22 02:56:45.103Z] Unsuccessful task run with exit code: 1 completed in 116.772 seconds
Flags: needinfo?(mh+mozilla)
Blocks: clang-16
Flags: needinfo?(mh+mozilla)

Set release status flags based on info from the regressing bug 1821221

:glandium, since you are the author of the regressor, bug 1821221, could you take a look? Also, could you set the severity field?

For more information, please visit auto_nag documentation.

Assignee: nobody → mh+mozilla
Flags: needinfo?(mh+mozilla)

Before clang 16, the libunwind install only contained the libunwind.a
library. Since clang 16, however, it also contains header files,
including a unwind.h file that conflicts with the unwind.h file that
is also shipped alongside compiler-rt.

When building clang itself with compiler-rt and libunwind (i.e. not
building everything separately like we do), however, that's not a
problem because it puts libunwind in a different directory than
compiler-rt.

So we change the clang repacking to follow a similar convention.

But because clang doesn't look for libraries under clang/lib/$arch, but
looks under clang/lib/$target instead, we also need to enable per-target
directories for libunwind.

But because clang also looks for libraries under clang/lib/$exact_target
rather than clang/lib/$relaxed_target (in Android's case, exact_target
might be aarch64-unknown-linux-android21, relaxed_target
aarch64-unknown-linux-android), we patch clang to apply the same kind of
fallbacks it does for runtimes for clang/lib.

Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/979be5c80bf8 Move the location of libunwind in the clang toolchain. r=firefox-build-system-reviewers,ahochheiden
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: