From owner-freebsd-hackers Tue Nov 24 00:02:43 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id AAA20157 for freebsd-hackers-outgoing; Tue, 24 Nov 1998 00:02:43 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from whitewater.chem.wisc.edu (bayou.chem.wisc.edu [128.104.71.107]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id AAA20152 for ; Tue, 24 Nov 1998 00:02:41 -0800 (PST) (envelope-from jagapen@whitewater.chem.wisc.edu) Received: from billybob (billybob [10.2.71.93]) by whitewater.chem.wisc.edu (8.9.1/8.9.1) with ESMTP id CAA00869 for ; Tue, 24 Nov 1998 02:02:39 -0600 (CST) Date: Tue, 24 Nov 1998 02:02:38 -0600 (CST) From: Jonathan Gapen X-Sender: jagapen@billybob.chem.wisc.edu To: freebsd-hackers@FreeBSD.ORG Subject: ELF Global Constructors In-Reply-To: <9811190535.AA01429@tiptree.brainstorm.co.uk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I'm in the process of porting GNUstep to FreeBSD 3.0, and I've run into a lack of documentation. Consequently, I don't know where the problem lies. It's like this: GNUstep needs to have a function _gnu_process_args() called before main() to set up information about the process for use by the Foundation library. On non-Linux ELF systems, it tries this bit of code: static void *__gnustep_base_subinit_args__ __attribute__ ((section ("_libc_subinit"))) = &(_gnu_process_args); This is where the lack of documentation is getting me. I can't find out what *will* work. I don't know if this is the correct way to hook in a function call before main() and FreeBSD is broken, or egcs is broken, or if it's the wrong way entirely. I'm not even sure where to dig into the system source to find out what's going on, so I'd appreciate any help/pointers. Thanks! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message