From owner-freebsd-current Mon Jun 8 03:55:34 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id DAA15659 for freebsd-current-outgoing; Mon, 8 Jun 1998 03:55:34 -0700 (PDT) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from isf.kiev.ua (sunone.isf.kiev.ua [194.44.162.131]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id DAA15598 for ; Mon, 8 Jun 1998 03:55:10 -0700 (PDT) (envelope-from kushn@mail.kar.net) Received: from olinet.isf.kiev.ua by isf.kiev.ua with ESMTP id NAA04603; (8.8.7/2.b2) Mon, 8 Jun 1998 13:46:16 +0300 (EET DST) Received: from kushnir.kiev.ua by olinet.isf.kiev.ua with SMTP id NAA20910; (8.8.last/vAk3/1.9) Mon, 8 Jun 1998 13:37:17 +0300 (EET DST) Date: Mon, 8 Jun 1998 13:45:23 +0300 (EEST) From: Vladimir Kushnir X-Sender: volodya@kushnir.kiev.ua Reply-To: Vladimir Kushnir To: freebsd-current@FreeBSD.ORG cc: Amancio Hasty Subject: Re: XFree86 & elf In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sun, 7 Jun 1998, Vladimir Kushnir wrote: > > > On Sun, 7 Jun 1998, Vladimir Kushnir wrote: > > Well, I did rebuild XFree port (3.3.2, with 3.3.2-patch1 & 3.3.3-patch2) > with your patches. Thanks a lot, they've made it: > > ~> file /usr/X11R6/bin/XF86_SVGA > /usr/X11R6/bin/XF86_SVGA: ELF 32-bit LSB executable, Intel 80386, version > 1 (FreeBSD), dynamically linked, not stripped > > Now there's some more problem: modules don't want to load: > pex5.so: Undefined symbol "EventSwapVector" > xie.so: Undefined symbol "isItTimeToYield" > > Both defined as extern, and for the life of mine I can't see what's wrong > with them (isItTimeToYield seems to be merely char, and so on). > Ok, got it. This has nothing to do with dl(open, sym and so on) (anyway, thanks, Amansio!). It seems, that (elf-converted) system doesn't work quite correctly. All these undefined symbols are defined in _static_ libs, and when linked with those libs, program for some reason doesn't suck the symbols in unless an additional "-export-dynamic" flag is given. With it, everything works perfectly all right. BTW, I'm probably just stupid, but would please some kind soul explain 2 things: i) Do we need underscore for elf dlsym? 'Cause I (just out of ignorance) commented out #define PREPEND_UNDERSCORE in xc/programs/Xserver/hw/xfree86/common/xf86Dl.c (now it's init_module instead of _init_module and so on) - and X loads modules without complaint, and ii) Why does conversion to elf give really measurable gain in floating point performance (up to 20-30% according to whetstone). It's _very_ nice, but I wish I understood all this. Regards, Vladimir To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message