Opened 44 hours ago

Last modified 5 hours ago

#70779 new defect

clang-17 build fails on Sequoia

Reported by: jwhowarth Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.10.1
Keywords: Cc: cjones051073 (Chris Jones)
Port: clang-17

Description (last modified by ryandesign (Ryan Carsten Schmidt))

In attempting to install apbs, I discovered that the clang-17 build fails as follows...

/Library/Developer/CommandLineTools/usr/bin/clang -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DL_cas -DMODEL=2 -DSIZE=1 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-17/clang-17/work/llvm-project-17.0.6.src/compiler-rt/lib/builtins -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-17/clang-17/work/build/projects/compiler-rt/lib/builtins -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-17/clang-17/work/llvm-project-17.0.6.src/compiler-rt/lib/builtins -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-17/clang-17/work/build/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-17/clang-17/work/llvm-project-17.0.6.src/llvm/include -O3 -DNDEBUG -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=10.7 -fPIC -O3 -fvisibility=hidden -DVISIBILITY_HIDDEN -Wall -fomit-frame-pointer -DHAS_ASM_LSE -Werror=format-nonliteral -DDONT_DEFINE_EPRINTF -arch arm64 -target arm64-apple-macos10.7 -darwin-target-variant arm64-apple-ios13.1-macabi -MD -MT projects/compiler-rt/lib/builtins/CMakeFiles/clang_rt.builtins_arm64_osx.dir/outline_atomic_helpers.dir/outline_atomic_cas1_2.S.o -MF projects/compiler-rt/lib/builtins/CMakeFiles/clang_rt.builtins_arm64_osx.dir/outline_atomic_helpers.dir/outline_atomic_cas1_2.S.o.d -o projects/compiler-rt/lib/builtins/CMakeFiles/clang_rt.builtins_arm64_osx.dir/outline_atomic_helpers.dir/outline_atomic_cas1_2.S.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-17/clang-17/work/build/projects/compiler-rt/lib/builtins/outline_atomic_helpers.dir/outline_atomic_cas1_2.S
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-17/clang-17/work/build/projects/compiler-rt/lib/builtins/outline_atomic_helpers.dir/outline_atomic_cas1_2.S:145:116: error: non-private labels cannot appear between .cfi_startproc / .cfi_endproc pairs
 .text %% .balign 16 %% .globl __aarch64_cas1_acq %% %% .private_extern __aarch64_cas1_acq %% %% .cfi_startproc %% __aarch64_cas1_acq: %%
                                                                                                                   ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-17/clang-17/work/build/projects/compiler-rt/lib/builtins/outline_atomic_helpers.dir/outline_atomic_cas1_2.S:145:98: error: previous .cfi_startproc was here
 .text %% .balign 16 %% .globl __aarch64_cas1_acq %% %% .private_extern __aarch64_cas1_acq %% %% .cfi_startproc %% __aarch64_cas1_acq: %%

The clang-18 build doesn't have this problem.

Change History (8)

comment:1 Changed 44 hours ago by jwhowarth

Description: modified (diff)

comment:2 Changed 41 hours ago by cjones051073 (Chris Jones)

Please attach a complete build log from a clean build attempt of clang-17

comment:3 Changed 41 hours ago by cjones051073 (Chris Jones)

Cc: cjones051073 added

comment:4 Changed 41 hours ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

See also #70710 for the same error affecting gcc-13.

comment:5 Changed 40 hours ago by cjones051073 (Chris Jones)

See https://github.com/macports/macports-ports/commit/8e4cf778021470a4f5cd2adc5566d43f79f56baf

that limits clang fallback on macOS15+ to clang-18 (or newer once clang-19 is added).

If clang-17 is ever fixed for macOS15+ this can be reviewed.

comment:6 Changed 19 hours ago by jwhowarth

FYI, so far the only sensible commit that I've identified in llvm 18.x to back port to llvm 17.0.6 is this one.

Reland "[MC][AsmParser] Diagnose improperly nested .cfi frames" This showed up when simplifying some large testcase, where the cfi directives became out of sync with the proc's they enclose.

Now restricted to platforms that support .subsections_via_symbols.

This reverts commit 797b68c.

Fixes: #72802

Differential revision: https://reviews.llvm.org/D153167

rdar://111459507

https://github.com/llvm/llvm-project/commit/d506aa4edfa66074db3dc1fa84da9d9c80d71500

Unfortunately, this change alone appears to be insufficient to eliminate the build failures on Sequoia.

comment:7 Changed 18 hours ago by cjones051073 (Chris Jones)

Unless upstream fixes LLVM 17 themselves I think we should just limit clang on macOS15 on our side to clang-18 or newer, which work fine. There should be no need to *require* clang-17 really.

comment:8 Changed 5 hours ago by markemer (Mark Anderson)

Yeah - if clang 18 and 19 build and work, I'm ok with just limiting clang on macOS 15+

I assume nothing (or almost nothing) that requires 17 won't build with 18/19?

Note: See TracTickets for help on using tickets.