From owner-freebsd-hackers@FreeBSD.ORG Tue Jul 11 14:57:16 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D85BD16A4DD for ; Tue, 11 Jul 2006 14:57:16 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.FreeBSD.org (Postfix) with ESMTP id 502C743D49 for ; Tue, 11 Jul 2006 14:57:15 +0000 (GMT) (envelope-from des@des.no) Received: from tim.des.no (localhost [127.0.0.1]) by spam.des.no (Postfix) with ESMTP id A3E292083; Tue, 11 Jul 2006 16:57:11 +0200 (CEST) X-Spam-Tests: AWL X-Spam-Learn: disabled X-Spam-Score: 0.0/3.0 X-Spam-Checker-Version: SpamAssassin 3.1.1 (2006-03-10) on tim.des.no Received: from xps.des.no (des.no [80.203.243.180]) by tim.des.no (Postfix) with ESMTP id 2B8C72082; Tue, 11 Jul 2006 16:57:11 +0200 (CEST) Received: by xps.des.no (Postfix, from userid 1001) id 0FED633C1F; Tue, 11 Jul 2006 16:57:11 +0200 (CEST) From: des@des.no (Dag-Erling =?iso-8859-1?Q?Sm=F8rgrav?=) To: mag@intron.ac References: <200607092136.k69LaNDX055391@www.freebsd.org> <84dead720607092015q7f1701abse143f3855c2aa95a@mail.gmail.com> <1152540567.99616@origin.intron.ac> <44B2AE69.4080703@elischer.org> <44B2D2DF.2000401@sh.cvut.cz> <86sll8zl9x.fsf@xps.des.no> <86fyh8zgw8.fsf@xps.des.no> <868xn0z8w9.fsf@xps.des.no> Date: Tue, 11 Jul 2006 16:57:10 +0200 In-Reply-To: (mag@intron.ac's message of "Tue, 11 Jul 2006 22:45:52 +0800") Message-ID: <86zmfg42bd.fsf@xps.des.no> User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-hackers@freebsd.org, Matthias Andree , delphij@delphij.net, Julian Elischer Subject: Re: kern/99979: Get Ready for Kernel Module in C++ X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Jul 2006 14:57:17 -0000 mag@intron.ac writes: > Dag-Erling [iso-8859-1] Sm grav wrote: > >> mag@intron.ac writes: >>> But "-ffreestanding" doesn't work with C++. >> While the C++ standard does define hosted and freestanding >> implementations, its definition is different from (and less useful >> than) that in the C standard. For instance, the C++ standard requires >> the existence of abort(), atexit() and exit() even in a freestanding >> implementation. >> Basically, one cannot indiscriminately use the same compiler flags >> for >> C and C++, because they are very different languages - far more >> different than they seem on the surface. Modern C++ is very poorly >> suited for low-level code. > > Just as you said, C++ is more complicated than C. However, without > C++ exception and other advanced features, it hasn't brought much > complexity to C++ runtime library. Early C++ compiler even translates > C++ code into C code before real compilation. Several C++ compilers still do that, but that is irrelevant. What is relevant is the size and complexity of the runtime support library. > For example, I think C++ exception handling is really poorly suited for > low-level code. Exception handling is required by the standard, even for freestanding implementations. > Is the "object model" described in FreeBSD Architecture Handbook? > (http://www.freebsd.org/doc/en_US.ISO8859-1/books/arch-handbook/kernel-ob= jects.html) Yes. > But the "object model" is still obscure to understand no matter how many > people all over the world master C++. The fact that you don't understand it doesn't mean it's bad. > What's more, can the "object model" function really as OpenDarwin's > IOKit class model? Does it need to? > Now, OpenDarwin has owned a C++-based kernel object model. But why > cannot FreeBSD? Look, if you want MacOS X, you know where to find it. > Well, you can LOOK DOWN UPON me, but I believe you cannot throw doubt on > FreeBSD's actuality: so weak USB support (kernel crash easier than many > other OSs that we laughed at and that we are laughing at), so weak PCI > device support. Please provide references to the PRs you filed about these issues. DES --=20 Dag-Erling Sm=F8rgrav - des@des.no