From owner-freebsd-arch Mon Nov 1 13:38:56 1999 Delivered-To: freebsd-arch@freebsd.org Received: from ns1.yes.no (ns1.yes.no [195.204.136.10]) by hub.freebsd.org (Postfix) with ESMTP id B3B2014E2A for ; Mon, 1 Nov 1999 13:38:48 -0800 (PST) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [195.204.143.218]) by ns1.yes.no (8.9.3/8.9.3) with ESMTP id WAA08432 for ; Mon, 1 Nov 1999 22:38:46 +0100 (CET) Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id WAA75732 for freebsd-arch@freebsd.org; Mon, 1 Nov 1999 22:38:46 +0100 (MET) Received: from mail.tvol.com (mail.wgate.com [38.219.83.4]) by hub.freebsd.org (Postfix) with ESMTP id 2FE7314E2A for ; Mon, 1 Nov 1999 13:38:17 -0800 (PST) (envelope-from rjesup@wgate.com) Received: from jesup.eng.tvol.net (jesup.eng.tvol.net [10.32.2.26]) by mail.tvol.com (8.8.8/8.8.3) with ESMTP id QAA09617 for ; Mon, 1 Nov 1999 16:33:35 -0500 (EST) Reply-To: Randell Jesup To: freebsd-arch@freebsd.org Subject: Compatibility libraries References: <199910312349.CAA02684@tejblum.pp.ru> <99Nov2.073444est.40351@border.alcanet.com.au> From: Randell Jesup Date: 01 Nov 1999 17:34:44 +0000 In-Reply-To: Peter Jeremy's message of "Tue, 2 Nov 1999 07:40:02 +1100" Message-ID: X-Mailer: Gnus v5.6.43/Emacs 20.4 Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Peter Jeremy writes: >> While non-ANSI standard, this particular function has been >>virtually standard in PC compilers for a Long Time. > >I don't have it in front of me, but I'm fairly certain that my >Amiga Lattice C manual lists it as a Lattice extension. Given >that (AFAIK) M$ C started as Lattice C, I wouldn't be surprised >if it started with Lattice. Matthew Dillon or bde (as long time >compiler writers) might be able to offer further insight into >its ancestry. Yes, I think it did start in Lattice (later SAS, then Lattice again). I should ask John Toebes, one of the former SAS/Lattice compiler people. I think a number of other popular DOS/Win/OS2 compilers added it also. It might have originated there, though I think I remember a reference to it in Dr. Dobbs in an article by Tom Holub back around '84-85ish (on a pseudo-Cshell implementation?) I seem (vaguely) to remember him saying that stpcpy made a measurable difference in a pass of the compiler (preprocessor I suspect). Also this was admittedly on a 7MHz 68000 platform. >I don't recall ever seeing it in a Unix library (ignoring Linux for >the time being) - which is probably more relevant here. True. >Overall, I would not like to see stpcpy() appear in libc, though I >have nothing against it being included in some compatibility library. I bow to the assembled opinions and agree. I'd thought it was a bit more ubiquitous than it is, given it's in Linux now. So, what additional libraries should we have, and what should be in them? I don't like the "add the code to each port" solution a lot, since unless the code is standardized, there's a considerable chance for Stupid Coding Mistakes, not to mention potentially lots of time for the porter to write (or track down) the source for various portability functions. Sounds like a good case for libraries. Alternatively, we could have standardized source-code libraries for use by porters. The downside is that bugfixes and implementation updates to match the underlying OS become a PAIN to integrate; and to a lesser extent runtime-bloat. -- Randell Jesup, Worldgate Communications, ex-Scala, ex-Amiga OS team ('88-94) rjesup@wgate.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message