[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.


More information about the eldk mailing list