POSH has an integral run-time verification system that is executed whenever POSH_GetArchString() is called. This system runs the various endianess and serialization routines and double checks their output to make sure that the run-time system matches that of the statically configured compile time system.
When testing a new system, we compile and run
archtest, which is located in the POSH distribution in tests/arch/archtest.c. Its only dependency is on <stdio.h> (for the actual printing) -- building it doesn't require a makefile or projectfile, you can typically just compile it on the command line and go.
For example, when built under Cygwin/gcc:
$ gcc archtest.c
Pretty much any compiler will just do the right thing (for those wondering, archtest.c actually just includes posh.c directly, which is why you don't have to specify it on the command line or use a makefile).
We have attempted to compile and test POSH on a wide range of platforms. Unfortunately there are many compilers, platforms and run-times that I don't have access to, so there will be fairly significant gaps in POSH's support. In some cases, we've tested that POSH will cross-compile for a target, but we don't have the means to test that target.
The following table shows what platforms we've compiled and, in most cases, tested on. If you find that it works (or not) on a platform not documented here, please drop me a note at email@example.com with the relevant information.
- 32-bit DOS, x86, DJGPP/GO32
- 32-bit DOS, x86, Watcom C/C++ 11.0c + Causeway
- embedded, PS2 EE/MIPS R5900, ee-gcc
- Linux, x86, gcc
- Linux, Zaurus/StrongARM, gcc
- Linux, iPaq/StrongARM, gcc
- Linux, DEC Alpha, gcc
- Win32, x86, Microsoft Visual C++ 6.0
- Win32, x86, Borland C++ 5.5
- Win32, x86, Watcom C/C++ 11.0c
- Win32, x86, Intel C/C++ 6.0
- Win32, x86, Cygwin32/gcc
- Win32, x86, MingW/gcc
- Irix, SGI Indy/R5000, gcc
Generated on Tue Jan 31 18:27:35 2006 for POSH by