VMIPS hacking guide

CONTENTS:
        Things yet to be done
        Notes on cross-compiling glibc


Things yet to be done
---------------------

Version 1.0 blockers:

 /* Incorporate instructions for compiling glibc. There should be an
  * answer to this for at least one version of glibc, even if the answer sucks.
  *
  * Apparently they still haven't gotten their heads out of their asses yet.
  * I guess this will have to wait for after 1.0.
  */

 /* Get a good sense of how hard it is to build vmips on various platforms.
  * Create and populate a build status webpage with pointers to hints.
  *
  * The build status webpage exists.
  * This will be fleshed out as people start messing with it *after* 1.0
  * is released.
  */

 /* Decide how fast interrupts should *really* go in -o realtime mode
  * (see doc/realtime for more info)
  * Document final version of clockdev.
  * Test final version of clockdev.
  *  - Might need to make sure it still works w/ big-endian
  * DONE
  */

 /* Also add licenses to manual
  * DONE
  */

For the future enhancements that used to be here, see the "Future Directions"
section of the manual.

Notes on cross-compiling glibc
------------------------------

 using egcs-1.0.3a with sgi patches, binutils 2.10, glibc 2.1.92 does
 pretty well: it fails with assertion failures in ld.

 using gcc-2.95.2, binutils 2.10, glibc 2.1.92 generates
 this: ../sysdeps/mips/setjmp.S:43: Error: Can not represent
 BFD_RELOC_16_PCREL_S2 relocation in this object file format

 best so far was egcs-1.0.3a with sgi patches, binutils 000827, glibc
 2.1.92 it fails in linuxthreads -- it is not seeing __attribute((weak)) on
 __pthread_initialize_minimal in libc-start and soinit, and so anything
 that links against libc.so.6 fails w/ an undefined reference to that
 symbol.

 this looks pretty promising:
  http://www.suse.de/~aj/glibc-mips.html
  http://sources.redhat.com/ml/libc-hacker/2000-09/msg00116.html
 (amazing. you mean it's easier to port a library when you have something
 to run it on? :-)

