From owner-freebsd-hackers Sun Jul 6 11:22:31 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id LAA00672 for hackers-outgoing; Sun, 6 Jul 1997 11:22:31 -0700 (PDT) Received: from sax.sax.de (sax.sax.de [193.175.26.33]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id LAA00665 for ; Sun, 6 Jul 1997 11:22:24 -0700 (PDT) Received: (from uucp@localhost) by sax.sax.de (8.6.12/8.6.12-s1) with UUCP id UAA28489; Sun, 6 Jul 1997 20:22:22 +0200 Received: (from j@localhost) by uriah.heep.sax.de (8.8.5/8.8.5) id SAA24076; Sun, 6 Jul 1997 18:39:49 +0200 (MET DST) Message-ID: <19970706183948.WI18973@uriah.heep.sax.de> Date: Sun, 6 Jul 1997 18:39:48 +0200 From: j@uriah.heep.sax.de (J Wunsch) To: freebsd-hackers@FreeBSD.ORG Cc: kent@erlang.ericsson.se Subject: Re: Application os version compatibility? References: <199707061132.NAA29134@townsend.ericsson.se> X-Mailer: Mutt 0.60_p2-3,5,8-9 Mime-Version: 1.0 X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) In-Reply-To: <199707061132.NAA29134@townsend.ericsson.se>; from Kent Boortz on Jul 6, 1997 13:32:37 +0200 Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk As Kent Boortz wrote: > Could it be the case that a new system call is added from FreeBSD > X.X.1 to X.X.2 and for example a new libc.a implement fopen() with > this new call? New functions (or new syscalls) will bump libc's minor number. > Then running even statically linked applications > compiled in X.X.2 running on X.X.1 will break, right? Yes, in this sense, only upwards compatibility is guaranteed. > Do the behaviour of system calls *ever* change change in an > incompatible way? Normally not. Even when moving from 4.3BSD (32 bit off_t) to 4.4BSD (64 bit off_t), the old syscalls have been retained. (The have an `o' prepended inside the kernel, and the new syscalls have been given new slots in the syscall vector.) There was only one oversight, using the syscall fcntl(2) with the file locking commands breaks it, since there's no new fcntl call. Apart from this, FreeBSD 1.x (BSD/Net2) binaries still run on FreeBSD 2 (4.4BSD). -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)