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: How to force ld to find crti.o


Daniel Kegel wrote:
For what it's worth, I found that the new --with-sysroot option helped
when trying to live with the /lib - /usr/lib split. This is in gcc-3.3.3 and up.
See how I used it in crosstool-0.26.


However, on the off chance your problem is a simple one, you might consider
making a minimal shell script to reproduce the problem, then running
it under strace -f -o foo.log
and grep for crti.o.
That will tell you where it's really looking.
You might find that it's gcc.c that is supposed to locate crti.o, and
is failing to pass an absolute path to ld.  (I can't remember if
crti.o is one of those files gcc.c has to find.)  If so, you
should use the --print-file-name=crti.o option of gcc to test
its path search, and concentrate on that.
- Dan


well i'm using a modified version of crosstool, i've just adjusted it for --with-sysroot thing.
so far i i used --with-sysroot to build binutils-2.14, install glibc-2.3.2 headers, bootstrap gcc-3.4-20040121, and while building glibc-2.3.2 this is what i get:


<stdin>: Assembler messages:
<stdin>:2: Warning: rest of line ignored; first ignored character is `1'
<stdin>:2: Warning: rest of line ignored; first ignored character is `1'
<stdin>:2: Warning: rest of line ignored; first ignored character is `1'
<stdin>:2: Error: unrecognized symbol type ""
<stdin>:2: Warning: rest of line ignored; first ignored character is `1'
<stdin>:2: Warning: rest of line ignored; first ignored character is `1'
<stdin>:2: Error: Illegal operands: PC-relative operand can't be a constant
make[4]: *** [/home/roman/crosstool/build/glibc-build/io/rtld-open.os] Error 1
make[4]: Leaving directory `/home/roman/crosstool/build/glibc-2.3.2/io'
make[3]: *** [/home/roman/crosstool/build/glibc-build/io/rtld-xstat64.os] Error 2
make[3]: Leaving directory `/home/roman/crosstool/build/glibc-2.3.2/elf'
make[2]: *** [/home/roman/crosstool/build/glibc-build/elf/rtld-libc.a] Error 2
make[2]: Leaving directory `/home/roman/crosstool/build/glibc-2.3.2/elf'
make[1]: *** [elf/subdir_lib] Error 2
make[1]: Leaving directory `/home/roman/crosstool/build/glibc-2.3.2'
make: *** [all] Error 2


have you seen this sort of thing before? is it the gcc-3.4 compiler playing up?

Thanks


------ 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]