Revive SPARC Solaris support:
authorTaylor R. Campbell <net/mumble/campbell>
Tue, 4 Sep 2007 03:35:20 +0000 (03:35 +0000)
committerTaylor R. Campbell <net/mumble/campbell>
Tue, 4 Sep 2007 03:35:20 +0000 (03:35 +0000)
commit2b529d22cfeddb547b91c8fcbccb1dd4e1b7e36b
tree1639d3a51a4f93e18adf2b12f2d870256afbe251
parent293009710de3e81f6fdb483770a63bc67ef80dbb
Revive SPARC Solaris support:

- Do canonical host checking earlier in `microcode/configure.ac', so
  that OS-dependent customization can insert options to `LDFLAGS' for
  the configuration tests.  Add `-lsocket -lnsl' to `LDFLAGS' in
  Solaris; this is necessary to get at sockets, `gethostbyname', &c.

- Introduce a temporary variable `GNU_LD' in `microcode/configure.ac',
  set among the OS-dependent customization, which determines whether or
  not the GNU-specific `-export-dynamic' option should be passed to the
  C linker.  Solaris's `ld' will see that option as `-e' with an
  argument of `xport-dynamic', and fail; it is safe to omit the option
  altogether, however, because the default (`-z record') is the
  behaviour we want.

- Use `-f' and `-d' instead of `-e' in `test' in shell scripts.  `test'
  in Solaris's `sh' does not recognize `-e'.

- Use a horrid, horrid, hack to imitate the non-standard `-ef' in
  `test'.  If there is a better (preferably standard, but widely
  supported is good enough) way to do this than grovelling through the
  output of `ls -l', please tell me!

- Fix the emulation of <stdbool.h> in "confshared.h".  Solaris needs
  this because if `-std=c99' is not passed to GCC, there is no
  <stdbool.h>, but if `-std=c99' is passed to GCC, <ucontext.h>
  elsewhere makes GCC choke.

- Use "config.h" in `unstackify.c', not <stdbool.h>.

- Use the `__sparc' cpp macro throughout the microcode to test for the
  SPARC, not `sparc'.

- Update "uxtrap.h" to include support for SPARC Solaris.
v7/src/compiler/configure
v7/src/etc/Setup.sh
v7/src/etc/functions.sh
v7/src/etc/install-bin-symlinks.sh
v7/src/microcode/configure.ac
v7/src/microcode/confshared.h
v7/src/microcode/unstackify.c
v7/src/microcode/ux.h
v7/src/microcode/uxtop.c
v7/src/microcode/uxtrap.h