This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: arrgh. can't install headers in glibc-2.3.2.


Peter Barada wrote:
If I comment out the two sets of lines in the generated gcc/Makefile
that define LIBGCC and INSTALL_LIBGCC (arond lines 383 and 688) then
libgcc is *not* build and the bootstrap installs correctly...

I tried it, and it installed a bare bootstrap compiler that
glibc-2.3.2 was happy to configure with and started building glibc.
Unfortunately it croaked in sscanf.c (complaining about a va_start in
a function that has constant parameters), probably because the
configure was wrong.

Hah. That's a known problem. I've squirreled away the workaround at http://www.kegel.com/crossgcc/crosstool-0.2/glibc-2.3.2-patches/sscanf.patch

What do you use for the config of glibc? (which of --target, --host,
--build, etc).  I'd be glad to try the experiment with the config you
use....

My complete (and I do mean complete) build script is at http://www.kegel.com/crossgcc/ The command I've been running to compile is eval `cat ppc-750.dat` `cat gcc3.3-glibc2.3.2.dat` sh all.sh I think this contains a good workaround for the current glibc-2.3.2 header install problem:

    if grep -q GLIBC_2.3 ${GLIBC_DIR}/ChangeLog; then
        # glibc-2.3.x passes cross options to $(CC) when generating errlist-compat.c, which fails without a real cross-compiler.
        # Fortunately, we don't need errlist-compat.c, since we just need .h files,
        # so work around this by creating a fake errlist-compat.c and satisfying its dependencies.
        # Another workaround might be to tell configure to not use any cross options to $(CC).
        # The real fix would be to get install-headers to not generate errlist-compat.c.
        make sysdeps/gnu/errlist.c
        touch stdio-common/errlist-compat.c
    fi
    make cross-compiling=yes install_root=${PREFIX}/${TARGET} prefix="" install-headers

but who knows, maybe it's rotted since I tried it last :-)

I encourage you to try your workaround instead of mine -- and then
maybe submit a gcc patch that adds a --no-libgcc option to configure,
or something like that.  It'd be really nice to not need the headers
when building the bootstrap compiler.
- Dan

--
Dan Kegel
http://www.kegel.com
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045


------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]