After a weekend of hacking, I've updated Rotor to run on Panther. Diffs against TOT at sscli.net are here. To patch your Rotor install, cd into the sharedsourcecli directory and run patch -p0 < rotor_panther_diffs.txt.
This has not undergone extensive testing. In other words, it passes the basic tests (perl rrun.pl -b) on one Panther system and one Jaguar system. I haven't tried it on FreeBSD or Windows, since I don't have any of those systems around. It's not perfect, either. Here are the known issues:
perl pvtrun.pl) fail. Quite a few of the networking tests crash. I haven't investigated that at all. Others fail due to some interesting behavior in Panther's poll(3) implementation. Perhaps Rotor should continue to use its internal poll implementation (which is actually Greg Parker's fakepoll) on Panther./usr/lib/crt2.o on Darwin systems when it's present.gcc -dumpversion instead of its earlier extremely hacky method of checking GCC's version. (I wrote the original version, so I can hopefully call it extremely hacky without offending anyone.) This let me introduce a mechanism by which Rotor can use GCC-version-specific compiler warnings, which I needed to get -Wno-invalid-offsetof to be used when building with GCC 3.3.#pragma GCC set_debug_pwd line that Apple's GCC 3.3 adds at the start of every preprocessed file. Shockingly, that line really confuses the C# compiler.POLLRDNORM in the PAL because Panther's poll.h doesn't define it.(11/5 Update: Fixed a missing 'esac' statement in env.sh. Thanks, George!)