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]

progress but not there: crosstool-0.32, OS X 10.4 ->i686, gcc-4.0-20050305-glibc-2.3.4


I've been trying to get a toolchain running using crosstool on OS X, 10.4 (Tiger) for a few days now. I've hit most of the problems mentioned in the OS X threads, and got through them all eventually. Now I have a new, improved problem :)

To recap where I've been so we know where we are heading:

Before attempting anything, installed the tools mentioned in the crosstool howto mac os x section (used fink and darwinports, made sure they were found first in path).

Tried a build (gcc4, glib 2.3.4 I think), got the hang checking for version number of the assembler. Dug through what was happening myself and found that apple's shipped as was waiting on input. Control-D got past that and eventually errored out with the build failing saying as and ld were too old. Dug around, found the apple as patch discussed in this mailing list, and moved it forward to 2.3.4's patch dir. Now I could make it fail automatically without typing Control-D :) The patch makes the check work, but apple's shipped as is 1.38, far too old for the checked value.

I thought maybe I was being too aggressive, so went back to the last message I could find that referenced a successful build. Was gcc 3.3.3 and glib ?? (old). I started that up and went for a long, long time (guess the as and ld were within the allowed values that far back), finally failed the next morning with an install error, at which point I eventually found that discussed in an old message (the - D flag problem). Not sure whether configures search for a decent install should have just used it's fallback shell script or not, but I punted and just installed the gnu install.

While digging around for that info, I saw the post yesterday ( http://sources.redhat.com/ml/crossgcc/2005-05/msg00029.html ) and decided to try the newer versions again. I applied the glib patches mentioned in that message (noted that all they do is disable the checking though -- warning flags go off in my mind), couldn't find the gcc patch.

Started a i686, gcc-4.0-20050305-glibc-2.3.4 build. Ran a long time, but finally failed with this error:
../sysdeps/i386/i686/memcmp.S: Assembler messages:
../sysdeps/i386/i686/memcmp.S:390: Error: can't resolve `.rodata' {.rodata section} - `memcmp' {.text section}



The full command was:
i686-unknown-linux-gnu-gcc ../sysdeps/i386/i686/memcmp.S -c -I../ include -I. -I/Users/rarnold/devel/crosstool-0.32/build/i686-unknown- linux-gnu/gcc-4.0-20050305-glibc-2.3.4/build-glibc/string -I.. -I../ libio -I/Users/rarnold/devel/crosstool-0.32/build/i686-unknown-linux- gnu/gcc-4.0-20050305-glibc-2.3.4/build-glibc -I../sysdeps/i386/elf - I../linuxthreads/sysdeps/unix/sysv/linux/i386 -I../linuxthreads/ sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../ sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/ sysdeps/unix -I../linuxthreads/sysdeps/i386/i686 -I../linuxthreads/ sysdeps/i386 -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/ linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/ mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../sysdeps/ unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i386/ i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../ sysdeps/generic -nostdinc -isystem /opt/crosstool/i686-unknown-linux- gnu/gcc-4.0-20050305-glibc-2.3.4/lib/gcc/i686-unknown-linux-gnu/4.0.0/ include -isystem /opt/crosstool/i686-unknown-linux-gnu/ gcc-4.0-20050305-glibc-2.3.4/i686-unknown-linux-gnu/include - D_LIBC_REENTRANT -include ../include/libc-symbols.h - DASSEMBLER -DGAS_SYNTAX -Wa,--noexecstack -o /Users/rarnold/devel/ crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0-20050305- glibc-2.3.4/build-glibc/string/memcmp.o -MD -MP -MF /Users/rarnold/ devel/crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0-20050305- glibc-2.3.4/build-glibc/string/memcmp.o.dt -MT /Users/rarnold/devel/ crosstool-0.32/build/i686-unknown-linux-gnu/gcc-4.0-20050305- glibc-2.3.4/build-glibc/string/memcmp.o
../sysdeps/i386/i686/memcmp.S: Assembler messages:
../sysdeps/i386/i686/memcmp.S:390: Error: can't resolve `.rodata' {.rodata section} - `memcmp' {.text section}
make[2]: *** [/Users/rarnold/devel/crosstool-0.32/build/i686-unknown- linux-gnu/gcc-4.0-20050305-glibc-2.3.4/build-glibc/string/memcmp.o] Error 1
make[1]: *** [string/subdir_lib] Error 2
make: *** [lib] Error 2



At this point, it's building with the generated compiler and assembler, right? So I'm puzzled at why this error would pop up. I google'd for a reference to it, but only found a couple of 1 year old references to this error, and they were not for the same versions of gcc and glib so wasn't sure of their relevance.
http://www.rocklinux.net/lurker/message/20040521.142508.80214165.html


So... any ideas? I'll probably go back and try older versions, but wanted to document things thus far just as a datapoint for others trying the same thing, and of course will hope someone out there has an idea for resolution.

Thanks,
Rob

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