From owner-freebsd-hackers Sat Apr 26 11:59:12 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id LAA03473 for hackers-outgoing; Sat, 26 Apr 1997 11:59:12 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.50]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id LAA03465 for ; Sat, 26 Apr 1997 11:59:10 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id LAA07328; Sat, 26 Apr 1997 11:54:49 -0700 From: Terry Lambert Message-Id: <199704261854.LAA07328@phaeton.artisoft.com> Subject: Re: Any compiler guru? (Was: 2 questions about C++ support in 2.2) To: hasty@rah.star-gate.com (Amancio Hasty) Date: Sat, 26 Apr 1997 11:54:48 -0700 (MST) Cc: terry@lambert.org, hackers@freebsd.org In-Reply-To: <199704260106.SAA00408@rah.star-gate.com> from "Amancio Hasty" at Apr 25, 97 06:06:14 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > Dumb question: how are we assembling the code segments for devfs ? > My understanding is that they have their own "psect" -- thats old VMS > nomenclature. Are you talking about the linker sets from which the array of devices is constructed? A linker set is a mechanism recognized by the linker for collecting like data into a single symbolic reference. Generally, it's output by C++ and utilized for ctor/dtor lists in the compiler implementation of virtual base classes. It's also used by SYSINIT() and similar code from C (accessed as inline assembly code, since C doesn't have object capabilities). This type of *collection* is different from the *agregation* which needs to be done to support a single class instance. Because the symbol data is added together in the resulting image (collected), rather than uniqified, this can work in the simple a.out images which FreeBSD uses. Regards, Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.