[ELDK] installing 5.6
K Richard Pixley
rpixley at graphitesystems.com
Wed Jan 28 20:11:26 CET 2015
On 1/28/15 10:55 , Wolfgang Denk wrote:
> Dear Richard,
>
> In message <54C914B9.40500 at graphitesystems.com> you wrote:
>> * the CFLAGS are obsolete and produce copious warnings from the compiler
> What makes you think so?
>
> Which part of
>
> CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types"
>
> looks obsolete or bad to you?
This part: " -mcpu=8548 -mabi=spe -mspe" from the CC/CXX/CPP definition.
At least, that's the part gcc complains about.
(-pipe is a minor quibble. It makes for slightly faster builds on
single core machines but the error messages in many cases are
inscrutable. On machines with multiple cores, (that's just about
everything these days, no?), and /tmp on tmpfs, there isn't really any
speed advantage. But we can write that off to personal preference.)
>> * the LDFLAGS aren't ld flags at all, but rather ld flags in disguise
>> as CFLAGS, (-Wl,etc). If there's any build system that needs them
>> in this form, that build system is, IMO, broken. In any case,
>> LDFLAGS like this break the kernel because ld proper doesn't accept
>> the -Wl, form.
> Well, this is your opinion. ...
>
> In any case, we inherit this setting from mainline Yocto; it is not a
> design decision or problem introduced by the ELDK.
Ok, fair enough.
Perhaps there are extra notes needed then. Because these clearly need
to be /unset/ for building some things.
>> * the kernel, at least the version and port I'm using, overwrites the
>> environment version of most of these environment variables anyway.
>> To pass one, I have to do it on the command line.
> This is true for some settings, but as you will notice it is not true
> for things like ARCH, CROSS_COMPILE, LDFLAGS and some others.
Yes. I didn't look closely. The overwrite I saw was in
arch/powerpc/Makefile so it's possible the powerpc is unique in this.
>> The env file /was/ useful as a source of hints, though. And I managed to
>> get my kernel built by passing "CC=$(CROSS_PREFIX)-gcc
>> --sysroot=/opt/eldk-5.6/powerpc-e500v2/sysroots/ppce500v2" on the make
>> command line.
> I think this is neither correct nor needed. The kernel build does not
> need sysroot for building. If yours does, it ust be pretty much
> different from mainline.
How else does an eldk-5.6 e500v2 gcc find it's libgcc.a?
I mean, I didn't need it for building powerpc-4xx, so presumably, if the
-print-libgcc-file-name problem were corrected in e500v2, I wouldn't
need it there either. But right now, as a workaround for the
-print-libgcc-file-name problem, this seems to get me building again.
--rich
More information about the eldk
mailing list