X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Message-ID:Received:Date:From:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=Me3dWgSQQEUiSUephx3eZh/mPV1KwaNVZRjCJ7Ms0iIDvlaS5xCMZp8xvNI7poOwzpaxByX+a9lanCsxivgriOANYgoSU+hkpJQGfaFzPihMTRVvLjWUAFlOtdhKpoJGnt7KotUO3wxjUt4EPEZ7ICY1a/mfz5JjsPA8Z6BktGg= ; Message-ID: <20050629150059.17801.qmail@web33309.mail.mud.yahoo.com> Date: Wed, 29 Jun 2005 08:00:59 -0700 (PDT) From: kishore taid Subject: linking problems while building dos->linux cross-compiler To: dj AT delorie DOT com, djgpp AT delorie DOT com MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-421564935-1120057259=:15669" Content-Transfer-Encoding: 8bit Reply-To: djgpp AT delorie DOT com --0-421564935-1120057259=:15669 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit hi i have been trying to build a dos->linux cross-compiler for the past few days. As a reference, i am following the article: Linux x86 Host Cross Compiler HOWTO for the DJGPP Target Revised by Charles Wilkins Nov 14 2002 ......which is present in the how to repository of the djgpp homepage. the files i am using are the following: binutils-2.16.tar.gz, djcrx203.zip, gcc400s2.zip, gcc-4.00.tar.gz i have been able to build the binutils, however, the gcc-build gets stuck at an 'undefined reference' to a function called "_fixpath()". I came to know that _fixpath() is a library function of libc for djgpp. So I tried putting the library libc.a into some directiry and making a small change in the corresponding makefile (packages/cross/gnu/gcc-4.00-obj/gcc/Makefile) - the one which generates this error - so that it explicitly reads the libc.a in the gcc command. This can be seen below as the last argument of the gcc command. However, inspite of this i am getting the "undefined reference" error. make[1]: Entering directory `/home/sriram/kishore/packages/cross/gnu/gcc-4.00-ob j/gcc' gcc -g -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototy pes -Wmissing-prototypes -DHAVE_CONFIG_H -o cc1.exe \ c-parse.o c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c -decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-sem antics.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-objc-co mmon.o c-dump.o c-pch.o c-gimplify.o tree-mudflap.o c-pretty-print.o main.o li bbackend.a ../libcpp/libcpp.a ../libcpp/libcpp.a ../libiberty/libiberty.a ../l ibiberty/libc.a prefix.o(.text+0x2f0): In function `update_path': ../../gcc-4.00/gcc/prefix.c:346: undefined reference to `_fixpath' collect2: ld returned 1 exit status make[1]: *** [cc1.exe] Error 1 make[1]: Leaving directory `/home/sriram/kishore/packages/cross/gnu/gcc-4.00-obj /gcc' make: *** [all-gcc] Error 2 Anyways, the makefile should be able to read the library even if i dont make the above modification in the makefile - as i have followed the above article step by step and the libc.a file is already in the directory where it is supposed to be, according to the tutorial. Somebody please help fast as this is urgent. Thanx for ur time kishore --------------------------------- Yahoo! Sports Rekindle the Rivalries. Sign up for Fantasy Football --0-421564935-1120057259=:15669 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: 8bit
hi
i have been trying to build a dos->linux cross-compiler for the past few days. As a reference, i am following the article:
  • Linux x86 Host Cross Compiler HOWTO for the DJGPP Target Revised by Charles Wilkins Nov 14 2002
  • ......which is present in the how to repository of the djgpp homepage.

    the files i am using are the following:

    binutils-2.16.tar.gz, djcrx203.zip, gcc400s2.zip, gcc-4.00.tar.gz

     i have been able to build the binutils, however, the gcc-build gets stuck at an 'undefined reference' to a function called "_fixpath()".

    I came to know that _fixpath() is a library function of libc for djgpp. So I tried putting the library libc.a into some directiry and making a small change in the corresponding makefile (packages/cross/gnu/gcc-4.00-obj/gcc/Makefile) - the one which generates this error - so that it explicitly reads the libc.a in the gcc command. This can be seen below as the last argument of the gcc command. However, inspite of this i am getting the "undefined reference" error.
     
     
    make[1]: Entering directory `/home/sriram/kishore/packages/cross/gnu/gcc-4.00-ob
    j/gcc'
    gcc   -g -O2 -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings -Wstrict-prototy
    pes -Wmissing-prototypes     -DHAVE_CONFIG_H  -o cc1.exe \
            c-parse.o c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c
    -decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-sem
    antics.o c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o c-objc-co
    mmon.o c-dump.o c-pch.o  c-gimplify.o tree-mudflap.o c-pretty-print.o main.o  li
    bbackend.a ../libcpp/libcpp.a ../libcpp/libcpp.a   ../libiberty/libiberty.a ../l
    ibiberty/libc.a
    prefix.o(.text+0x2f0): In function `update_path':
    ../../gcc-4.00/gcc/prefix.c:346: undefined reference to `_fixpath'
    collect2: ld returned 1 exit status
    make[1]: *** [cc1.exe] Error 1
    make[1]: Leaving directory `/home/sriram/kishore/packages/cross/gnu/gcc-4.00-obj
    /gcc'
    make: *** [all-gcc] Error 2
     
    Anyways, the makefile should be able to read the library even if i dont make the above modification in the makefile - as i have followed the above article step by step and the libc.a file is already in the directory where it is supposed to be, according to the tutorial.
     
    Somebody please help fast as this is urgent.
     
    Thanx for ur time
    kishore


    Yahoo! Sports
    Rekindle the Rivalries. Sign up for Fantasy Football --0-421564935-1120057259=:15669--