1 |
Kumba wrote: |
2 |
|
3 |
> Brian Koropoff wrote: |
4 |
> |
5 |
>> As far as I know, crossdev only builds a cross compiler which runs on |
6 |
>> your build system but generates executables for another |
7 |
>> processor/architecture. I've already used crossdev sucessfully to |
8 |
>> generate such a compiler for arm. What I want to do now is build a |
9 |
>> compiler that *runs* on arm and creates arm executables (that is, both |
10 |
>> the host and target platform is arm, not just the target). This should |
11 |
>> be as simple as using portage with my crossdev-built cross-compiler and |
12 |
>> emerging it, but the build fails. Is there any trick to getting portage |
13 |
>> to build a native gcc to be included in the arm root fs? |
14 |
> |
15 |
> |
16 |
> If I'm reading this right, then what you want to do is impossible. |
17 |
> You can't build a gcc that runs on arm, and builds for arm, on a |
18 |
> cross-host. gcc has a rather strange build phase, wherein it rebuilds |
19 |
> itself 2-3 times (if you watch a gcc build closely, you'll see an |
20 |
> "xgcc" and references to stage1 and stage2 bootstraps). As such, if |
21 |
> you want to build a native compiler, you have to build on the native |
22 |
> architecture. This is because when the initial bootstrap completes, |
23 |
> and gcc kicks off it's stage1 xgcc run, that xgcc is an arm binary, |
24 |
> and it tries to build a stage2 xgcc arm binary. If performed on a |
25 |
> fast x86 box, this will fail. |
26 |
> |
27 |
> |
28 |
> --Kumba |
29 |
> |
30 |
Sorry to but in here, however I've been building the armv5teb (IXP4xx |
31 |
chip) like this for months. Unfortunately, it's with open embedded (OE). |
32 |
|
33 |
Not only that, but I've natively built the following with the tools |
34 |
generated: |
35 |
Linux 2.6.11.2 |
36 |
Apache 2.0.5 |
37 |
Perl 5.8.7 ran make test Failed 1 test script out of 878, 99.89% |
38 |
okay which is a known coreutils bug |
39 |
Python 2.4.1 make test 244 OK 3 tests failed: test_mimetools |
40 |
test_random test_urllib2 |
41 |
|
42 |
OE is pretty libc neutral so this can usually be done for both glibc and |
43 |
uClibc. |
44 |
|
45 |
The hardened and PIE parts are missing from OE. Also the package are |
46 |
constantly changing and some packages build but don't work. It's a lot |
47 |
of chaos. And there are not nearly the number of packages as in Gentoo. |
48 |
Hopefully in the not to distant future will I'll have everything |
49 |
required to a stage1 build straight from the target. We may have |
50 |
everything now, but the finishing touches are being done to the native |
51 |
development environment. Currently, OE and the nslu2-linux project are |
52 |
in the middle of the SCM switch from BK to something else. Things are |
53 |
in flux right now and this squares the chaos. I'm sure it'll die down in |
54 |
a couple weeks. |
55 |
|
56 |
See |
57 |
http://www.nslu2-linux.org/wiki/HowTo/OpenSlugNativeCompileEnvironment. |
58 |
The following for all the packages that are cross built |
59 |
http://www.nslu2-linux.org/wiki/HowTo/OpenSlugDevInst |
60 |
|
61 |
Best Regards, |
62 |
|
63 |
Tommy B. |
64 |
[g2] |
65 |
|
66 |
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 |
|
74 |
|
75 |
|
76 |
-- |
77 |
gentoo-embedded@g.o mailing list |