This is the mail archive of the java-discuss@sourceware.cygnus.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[Patch libgcj] FreeBSD-current (ELF)


I was able to build egcs-current as of May 17th.
So I went ahead to build libgcj as of May 17th, too.
Everything went well, except for jv-convert(?).
Some unknown reference to _GC_push_one was the problem in libgcjgc.so(?).
The problem lies in how FreeBSD-current (ELF) is is dealt with building
boehm-gc/mach_dep.o.

The following patch 'updates' got rid of the build problem.
Please include it in the next release.

Thanks !

Ciao, derweil,
--
Carlo

*** mach_dep.c.orig	Wed Apr  7 16:56:05 1999
--- mach_dep.c	Thu May 20 17:20:56 1999
*************** void GC_push_regs()
*** 170,176 ****
  
  #       if defined(I386) &&!defined(OS2) &&!defined(SVR4) &&!defined(MSWIN32) \
  	&& !defined(SCO) && !defined(SCO_ELF) && !(defined(LINUX) \
! 	&& defined(__ELF__)) && !defined(DOS4GW)
  	/* I386 code, generic code does not appear to work */
  	/* It does appear to work under OS2, and asms dont */
  	/* This is used for some 38g UNIX variants and for CYGWIN32 */
--- 170,176 ----
  
  #       if defined(I386) &&!defined(OS2) &&!defined(SVR4) &&!defined(MSWIN32) \
  	&& !defined(SCO) && !defined(SCO_ELF) && !(defined(LINUX) \
! 	&& defined(__ELF__)) && !defined(DOS4GW) && !defined(FREEBSD)
  	/* I386 code, generic code does not appear to work */
  	/* It does appear to work under OS2, and asms dont */
  	/* This is used for some 38g UNIX variants and for CYGWIN32 */
*************** void GC_push_regs()
*** 183,190 ****
  	  asm("pushl %ebx");  asm("call _GC_push_one"); asm("addl $4,%esp");
  #       endif
  
! #	if defined(I386) && defined(LINUX) && defined(__ELF__)
! 	/* This is modified for Linux with ELF (Note: _ELF_ only) */
  	  asm("pushl %eax");  asm("call GC_push_one"); asm("addl $4,%esp");
  	  asm("pushl %ecx");  asm("call GC_push_one"); asm("addl $4,%esp");
  	  asm("pushl %edx");  asm("call GC_push_one"); asm("addl $4,%esp");
--- 183,190 ----
  	  asm("pushl %ebx");  asm("call _GC_push_one"); asm("addl $4,%esp");
  #       endif
  
! #	if defined(I386) && (defined(LINUX) || defined(FREEBSD)) && defined(__ELF__)
! 	/* This is modified for Linux/FreeBSD with ELF (Note: _ELF_ only) */
  	  asm("pushl %eax");  asm("call GC_push_one"); asm("addl $4,%esp");
  	  asm("pushl %ecx");  asm("call GC_push_one"); asm("addl $4,%esp");
  	  asm("pushl %edx");  asm("call GC_push_one"); asm("addl $4,%esp");

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]