This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
I am trying to create a cross-compiler hosted on linux, which can compile programs for DOS. I'm running into trouble I cannot find on dejanews, other web-sites or even in the FAQ. I've downloaded gcc-2.8.1.tar.gz, binutils-2.9.1.tar.gz and newlib-1.8.1.tar.gz. I've also downloaded the cross-gcc faq 0.8.2, one-tree-1.5.sh and crossgcc-gcc-2.8.1.patch. This was I think all that would be required to make this work, right? I'm compiling on a heavily patched RH 5.0 system, kernel 2.1.131ac10, egcs-1.1.1, binutils-2.9.1. After running one-tree-1.5.sh and configure as per the FAQ: ../src/configure --target=i386=go32 --prefix=/usr/local/cross -v make all install I get a linker-script error in ld. I'm not proficient enough in the build process to have any inkling of what might be going wrong here. I can see this is when testing gcc to link the new library, and it says 'ignore linker errors' but somehow I think this is a bit more serious.... I really would appreciate any pointers on what is going wrong here or what I'm doing wrong here. Also some info on what to use for --prefix above would be nice. I've tried different settings, and all give the same error, but I don't really know what I should say there. Finally, pointers to precompiled binaries of this linux-host, dos-target compiler-tool would be nice, since I haven't been able to find them. Below are the last few lines of the on-screen progess of 'make all install': <please excuse the troublesome line-width of 112 characters> if [ xlibgcc1.null != x ]; \ then (cd tmpcopy; /home/jurriaan/cross/build/binutils/ar x ../libgcc1.null); \ else true; \ fi (cd tmpcopy; chmod +w * > /dev/null 2>&1) (cd tmpcopy; /home/jurriaan/cross/build/binutils/ar x ../libgcc2.a) (cd tmpcopy; /home/jurriaan/cross/build/binutils/ar rc ../tmplibgcc.a *.o) rm -rf tmpcopy if [ -f /usr/local/cross/i386-go32/bin/ranlib ] ; then /home/jurriaan/cross/build/binutils/ranlib tmplibgcc.a; e lse true; fi mv tmplibgcc.a libgcc.a /home/jurriaan/cross/build/gcc/xgcc -B/home/jurriaan/cross/build/gcc/ -DCROSS_COMPILE -DIN_GCC -g -O2 -I./inc lude -c ../../src/gcc/libgcc1-test.c Testing libgcc1. Ignore linker warning messages. /home/jurriaan/cross/build/gcc/xgcc -B/home/jurriaan/cross/build/gcc/ -DCROSS_COMPILE -DIN_GCC -g -O2 -I./inc lude libgcc1-test.o -o libgcc1-test \ -nostartfiles -nostdlib `/home/jurriaan/cross/build/gcc/xgcc -B/home/jurriaan/cross/build/gcc/ --print-libgcc- file-name` /home/jurriaan/cross/build/gcc/ld:built in linker script:24: parse error make[1]: *** [libgcc1-test] Error 1 make[1]: Leaving directory `/home/jurriaan/cross/build/gcc' make: *** [all-gcc] Error 2 the linker-scripts in /home/jurriaan/cross/build/ld/ld-scripts: -------------------- i386go32.x -------------------- OUTPUT_FORMAT("coff-go32-exe") ENTRY(start) SECTIONS { .text 0x1000+SIZEOF_HEADERS : { *(.text) *(.const*) *(.ro*) etext = . ; _etext = .; . = ALIGN(0x200); } .data ALIGN(0x200) : { djgpp_first_ctor = . ; *(.ctor) djgpp_last_ctor = . ; djgpp_first_dtor = . ; *(.dtor) djgpp_last_dtor = . ; *(.data) edata = . ; _edata = .; . = ALIGN(0x200); } } } .bss SIZEOF(.data) + ADDR(.data) : { *(.bss) *(COMMON) end = . ; _end = .; . = ALIGN(0x200); } } -------------------- i386go32.xbn -------------------- OUTPUT_FORMAT("coff-go32-exe") ENTRY(start) SECTIONS { .text 0x1000+SIZEOF_HEADERS : { *(.text) *(.const*) *(.ro*) etext = . ; _etext = .; . = ALIGN(0x200); } .data . : { djgpp_first_ctor = . ; *(.ctor) djgpp_last_ctor = . ; djgpp_first_dtor = . ; *(.dtor) djgpp_last_dtor = . ; *(.data) edata = . ; _edata = .; . = ALIGN(0x200); } } } .bss SIZEOF(.data) + ADDR(.data) : { *(.bss) *(COMMON) end = . ; _end = .; . = ALIGN(0x200); } } -------------------- i386go32.xn -------------------- OUTPUT_FORMAT("coff-go32-exe") ENTRY(start) SECTIONS { .text 0x1000+SIZEOF_HEADERS : { *(.text) *(.const*) *(.ro*) etext = . ; _etext = .; . = ALIGN(0x200); } .data ALIGN(0x200) : { djgpp_first_ctor = . ; *(.ctor) djgpp_last_ctor = . ; djgpp_first_dtor = . ; *(.dtor) djgpp_last_dtor = . ; *(.data) edata = . ; _edata = .; . = ALIGN(0x200); } } } .bss SIZEOF(.data) + ADDR(.data) : { *(.bss) *(COMMON) end = . ; _end = .; . = ALIGN(0x200); } } -------------------- i386go32.xr -------------------- OUTPUT_FORMAT("coff-go32") ENTRY(start) SECTIONS { .text : { *(.text) *(.const*) *(.ro*) ; } .data : { *(.data) ; } } } .bss : { *(.bss) *(COMMON) ; } } -------------------- i386go32.xu -------------------- OUTPUT_FORMAT("coff-go32") ENTRY(start) SECTIONS { .text : { *(.text) *(.const*) *(.ro*) ; } .data : { *(.data) ; } .ctor : { *(.ctor) } .dtor : { *(.dtor) } .bss : { *(.bss) *(COMMON) ; } } -- My name is Bond.. Covalent Bond. _______________________________________________ New CrossGCC FAQ: http://www.objsw.com/CrossGCC _______________________________________________ To remove yourself from the crossgcc list, send mail to crossgcc-request@cygnus.com with the text 'unsubscribe' (without the quotes) in the body of the message.