Convert between versions of UNIX
Gary Oberbrunner
garyo at Think.COM
Sat Sep 23 05:08:21 AEST 1989
> I am writing a paper about the problems of converting (porting) software
> between various versions of UNIX... what are the hardest feature to port;
> what features are so subtle that bugs from them hide?
Hard things to port:
select - Berkeley vs. ATT are completely different, but not so hard to
convert. Easier to go SysV->4.2 than the other way.
signals - sigset, sigvec, signal, etc. etc. etc. I ported Berkeley tcsh to
a SysV-derived system and I never quite got all the signal stuff right.
It still does weird things every once in a while. The feature sets just
don't map onto one another.
tty drivers - a true nightmare. TCSETA vs. TIOCSETA, etc. Look at Gnu
Emacs to see how hairy this gets. The feature sets are too different.
32-bit ints->16 - malloc, read, etc. all fail for large arguments.
time stuff - all different. Just have to keep beating on it 'til it works.
Subtle things:
printf return value (yes, some code actually depends on it.)
see above for more examples - signal hackery is always very subtle
and context-dependent.
--
As always,
Gary O
-----------------------------------------------------------------------------
Remember, Truth is not beauty; Gary Oberbrunner
Information is not knowledge; Beauty is not love; {ames,harvard}!think!garyo
Knowledge is not wisdom; Love is not music; garyo at think.com
Wisdom is not truth; Music is the best. - FZ (617) 876-1111 x265
More information about the Comp.unix.wizards
mailing list