Opened 2 years ago

Closed 2 years ago

#64600 closed update (wontfix)

Is there any special reason why llvm-3.5 is deprecated while llvm-3.3 and llvm-3.4 are kept?

Reported by: barracuda156 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: powerpc, leopard, llvm Cc:
Port: llvm-3.3, llvm-3.4, llvm-3.5

Description

I thought initially that llvm-3.5 does not build for ppc, but no, it does build.

Or it does not matter at all, which llvm version is used as a base for ld64, and +llvm33 is identical in effect to +llvm34 or +llvm35?

Change History (8)

comment:1 Changed 2 years ago by kencu (Ken)

llvm-3.3, 3.4, 3.7, and 5.0 are currently required for bootstrapping to a modern clang/llvm like 9.0.

the others are not, so were dropped.

llvm/clangs 6, 7, 8, and maybe 10 are also ripe for being dropped soon…I had been waiting to see if Iain might finish one of them for PPC which is one reason I kept them, but nothing on that front after waiting two more years so … MacPorts could consider dropping them.

having unneeded compilers hanging around causes a degree of confusion and generates many pointless tickets.

comment:2 in reply to:  1 Changed 2 years ago by barracuda156

Replying to kencu:

llvm-3.3, 3.4, 3.7, and 5.0 are currently required for bootstrapping to a modern clang/llvm like 9.0. having unneeded compilers hanging around causes a degree of confusion and generates many pointless tickets.

Fair point.

What about the linker? I honestly don't know why llvm is even needed to build a linker which is a tiny binary with 3 minutes building time.

Do you recommend to use +llvm3.7 on PowerPC systems or it doesn't matter? Or just untested?

comment:3 Changed 2 years ago by kencu (Ken)

linker uses it for lto.

At a certain point Apple assumes llvm is available, so building ld64 without it becomes difficult as it’s written into the code in too many places.

Last edited 2 years ago by kencu (Ken) (previous) (diff)

comment:4 Changed 2 years ago by kencu (Ken)

I never tried building ld64-127 against llvm-3.7 on PPC, I think.

I have had llvm/clang/libcxx 5.0 running on my 10.5 PPC system since about 2018, but it generates ABI-broken code so never moved it into MP.

Last edited 2 years ago by kencu (Ken) (previous) (diff)

comment:5 in reply to:  4 Changed 2 years ago by barracuda156

Replying to kencu:

I never tried building ld64-127 against llvm-3.7 on PPC, I think.

Got it. I will try that perhaps, since I get linker failures with some configurations which I cannot fix directly (so trying another combo might possibly help).

I have had llvm/clang/libcxx 5.0 running on my 10.5 PPC system since about 2018, but it generates ABI-broken code so never moved it into MP.

I have been just re-reading your post on it: #53184 Will clang-3.x work with libstdc++ or I should switch it to libc++? If the second, can we link against different libs within same Macports installation? (And what about lib setting for llvm?)

Last edited 2 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:6 Changed 2 years ago by kencu (Ken)

yeah, if I knew 5 years later there would still be no clang for darwin PPC I surely never would have wasted all that time! At least I kept 10.6 working as long as I needed it to.

comment:7 in reply to:  6 Changed 2 years ago by barracuda156

Replying to kencu:

yeah, if I knew 5 years later there would still be no clang for darwin PPC I surely never would have wasted all that time! At least I kept 10.6 working as long as I needed it to.

Have you still kept those? ​https://github.com/kencu/LeopardPorts/tree/master/lang/llvm-5.0 https://github.com/kencu/compiler-rt

comment:8 Changed 2 years ago by kencu (Ken)

Resolution: wontfix
Status: newclosed
Note: See TracTickets for help on using tickets.