Gentoo Archives: gentoo-dev

From: Ciaran McCreesh <ciaran.mccreesh@×××××××××××××.uk>
To: "Diego 'Flameeyes' Pettenò" <flameeyes@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Replacing cpu-feature USE flags
Date: Fri, 07 Jul 2006 00:04:03
Message-Id: 20060707005418.78a6d7ea@snowdrop.home
In Reply to: Re: [gentoo-dev] Replacing cpu-feature USE flags by "Diego 'Flameeyes' Pettenò"
1 On Fri, 7 Jul 2006 01:39:05 +0200 Diego 'Flameeyes' Pettenò
2 <flameeyes@g.o> wrote:
3 | > * it's relying upon non-guaranteed GCC internals.
4 |
5 | Not that internals, that part is guaranteed to work, or we cannot
6 | consider guaranteed __PIC__ either, and we rely on that heavily.
7
8 With __PIC__ there's not much choice. Here there is.
9
10 | > * it's relying upon GCC knowing the state of the underlying system,
11 | > which fails at least for VIS.
12 |
13 | Define "state of underlying system" because that is not a complete
14 | definition. This is not a state machine we're talking about, and
15 | we're not in science class.
16
17 In the VIS case, there are plenty of situations where GCC will think
18 that the underlying system doesn't do VIS (because that's the only way
19 of stopping it from producing broken code), but where hand-crafted VIS
20 code is fine and desirable.
21
22 | > * it's forcing users to use insane CFLAGS hacks, which we've spent
23 | > years telling them not to do and for good reason, to get back to
24 | > previous behaviour.
25 |
26 | No, we never spent years telling them not to use your so-called
27 | "CFLAGS hacks" that are rather a proper usage of what the compiler
28 | gives you.
29
30 Wrong. We did.
31
32 | > * a large part of the justification is based upon a
33 | > misunderstanding of how cross compilation should be done. The
34 | > correct way around this problem was already posted to the thread by
35 | > solar.
36 |
37 | No I'm not misunderstand how cross compilation should be done with a
38 | package manager. I'm saying that this will anyway give a hand to
39 | that. What I was referring to mostly comes down to the fact that, if
40 | I want to build a bin package for amd64 nocona arch, right now I am
41 | not guaranteed that setting CFLAGS to -march=nocona will produce the
42 | right result.
43
44 Well no, if you're cross compiling you should be using an entirely
45 separate configuration setup.
46
47 | > * it's removing transparency and simplicity and replacing them with
48 | > obfuscation and complexity.
49 |
50 | It's removing green and yellow and adding black and white.
51 | Your words are useless unless you explain them.
52
53 Basic software engineering principles. Or basic English, if you prefer.
54
55 Transparency: what is happening is obvious. That is to say, the CFLAGS
56 variable affects flags that are passed when compiling C, and the
57 USE_THESE_FANCY_X86_EXTRAS variable affects the fancy x86 extras that
58 are used in cases where there are optional fancy x86 extras.
59
60 Simplicity: what is happening is happening without unnecessary extras
61 or complication.
62
63 Obfuscation: what is happening is not obvious, and is being hidden. For
64 example, the CFLAGS variable doesn't actually just alter CFLAGS, it
65 also triggers some unrelated code that turns on other unrelated
66 features. It's like having a function called display_person(person)
67 that as a side effect also deducts five percent of that person's salary.
68
69 Complexity: what is happening takes many steps and relies upon many
70 different systems, assumptions or code paths. Like, say, a scary hack
71 of a function where previously there was just a variable.
72
73 | > * it's taking a variable with a well defined purpose and abusing it
74 | > for something unrelated.
75 |
76 | No it is not. Want to get the news? People at binutils were
77 | discussing about adding -march support to gas, so that it would
78 | refuse to build asm sources that contains instructions not supported
79 | by the -march value passed. So using -march=i586 with mmx useflag
80 | wouldn't work anymore.
81
82 CFLAGS != ASFLAGS.
83
84 | > Will that lot do or would you like some more?
85 |
86 | You have the innate ability to find more arguments when the ones you
87 | brought on are not accepted.
88
89 Well yes. There're all sorts of things wrong with this proposal, and
90 some of them are more obvious than others. Still, it makes sense to
91 start with the easy ones and see whether they'll suffice before moving
92 onto more complex objections...
93
94 | I find it a proper usage of $CFLAGS variable
95
96 Ouch.
97
98 --
99 Ciaran McCreesh
100 Mail : ciaran dot mccreesh at blueyonder.co.uk
101
102
103 --
104 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] Replacing cpu-feature USE flags "Diego 'Flameeyes' Pettenò" <flameeyes@g.o>