striking out at the eabi

Martin Guy martinwguy@gmail.com
Mon May 8 14:27:00 GMT 2006


> The patch attached to "More crosstool-0.42-glibc-2.4-gcc-4.1.0-nptl"
> works around this by adding a "GLIBC_FAKE_CROSS_ARGS" parameter to
> crosstool.

True, but that version includes many unrelated extra twiddles here and
there, such as the mysterious

-    ${GCC_CORE_DIR}/configure $CANADIAN_BUILD --target=$TARGET
--host=$GCC_HOST --prefix=$CORE_PREFIX \
+    eval ${GCC_CORE_DIR}/configure $CANADIAN_BUILD --target=$TARGET
--host=$GCC_HOST --prefix=$CORE_PREFIX \

and creates extra files.  Working on distilling its essence into an
independent patch, it turns out there are (now) four different
variables to include extra cc flags in the glibc build:
1) TARGET_CFLAGS applied everywhere we build binaries for the target
2) GLIBC_FAKE_CROSS_ARGS passed in making the headers
3) GLIBC_EXTRA_CC_ARGS passed to glibc configure as "CC=... $G_E_C_A"
4) EXTRA_TARGET_CFLAGS passed to glibc configure as "CFLAGS=... $E_T_C"

I understand the reason for TARGET* and EXTRA_TARGET*: it is so you
can set one in <cpu>.dat and the other in <gcc-glibc>.dat

A couple of questions:

Is there actually any operational difference between 3) and 4) or can
the unused G_E_C_A be dropped?

If we simply apply TARGET_CFLAGS and EXTRA_TARGET_CFLAGS also in the
glibc header building phase, doesn't that achieve the effect of
*FAKE*?

     M

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list