Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#65355 closed defect (fixed)

lldb-10: builds failing for ARM: fix, or set known_fail

Reported by: mascguy (Christopher Nielsen) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.7.2
Keywords: arm Cc: cjones051073 (Chris Jones), kencu (Ken)
Port: lldb-10

Description (last modified by mascguy (Christopher Nielsen))

Builds currently failing for Big Sur and Monterey ARM, with the following:

llvm-10.0.1.src/tools/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp:3507:55:
error: cannot increment value of type 'const std::__map_iterator<std::__tree_iterator<std::__value_type<unsigned long long, unsigned int>, std::__tree_node<std::__value_type<unsigned long long, unsigned int>, void *> *, long>>'
                                 pos != range.second; ++pos) {
                                                      ^ ~~~
llvm-10.0.1.src/tools/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp:3552:55:
error: cannot increment value of type 'const std::__map_iterator<std::__tree_iterator<std::__value_type<unsigned long long, unsigned int>, std::__tree_node<std::__value_type<unsigned long long, unsigned int>, void *> *, long>>'
                                 pos != range.second; ++pos) {
                                                      ^ ~~~

Depending on the evolution of LLVM/LLDB 10 -> 11, we may be able to apply an upstream patch/fix. Though it's a bit odd that this compiles fine for Big Sur and Monterey x86_64.

Is there some type of stdlib difference between the two architectures...?

Change History (5)

comment:1 Changed 2 years ago by mascguy (Christopher Nielsen)

Description: modified (diff)

comment:2 Changed 2 years ago by jmroot (Joshua Root)

https://github.com/llvm/llvm-project/commit/34ee941f6d04454838456f0dc692f4abab5cdd19

but Apple Silicon systems really aren't supported properly by LLVM < 11 anyway.

comment:3 Changed 2 years ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In 536919b80849052fcb0f3adec9ceae983c5ac4e5/macports-ports (master):

lldb-10: patch for ARM build failure

  • Note that fix applies to x86_64 as well

Fixes: #65355

comment:4 Changed 2 years ago by jmroot (Joshua Root)

I would really just remove arm64 from supported_archs for all of llvm-10, since even if it builds there are going to be runtime problems. It was added originally as a stopgap measure, and the reasons for doing so no longer apply. [4a95522133a10539e4ca53fe025cbaa91961bd43/macports-ports]

comment:5 in reply to:  4 Changed 2 years ago by mascguy (Christopher Nielsen)

Replying to jmroot:

I would really just remove arm64 from supported_archs for all of llvm-10, since even if it builds there are going to be runtime problems.

Well, the goal of my recent lldb-related commits, was to contribute a bit of low-risk cleanup/improvement. (Like adding upstream's codesign script.) Ditto for fixing build failures, such as in this case.

But if LLVM 10 as a whole is only semi-functional on ARM, we can certainly remove support for it.

So I'm good with whatever you folks think is the best approach.

Note: See TracTickets for help on using tickets.