1 |
On Thursday 01 September 2005 19:10, Grant Goodyear wrote: |
2 |
> The recent discussion about having a "real" x86 arch team and combining |
3 |
> the x86 and amd64 keywords was both interesting and provocative. |
4 |
|
5 |
aha? Not in the list, is it? |
6 |
|
7 |
> Of course, this is the sort of thing that the GLEP system was meant for. |
8 |
> Now that we have a new council that (I hope) will be active in approving |
9 |
> or rejecting GLEPs, perhaps someone should be writing a GLEP about |
10 |
> combining x86 and amd64? |
11 |
|
12 |
This just leads me to assume you're not really a coder (wrt native programming |
13 |
languages like C/C++), are you? |
14 |
|
15 |
I mean, x86 (32bit) and amd64 (64bit) ARE NOT THE SAME ARCH. |
16 |
This is simply demonstrated by all those ugly pointer-to-integer conversions |
17 |
that often happen when you write on your legacy x86 architecture. |
18 |
However, when you try to compile it on an amd64 e.g., you just can't as gcc |
19 |
WILL bail out. |
20 |
Having now a x86amd64-alike keyword instead of x86 and amd64 will just make |
21 |
lots of user's emerge experiences pain ass. |
22 |
Of course, OTOH, while our bugs db gets flooded with reports, this *could* be |
23 |
a startup for us to know *what* packages needs fixing. But that way, we would |
24 |
be jast far off enterprise. |
25 |
|
26 |
Here's an example that works on x86 but *not* an amd64: |
27 |
|
28 |
// g++ -o test32vs64bit test32vs64bit.cpp |
29 |
#include <cstdlib> |
30 |
|
31 |
int main() { |
32 |
void *p = NULL; |
33 |
unsigned u = (unsigned)p; // ok on x86; error on amd64 |
34 |
|
35 |
p = (void *)u; // ok on x86; error on amd64 |
36 |
|
37 |
return 0; |
38 |
} |
39 |
|
40 |
Of course, you might think WTF do some guy need this, but hey, programmers are |
41 |
really creative, and use what the compiler accepts - I myself ran into this |
42 |
while porting my apps/libs to amd64. And think of it, not everybody has the |
43 |
money to grab one. |
44 |
|
45 |
Congrats, |
46 |
Christian Parpart. |