From owner-freebsd-questions@FreeBSD.ORG Sat Jan 17 03:22:02 2009 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7DF4A1065673 for ; Sat, 17 Jan 2009 03:22:02 +0000 (UTC) (envelope-from rock_on_the_web@comcen.com.au) Received: from angel.comcen.com.au (angel.comcen.com.au [203.23.236.69]) by mx1.freebsd.org (Postfix) with ESMTP id 4696F8FC08 for ; Sat, 17 Jan 2009 03:22:02 +0000 (UTC) (envelope-from rock_on_the_web@comcen.com.au) Received: from [192.168.0.199] (unknown [202.172.126.254]) by angel.comcen.com.au (Postfix) with ESMTP id 325D45C2EB7F for ; Sat, 17 Jan 2009 14:23:22 +1100 (EST) From: Da Rock To: freebsd-questions@freebsd.org In-Reply-To: <87primralp.fsf@kobe.laptop> References: <1232150619.1190.36.camel@laptop2.herveybayaustralia.com.au> <87primralp.fsf@kobe.laptop> Content-Type: text/plain Date: Sat, 17 Jan 2009 13:21:44 +1000 Message-Id: <1232162504.1190.40.camel@laptop2.herveybayaustralia.com.au> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Subject: Re: Freebsd standards compliance X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Jan 2009 03:22:02 -0000 On Sat, 2009-01-17 at 03:21 +0200, Giorgos Keramidas wrote: > On Sat, 17 Jan 2009 10:03:39 +1000, Da Rock wrote: > > According to wikipedia Freebsd is only mostly compliant with POSIX, yet > > BSD/OS is fully- why would this be? > > There are parts of FreeBSD that are deliberately "BSD compliant" instead > of POSIX compliant, because this is how they traditionally worked. I am > not a standards' expert, so if you want more details it may be better to > ask by email to the freebsd-standards mailing list. > > > From what I can tell ANSI C is the standard, and POSIX is an > > implementation(?) of that standard (threads, i/o, etc)? Which version of > > these standards is Freebsd at- c89, c90, c99, POSIX 1(b,c, etc)? > > ISO/IEC 9899:1999 is the standard for the C programming language (ANSI C > is a bit ambiguous, because it may refer to an older standard depending > on the context). > > This standard has a non-zero intersection with more than one standard of > the IEEE 1003 series (what is commonly referred to as "POSIX"), but they > are not the same, and it is nto correct to say that one of them is just > an `implementation' of the other. > > There is a bit of information about 'c89', 'c90' and 'ANSI C' in the > Texinfo manual of GCC. It may help clarify some of the terms: > > % info '(gcc)' > > and look at the ``Language Standards Supported by GCC'' section. > > Most of FreeBSD compiles in 'c90' mode. There are a few parts of the > kernel and userland source that use GCC extensions. There are also > parts that use C99 features, i.e. (a) declaration of local variables in > the block they are used, instead of the start of a function, (b) the C99 > syntax for partially initializing structures, and so on. > > Then there are ISO/IEC 9899:1999 features that are not available in the > combination of GCC version and our system libraries. > > So you can't really say that the entire FreeBSD source is `at c90' or > `at c99'. > > The `FreeBSD C99 and POSIX Comformance Project' is an effort to work on > these issues. More information is available online at: > > http://www.freebsd.org/projects/c99/index.html I'm glad I asked that and got the right answer otherwise I would have started on the wrong preposition. That clarifies it for me nicely- I'll have a look into those areas then... knowing my nature I'll probably come back with a few more questions :P Thanks