* [gentoo-user] sys-devel/llvm and LLVM_TARGETS
@ 2022-03-12 1:34 Dale
2022-03-12 8:23 ` Michael
0 siblings, 1 reply; 13+ messages in thread
From: Dale @ 2022-03-12 1:34 UTC (permalink / raw
To: Gentoo User
Howdy,
I just noticed this in my updates:
[ebuild U ] sys-devel/llvm-13.0.1:13::gentoo [13.0.0:13::gentoo]
USE="binutils-plugin%* libffi ncurses xml -debug -doc -exegesis -libedit
-test -xar -z3 (-gold%*)" ABI_X86="32 (64) (-x32)"
LLVM_TARGETS="(AArch64*) (AMDGPU) (ARM*) (AVR*) (BPF) (Hexagon*)
(Lanai*) (MSP430*) (Mips*) (NVPTX) (PowerPC*) (RISCV*) (Sparc*)
(SystemZ*) (WebAssembly*) (X86) (XCore*) (-ARC) (-CSKY) (-M68k) (-VE)"
The LLVM_TARGETS= part looks odd. Why do I need ARM, PowerPC, Sparc etc
here? Is that correct? The old still installed version doesn't have
those enabled.
Thanks.
Dale
:-) :-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] sys-devel/llvm and LLVM_TARGETS
2022-03-12 1:34 [gentoo-user] sys-devel/llvm and LLVM_TARGETS Dale
@ 2022-03-12 8:23 ` Michael
2022-03-12 8:43 ` Dale
0 siblings, 1 reply; 13+ messages in thread
From: Michael @ 2022-03-12 8:23 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 887 bytes --]
On Saturday, 12 March 2022 01:34:45 GMT Dale wrote:
> Howdy,
>
> I just noticed this in my updates:
>
> [ebuild U ] sys-devel/llvm-13.0.1:13::gentoo [13.0.0:13::gentoo]
> USE="binutils-plugin%* libffi ncurses xml -debug -doc -exegesis -libedit
> -test -xar -z3 (-gold%*)" ABI_X86="32 (64) (-x32)"
> LLVM_TARGETS="(AArch64*) (AMDGPU) (ARM*) (AVR*) (BPF) (Hexagon*)
> (Lanai*) (MSP430*) (Mips*) (NVPTX) (PowerPC*) (RISCV*) (Sparc*)
> (SystemZ*) (WebAssembly*) (X86) (XCore*) (-ARC) (-CSKY) (-M68k) (-VE)"
>
> The LLVM_TARGETS= part looks odd. Why do I need ARM, PowerPC, Sparc etc
> here? Is that correct? The old still installed version doesn't have
> those enabled.
>
> Thanks.
>
> Dale
>
> :-) :-)
You don't need any of these targets in llvm and clang any more than I do.
There's a bug which explains why these arch targets are now being forced, but
I can't find it.
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] sys-devel/llvm and LLVM_TARGETS
2022-03-12 8:23 ` Michael
@ 2022-03-12 8:43 ` Dale
2022-03-12 8:58 ` Michael
2022-03-12 14:22 ` [gentoo-user] " Nikos Chantziaras
0 siblings, 2 replies; 13+ messages in thread
From: Dale @ 2022-03-12 8:43 UTC (permalink / raw
To: gentoo-user
Michael wrote:
> On Saturday, 12 March 2022 01:34:45 GMT Dale wrote:
>> Howdy,
>>
>> I just noticed this in my updates:
>>
>> [ebuild U ] sys-devel/llvm-13.0.1:13::gentoo [13.0.0:13::gentoo]
>> USE="binutils-plugin%* libffi ncurses xml -debug -doc -exegesis -libedit
>> -test -xar -z3 (-gold%*)" ABI_X86="32 (64) (-x32)"
>> LLVM_TARGETS="(AArch64*) (AMDGPU) (ARM*) (AVR*) (BPF) (Hexagon*)
>> (Lanai*) (MSP430*) (Mips*) (NVPTX) (PowerPC*) (RISCV*) (Sparc*)
>> (SystemZ*) (WebAssembly*) (X86) (XCore*) (-ARC) (-CSKY) (-M68k) (-VE)"
>>
>> The LLVM_TARGETS= part looks odd. Why do I need ARM, PowerPC, Sparc etc
>> here? Is that correct? The old still installed version doesn't have
>> those enabled.
>>
>> Thanks.
>>
>> Dale
>>
>> :-) :-)
> You don't need any of these targets in llvm and clang any more than I do.
> There's a bug which explains why these arch targets are now being forced, but
> I can't find it.
That was my thinking when I saw it. It just looked odd to me. I found
this bug.
https://bugs.gentoo.org/767700
Is that the one? It mentions the target but I don't quite understand
the why. The biggest thing, will this break something if I let it do
it? I don't have any settings of my own on this package. It was done
by a dev, who I assume has a good reason for this.
Dale
:-) :-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] sys-devel/llvm and LLVM_TARGETS
2022-03-12 8:43 ` Dale
@ 2022-03-12 8:58 ` Michael
2022-03-12 14:22 ` [gentoo-user] " Nikos Chantziaras
1 sibling, 0 replies; 13+ messages in thread
From: Michael @ 2022-03-12 8:58 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 1554 bytes --]
On Saturday, 12 March 2022 08:43:02 GMT Dale wrote:
> Michael wrote:
> > On Saturday, 12 March 2022 01:34:45 GMT Dale wrote:
> >> Howdy,
> >>
> >> I just noticed this in my updates:
> >>
> >> [ebuild U ] sys-devel/llvm-13.0.1:13::gentoo [13.0.0:13::gentoo]
> >> USE="binutils-plugin%* libffi ncurses xml -debug -doc -exegesis -libedit
> >> -test -xar -z3 (-gold%*)" ABI_X86="32 (64) (-x32)"
> >> LLVM_TARGETS="(AArch64*) (AMDGPU) (ARM*) (AVR*) (BPF) (Hexagon*)
> >> (Lanai*) (MSP430*) (Mips*) (NVPTX) (PowerPC*) (RISCV*) (Sparc*)
> >> (SystemZ*) (WebAssembly*) (X86) (XCore*) (-ARC) (-CSKY) (-M68k) (-VE)"
> >>
> >> The LLVM_TARGETS= part looks odd. Why do I need ARM, PowerPC, Sparc etc
> >> here? Is that correct? The old still installed version doesn't have
> >> those enabled.
> >>
> >> Thanks.
> >>
> >> Dale
> >>
> >> :-) :-)
> >
> > You don't need any of these targets in llvm and clang any more than I do.
> > There's a bug which explains why these arch targets are now being forced,
> > but I can't find it.
>
> That was my thinking when I saw it. It just looked odd to me. I found
> this bug.
>
> https://bugs.gentoo.org/767700
>
> Is that the one? It mentions the target but I don't quite understand
> the why. The biggest thing, will this break something if I let it do
> it? I don't have any settings of my own on this package. It was done
> by a dev, who I assume has a good reason for this.
>
> Dale
>
> :-) :-)
That's the one, yes. As I understand it unless all these targets are set sys-
devel/lld breaks.
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gentoo-user] Re: sys-devel/llvm and LLVM_TARGETS
2022-03-12 8:43 ` Dale
2022-03-12 8:58 ` Michael
@ 2022-03-12 14:22 ` Nikos Chantziaras
2022-03-12 14:39 ` Wols Lists
` (2 more replies)
1 sibling, 3 replies; 13+ messages in thread
From: Nikos Chantziaras @ 2022-03-12 14:22 UTC (permalink / raw
To: gentoo-user
On 12/03/2022 10:43, Dale wrote:
> https://bugs.gentoo.org/767700
>
> Is that the one? It mentions the target but I don't quite understand
> the why. The biggest thing, will this break something if I let it do
> it?
No. Unlike GCC, LLVM/Clang is always a cross-compiler. This just enables
some extra targets. It won't actually affect anything other than perhaps
the binaries becoming a bit larger.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: sys-devel/llvm and LLVM_TARGETS
2022-03-12 14:22 ` [gentoo-user] " Nikos Chantziaras
@ 2022-03-12 14:39 ` Wols Lists
2022-03-12 16:03 ` Grant Edwards
2022-03-12 17:36 ` Dale
2 siblings, 0 replies; 13+ messages in thread
From: Wols Lists @ 2022-03-12 14:39 UTC (permalink / raw
To: gentoo-user
On 12/03/2022 14:22, Nikos Chantziaras wrote:
> On 12/03/2022 10:43, Dale wrote:
>> https://bugs.gentoo.org/767700
>>
>> Is that the one? It mentions the target but I don't quite understand
>> the why. The biggest thing, will this break something if I let it do
>> it?
>
> No. Unlike GCC, LLVM/Clang is always a cross-compiler. This just enables
> some extra targets. It won't actually affect anything other than perhaps
> the binaries becoming a bit larger.
>
>
I don't fully understand it (and I thought gcc was moving in the same
direction), but Clang is a front-end, compiling C to "Intermediate
Representation". LLVM is a middle/back end which calls optimisation
modules on the IR which finally end up spitting out machine code - for
whatever definition of machine code floats your boat.
So I guess adding these extra targets just adds another LLVM module that
just happens to spit out these extra different machine codes.
But that's how LLVM can compile so many different languages - it simply
converts IR to machine code. There's a whole bunch of different front
ends, it's just that Clang is the most well known because the world and
his dog work in C/C++. I believe there's a rust front end, amongst
others, but it feels like other languages are a bit "second class". Not
intentionally, but the C guys have so much input into the IR that the
other languages get swamped, and people take a while to realise that
what was a good decision for C was not a good decision for languages in
general, and the other guys are playing catch-up because nobody noticed.
That's not a dig at anybody, it's just life.
I used to follow this on the LLVM mailing list, but that's now migrated
to discourse, and I think I'm amongst a lot of people who didn't follow
it ...
Cheers,
Wol
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gentoo-user] Re: sys-devel/llvm and LLVM_TARGETS
2022-03-12 14:22 ` [gentoo-user] " Nikos Chantziaras
2022-03-12 14:39 ` Wols Lists
@ 2022-03-12 16:03 ` Grant Edwards
2022-03-12 21:49 ` Nikos Chantziaras
2022-03-12 17:36 ` Dale
2 siblings, 1 reply; 13+ messages in thread
From: Grant Edwards @ 2022-03-12 16:03 UTC (permalink / raw
To: gentoo-user
On 2022-03-12, Nikos Chantziaras <realnc@gmail.com> wrote:
> On 12/03/2022 10:43, Dale wrote:
>> https://bugs.gentoo.org/767700
>>
>> Is that the one? It mentions the target but I don't quite understand
>> the why. The biggest thing, will this break something if I let it do
>> it?
>
> No. Unlike GCC, LLVM/Clang is always a cross-compiler.
You can't use LLVM/Clang to compile for the host on which it's
running?
--
Grant
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: sys-devel/llvm and LLVM_TARGETS
2022-03-12 14:22 ` [gentoo-user] " Nikos Chantziaras
2022-03-12 14:39 ` Wols Lists
2022-03-12 16:03 ` Grant Edwards
@ 2022-03-12 17:36 ` Dale
2022-03-13 8:03 ` Wols Lists
2 siblings, 1 reply; 13+ messages in thread
From: Dale @ 2022-03-12 17:36 UTC (permalink / raw
To: gentoo-user
Nikos Chantziaras wrote:
> On 12/03/2022 10:43, Dale wrote:
>> https://bugs.gentoo.org/767700
>>
>> Is that the one? It mentions the target but I don't quite understand
>> the why. The biggest thing, will this break something if I let it do
>> it?
>
> No. Unlike GCC, LLVM/Clang is always a cross-compiler. This just
> enables some extra targets. It won't actually affect anything other
> than perhaps the binaries becoming a bit larger.
>
>
>
I'm doing this in a chroot so it is recoverable if it was a problem but
now I know it's OK to do on my main install. I still find it odd but if
it is needed and there is a reason for it, sounds good to me.
If this were a bad thing tho, this is why it is always good to look at
the output before doing a update. If this was a serious package that
would cause widespread breakage, one would want to catch this. I've
sort of read about llvm and clang and I seem to recall things like
Firefox needing them or something. Even if it did break things, I don't
think it would cause breakage to the point of rendering a system
unbootable or anything. Still, I check the output of updates for this
reason. If nothing else, I could have caught the tree in the middle of
a change and missed some important bits.
Thanks to all for the info.
Dale
:-) :-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gentoo-user] Re: sys-devel/llvm and LLVM_TARGETS
2022-03-12 16:03 ` Grant Edwards
@ 2022-03-12 21:49 ` Nikos Chantziaras
2022-03-13 3:57 ` Grant Edwards
0 siblings, 1 reply; 13+ messages in thread
From: Nikos Chantziaras @ 2022-03-12 21:49 UTC (permalink / raw
To: gentoo-user
On 12/03/2022 18:03, Grant Edwards wrote:
> On 2022-03-12, Nikos Chantziaras <realnc@gmail.com> wrote:
>> On 12/03/2022 10:43, Dale wrote:
>>> https://bugs.gentoo.org/767700
>>>
>>> Is that the one? It mentions the target but I don't quite understand
>>> the why. The biggest thing, will this break something if I let it do
>>> it?
>>
>> No. Unlike GCC, LLVM/Clang is always a cross-compiler.
>
> You can't use LLVM/Clang to compile for the host on which it's
> running?
Why not?
^ permalink raw reply [flat|nested] 13+ messages in thread
* [gentoo-user] Re: sys-devel/llvm and LLVM_TARGETS
2022-03-12 21:49 ` Nikos Chantziaras
@ 2022-03-13 3:57 ` Grant Edwards
0 siblings, 0 replies; 13+ messages in thread
From: Grant Edwards @ 2022-03-13 3:57 UTC (permalink / raw
To: gentoo-user
On 2022-03-12, Nikos Chantziaras <realnc@gmail.com> wrote:
> On 12/03/2022 18:03, Grant Edwards wrote:
>> On 2022-03-12, Nikos Chantziaras <realnc@gmail.com> wrote:
>>> On 12/03/2022 10:43, Dale wrote:
>>>> https://bugs.gentoo.org/767700
>>>>
>>>> Is that the one? It mentions the target but I don't quite understand
>>>> the why. The biggest thing, will this break something if I let it do
>>>> it?
>>>
>>> No. Unlike GCC, LLVM/Clang is always a cross-compiler.
>>
>> You can't use LLVM/Clang to compile for the host on which it's
>> running?
>
> Why not?
Because "LLVM/Clang is always a cross compiler".
A cross compiler is a compiler that compiles for a target
architecture/OS different than that of the host on which it is
running.
Therefore, LLVM/Clang always compiles for a target architecture/OS
different than that of the host on which it is running.
--
Grant
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: sys-devel/llvm and LLVM_TARGETS
2022-03-12 17:36 ` Dale
@ 2022-03-13 8:03 ` Wols Lists
2022-03-13 10:26 ` Peter Humphrey
0 siblings, 1 reply; 13+ messages in thread
From: Wols Lists @ 2022-03-13 8:03 UTC (permalink / raw
To: gentoo-user
On 12/03/2022 17:36, Dale wrote:
> I've
> sort of read about llvm and clang and I seem to recall things like
> Firefox needing them or something.
I've just watched firefox emerging (yes I know, paint drying and all
that :-), and there's loads of Rust code in there.
To the best of my knowledge, gcc can't currently handle Rust, so yes
LLVM is needed. (Not Clang, because it isn't C :-) (Although Firefox
probably also uses loads of C, so Clang would be needed for that.)
Cheers,
Wol
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: sys-devel/llvm and LLVM_TARGETS
2022-03-13 8:03 ` Wols Lists
@ 2022-03-13 10:26 ` Peter Humphrey
2022-03-13 11:05 ` Dale
0 siblings, 1 reply; 13+ messages in thread
From: Peter Humphrey @ 2022-03-13 10:26 UTC (permalink / raw
To: gentoo-user
On Sunday, 13 March 2022 08:03:04 GMT Wols Lists wrote:
> To the best of my knowledge, gcc can't currently handle Rust, so yes
> LLVM is needed. (Not Clang, because it isn't C :-) (Although Firefox
> probably also uses loads of C, so Clang would be needed for that.)
And that's why we have dev-lang/rust on hand, no?
--
Regards,
Peter.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [gentoo-user] Re: sys-devel/llvm and LLVM_TARGETS
2022-03-13 10:26 ` Peter Humphrey
@ 2022-03-13 11:05 ` Dale
0 siblings, 0 replies; 13+ messages in thread
From: Dale @ 2022-03-13 11:05 UTC (permalink / raw
To: gentoo-user
Peter Humphrey wrote:
> On Sunday, 13 March 2022 08:03:04 GMT Wols Lists wrote:
>
>> To the best of my knowledge, gcc can't currently handle Rust, so yes
>> LLVM is needed. (Not Clang, because it isn't C :-) (Although Firefox
>> probably also uses loads of C, so Clang would be needed for that.)
> And that's why we have dev-lang/rust on hand, no?
>
So, it takes rust, gcc, clang and maybe some other stuff to make
Firefox??? Jeez, that sounds complicated. o_O Sounds like a recipe
for a soup or something. ROFL
I might add, I did finish the updates and everything compiled and works
fine. So, it is safe to have all those options enabled. Weird but
safe. ;-)
Dale
:-) :-)
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2022-03-13 11:05 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-12 1:34 [gentoo-user] sys-devel/llvm and LLVM_TARGETS Dale
2022-03-12 8:23 ` Michael
2022-03-12 8:43 ` Dale
2022-03-12 8:58 ` Michael
2022-03-12 14:22 ` [gentoo-user] " Nikos Chantziaras
2022-03-12 14:39 ` Wols Lists
2022-03-12 16:03 ` Grant Edwards
2022-03-12 21:49 ` Nikos Chantziaras
2022-03-13 3:57 ` Grant Edwards
2022-03-12 17:36 ` Dale
2022-03-13 8:03 ` Wols Lists
2022-03-13 10:26 ` Peter Humphrey
2022-03-13 11:05 ` Dale
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox