On 1/28/15 10:55 , Wolfgang Denk wrote:
Dear Richard,

In message <[email protected]> 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
_______________________________________________
eldk mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/eldk

Reply via email to