jwilliams at itee.uq.edu.au
Mon Mar 31 02:16:58 UTC 2003
Thanks for your reply. Comments and more questions in-line below.
Erik Andersen wrote:
> Easy enough to do. Step one is to create a new
> uClibc/libc/sysdeps/linux/microblaze directory and populate it
> per the content of the other supported arches (arm, x86, v850,
> etc), adjusted as necessary for the specifics of your Xilinx
> Microblaze architecture.
>> By doing the above, make gets part way into uClibc but fails
primarily because libgen.h is not in my gcc include path (oh, I'm
working under Cygwin BTW). I could hack the Makefile but I don't think
this is the right way to go.
> Hmm. What _is_ in the path specified on the gcc command line?
In uClibc/extra/gcc-uClibc, make fails building microblaze-uclibc-gcc:
gcc-uClibc: gcc-uClibc.h gcc-uClibc.c
gcc -Wall -O2 -Wl,-s gcc-uClibc.c -o $(TARGET_ARCH)-uclibc-gcc
gcc-uClibc.h file is created and looks OK, but there is no (non-default)
include path set. If I add -I$(TOPDIR)/include, then it will compile,
but I get the following link errors from the host gcc
/tmp/ccby8sT0.o(.text+0x33):gcc-uClibc.c: undefined reference to `_stderr'
/tmp/ccby8sT0.o(.text+0x531):gcc-uClibc.c: undefined reference to
/tmp/ccby8sT0.o(.text+0x1673):gcc-uClibc.c: undefined reference to `_stdout'
collect2: ld returned 1 exit status
It's very odd - my host gcc toolchain works fine, and will happily
compile and link, e.g., the linux menuconfig stuff. A "hello world"
application doing fprintf(stderr,"dsdfsdf") compiles, links and runs
Is there anything tricky happening in the uClibc/include/libgen.h (and
features.h) that could be breaking my host gcc?
> It is supposed to pull in the uClibc/include directory when
> compiling, but I've honestly never tried to make uClibc compile
> under Cygwin so I can't say what problems that may or may not be
Do you know of any existing efforts building cross-platform uClibc under
Cygwin? (yeah, pretty specific I know
>> Am I going about this the right way, or do I have to go "higher"
than this and use buildroot etc? I searched the archive to see if Miles
> nope. That is for building thing using uClibc, which isn't going
> to be relevant till you have a basic port of uClibc compiling....
OK got it.
> The good news is (except for the cygwin specfic issues you may
> have) porting uClibc is pretty easy,
Glad to hear that! The low-level stuff that I copied out of v850 and
into microblaze only took about half an hour to port.
> especially since you will
> not need to port the shared lib loader for a mmu-less cpu,
This confuses me, I see messages on the uClinux list saying that uClinux
does support shared libraries??? Anyway not too worried about that yet,
bigger fish to fry (well, more urgent fish anyway
More information about the uClibc