This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


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

[Bug bootstrap/12024] New: i386-elf build references nonexistent crt0.o, libsim.a


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12024

           Summary: i386-elf build references nonexistent crt0.o, libsim.a
           Product: gcc
           Version: 3.4
            Status: UNCONFIRMED
          Keywords: build
          Severity: normal
          Priority: P2
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dhazeghi at yahoo dot com
                CC: gcc-bugs at gcc dot gnu dot org

With current mainline (combined tree), building cross to i386-elf fails, when configuring 
libstdc++-v3. The C compiler check fails:

checking for i386-elf-gcc... (cached)  /home/dara/mainline/objdir/gcc/xgcc -B/home/dara/
mainline/objdir/gcc/ -nostdinc -B/home/dara/mainline/objdir/i386-elf/newlib/ -isystem /home/
dara/mainline/objdir/i386-elf/newlib/targ-include -isystem /home/dara/mainline/combined/
newlib/libc/include -B/usr/local/i386-elf/bin/ -B/usr/local/i386-elf/lib/ -isystem /usr/local/
i386-elf/include -isystem /usr/local/i386-elf/sys-include -L/home/dara/mainline/objdir/ld
checking for C compiler default output... configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** [configure-target-libstdc++-v3] Error 1

The part that is failing is:

configure:2352:  /home/dara/mainline/objdir/gcc/xgcc -B/home/dara/mainline/objdir/gcc/ -
nostdinc -B/home/dara/mainline/objdir/i386-elf/newlib/ -isystem /home/dara/mainline/objdir/
i386-elf/newlib/targ-include -isystem /home/dara/mainline/combined/newlib/libc/include -B/
usr/local/i386-elf/bin/ -B/usr/local/i386-elf/lib/ -isystem /usr/local/i386-elf/include -isystem /
usr/local/i386-elf/sys-include -L/home/dara/mainline/objdir/ld -O2 -g -O2 -O2 -g -O2  
conftest.c  >&5
/home/dara/mainline/objdir/gcc/collect-ld: cannot open crt0.o: No such file or directory
collect2: ld returned 1 exit status

However, this can't be worked around like PR12019, because no crt0.o and libsim.a (also needed) 
has been build. What has been build (in libgloss) is cygmon-crt0.o and libcygmon.a. Placing those 
files in the search path and renaming them (to crt0.o and libsim.a) results in:

configure:2352:  /home/dara/mainline/objdir/gcc/xgcc -B/home/dara/mainline/objdir/gcc/ -
nostdinc -B/home/dara/mainline/objdir/i386-elf/newlib/ -isystem /home/dara/mainline/objdir/
i386-elf/newlib/targ-include -isystem /home/dara/mainline/combined/newlib/libc/include -B/
usr/local/i386-elf/bin/ -B/usr/local/i386-elf/lib/ -isystem /usr/local/i386-elf/include -isystem /
usr/local/i386-elf/sys-include -L/home/dara/mainline/objdir/ld -O2 -g -O2 -O2 -g -O2  
conftest.c  >&5
/home/dara/mainline/objdir/gcc/collect-ld: warning: cannot find entry symbol _start; defaulting 
to 08048080
/home/dara/mainline/objdir/gcc/crt0.o(.text+0x1):../../../../combined/libgloss/i386/cygmon-
crt0.S:37: undefined reference to `__stack'
/home/dara/mainline/objdir/gcc/crt0.o(.text+0x16):../../../../combined/libgloss/i386/cygmon-
crt0.S:45: undefined reference to `__bss_end'
/home/dara/mainline/objdir/gcc/crt0.o(.text+0x28):../../../../combined/libgloss/i386/cygmon-
crt0.S:52: undefined reference to `__install_signal_handler'
/home/dara/mainline/objdir/gcc/crt0.o(.text+0x2e):../../../../combined/libgloss/i386/cygmon-
crt0.S:55: undefined reference to `__do_global_dtors'
/home/dara/mainline/objdir/gcc/crt0.o(.text+0x39):../../../../combined/libgloss/i386/cygmon-
crt0.S:59: undefined reference to `__do_global_ctors'
/home/dara/mainline/objdir/gcc/crt0.o(.text+0x43):../../../../combined/libgloss/i386/cygmon-
crt0.S:62: undefined reference to `__get_program_arguments'
/home/dara/mainline/objdir/i386-elf/newlib/libg.a(exit.o)(.text+0x6d): In function `exit':
 ...

It appears as if i386-elf is considered to be equivalent to cygwin by newlib, but not by gcc.


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