Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Jun 1998 23:09:16 +0300 (EEST)
From:      Vladimir Kushnir <kushn@mail.kar.net>
To:        Ollivier Robert <roberto@keltia.freenix.fr>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: XFree86 & elf
Message-ID:  <Pine.BSF.3.96.980607225411.14644B-100000@kushnir.kiev.ua>
In-Reply-To: <Pine.BSF.3.96.980607183652.264B-100000@kushnir.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help


On Sun, 7 Jun 1998, Vladimir Kushnir wrote:

> 
> 
> On Sun, 7 Jun 1998, Ollivier Robert wrote:
> 
> > According to Vladimir Kushnir:
> > > Awhile ago somebody (sorry, I haven't saved that message) wrote about
> > > patches for XFree to build it using elf. Would you please point to those
> > > patches (or mail them to me if they're not available from 'Net)?
> > 
> > It was me. I've made these patches (to 3.3.1 but that should not be a
> > problem) and sent 'em to people who requested them but haven't got any
> > feedback yet.
> > 
> > See my next message.
> > -- 
> > Ollivier ROBERT -=- FreeBSD: The Power to Serve! -=- roberto@keltia.freenix.fr
> > FreeBSD keltia.freenix.fr 3.0-CURRENT #60: Fri May 15 21:04:22 CEST 1998
> 
> Thanks, I'll try 'em and write back as soon as finish.
> 
> Regards,
> Vladimir
> 
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

There were some differences, though:
i) For native gcc, there was no need in "-fno-inline" and I'm a bit
conservative WRT optimization (-O2 looks fine)
ii) One more tiny patch was needed:

*** xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3accel.c.orig	Sun Jun  7 22:45:11 1998
--- xc/programs/Xserver/hw/xfree86/vga256/drivers/s3_svga/s3accel.c	Sun Jun  7 21:46:31 1998
***************
*** 798,804 ****
  
  #if defined(__GNUC__) && defined(__i386__)
  static __inline__ CARD32 reverse_bitorder(CARD32 data) {
! #if defined(Lynx) || (defined(SYSV) || defined(SVR4)) && !defined(ACK_ASSEMBLER) || (defined(linux) || defined (__OS2ELF__)) && defined(__ELF__)
  	__asm__(
  		"movl $0,%%ecx\n"
  		"movb %%al,%%cl\n"
--- 798,804 ----
  
  #if defined(__GNUC__) && defined(__i386__)
  static __inline__ CARD32 reverse_bitorder(CARD32 data) {
! #if defined(__FreeBSD__) || defined(Lynx) || (defined(SYSV) || defined(SVR4)) && !defined(ACK_ASSEMBLER) || (defined(linux) || defined (__OS2ELF__)) && defined(__ELF__)
  	__asm__(
  		"movl $0,%%ecx\n"
  		"movb %%al,%%cl\n"

Sorry, I've compiled only SVGA server, but the other ones look like they
should link just as well.

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).

Anyway, thanks again,
Vladimir 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.980607225411.14644B-100000>