From 367cb1bae4bf2e1225a3ee235cb36ceae6f7046a Mon Sep 17 00:00:00 2001 From: Greg Lewis Date: Fri, 17 Oct 2003 06:35:54 +0000 Subject: . Update to 1.1.16. . Allow build with any native JDK, not just 1.1.8. The default is the Diablo Caffe JDK. This part should be revisited once bsd.java.mk 2.0 hits the scene. One could also consider doing it so it could install for all the native JDKs, not just one at a time. . Fix build on 5.x. . Respect NOPORTDOCS. --- java/openjit/files/patch-rt-X86.c | 263 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 263 insertions(+) create mode 100644 java/openjit/files/patch-rt-X86.c (limited to 'java/openjit/files/patch-rt-X86.c') diff --git a/java/openjit/files/patch-rt-X86.c b/java/openjit/files/patch-rt-X86.c new file mode 100644 index 000000000000..7da35fc10daf --- /dev/null +++ b/java/openjit/files/patch-rt-X86.c @@ -0,0 +1,263 @@ +$FreeBSD$ + +--- rt-X86.c.orig Thu Oct 16 20:16:17 2003 ++++ rt-X86.c Thu Oct 16 20:22:19 2003 +@@ -127,14 +127,14 @@ + #define ASM __asm__ volatile + + #ifdef SYM_UNDERSCORE +-__asm__(" +-_OpenJIT_f2i = OpenJIT_f2i +-_OpenJIT_d2i = OpenJIT_f2i +-_OpenJIT_f2l = OpenJIT_f2l +-_OpenJIT_d2l = OpenJIT_d2l +-_OpenJIT_invokeinterface_quick = OpenJIT_invokeinterface_quick +-_throw_internal = throw_internal +-"); ++__asm__( ++"_OpenJIT_f2i = OpenJIT_f2i\n" ++"_OpenJIT_d2i = OpenJIT_f2i\n" ++"_OpenJIT_f2l = OpenJIT_f2l\n" ++"_OpenJIT_d2l = OpenJIT_d2l\n" ++"_OpenJIT_invokeinterface_quick = OpenJIT_invokeinterface_quick\n" ++"_throw_internal = throw_internal\n" ++); + #define ASM_TEXT_LABEL(X) __asm__(".text\n_" #X ":\n"); + #else + #define ASM_TEXT_LABEL(X) __asm__(".text\n" #X ":\n"); +@@ -2051,107 +2051,107 @@ + extern int OpenJIT_d2i(); /* One arg is passed via floating ST(0) */ + extern int64_t OpenJIT_f2l(float f); + extern int64_t OpenJIT_d2l(double d); +-__asm__(" +-OpenJIT_d2i = OpenJIT_f2i +-.text +- .align 4 +- .type OpenJIT_f2i,@function +-OpenJIT_f2i: +- pushl %ebp +- movl %esp,%ebp +- subl $8,%esp +- ftst +- fnstcw -4(%ebp) +- movl -4(%ebp),%eax +- movb $0xc,%ah +- movw %ax,-2(%ebp) +- fldcw -2(%ebp) +- fistpl -8(%ebp) +- fldcw -4(%ebp) +- movl -8(%ebp),%eax +- cmp $0x80000000,%eax +- je IntOverFlow +- leave +- ret +- +-IntOverFlow: +- fnstsw +- sahf +- jp IntNaN +- movl $0x80000000,%eax +- adcl $-1,%eax +- leave +- ret +-IntNaN: +- xorl %eax,%eax +- leave +- ret +- +-.text +- .align 4 +- .type OpenJIT_f2l,@function +-OpenJIT_f2l: +- pushl %ebp +- movl %esp,%ebp +- subl $12,%esp +- flds 8(%ebp) +- ftst +- fnstcw -4(%ebp) +- movl -4(%ebp),%eax +- movb $0xc,%ah +- movw %ax,-2(%ebp) +- fldcw -2(%ebp) +- fistpll -12(%ebp) +- fldcw -4(%ebp) +- movl -12(%ebp),%eax +- movl $0x80000000,%ecx +- movl -8(%ebp),%edx +- xorl %edx,%ecx +- orl %eax,%ecx +- je LongOverFlow +- leave +- ret +- +- .align 4 +- .type OpenJIT_d2l,@function +-OpenJIT_d2l: +- pushl %ebp +- movl %esp,%ebp +- subl $12,%esp +- fldl 8(%ebp) +- ftst +- fnstcw -4(%ebp) +- movl -4(%ebp),%eax +- movb $0xc,%ah +- movw %ax,-2(%ebp) +- fldcw -2(%ebp) +- fistpll -12(%ebp) +- fldcw -4(%ebp) +- movl -12(%ebp),%eax +- movl $0x80000000,%ecx +- movl -8(%ebp),%edx +- xorl %edx,%ecx +- orl %eax,%ecx +- je LongOverFlow +- leave +- ret +- +-LongOverFlow: +- fnstsw +- sahf +- jp LongNaN +- movl $0,%eax +- adcl $-1,%eax +- adcl $-1,%edx +- leave +- ret +- +-LongNaN: +- xorl %eax,%eax +- xorl %edx,%edx +- leave +- ret +-"); ++__asm__( ++"OpenJIT_d2i = OpenJIT_f2i\n" ++".text\n" ++" .align 4\n" ++" .type OpenJIT_f2i,@function\n" ++"OpenJIT_f2i:\n" ++" pushl %ebp\n" ++" movl %esp,%ebp\n" ++" subl $8,%esp\n" ++" ftst\n" ++" fnstcw -4(%ebp)\n" ++" movl -4(%ebp),%eax\n" ++" movb $0xc,%ah\n" ++" movw %ax,-2(%ebp)\n" ++" fldcw -2(%ebp)\n" ++" fistpl -8(%ebp)\n" ++" fldcw -4(%ebp)\n" ++" movl -8(%ebp),%eax\n" ++" cmp $0x80000000,%eax\n" ++" je IntOverFlow\n" ++" leave\n" ++" ret\n" ++"\n" ++"IntOverFlow:\n" ++" fnstsw\n" ++" sahf\n" ++" jp IntNaN\n" ++" movl $0x80000000,%eax\n" ++" adcl $-1,%eax\n" ++" leave\n" ++" ret\n" ++"IntNaN:\n" ++" xorl %eax,%eax\n" ++" leave\n" ++" ret\n" ++"\n" ++".text\n" ++" .align 4\n" ++" .type OpenJIT_f2l,@function\n" ++"OpenJIT_f2l:\n" ++" pushl %ebp\n" ++" movl %esp,%ebp\n" ++" subl $12,%esp\n" ++" flds 8(%ebp)\n" ++" ftst\n" ++" fnstcw -4(%ebp)\n" ++" movl -4(%ebp),%eax\n" ++" movb $0xc,%ah\n" ++" movw %ax,-2(%ebp)\n" ++" fldcw -2(%ebp)\n" ++" fistpll -12(%ebp)\n" ++" fldcw -4(%ebp)\n" ++" movl -12(%ebp),%eax\n" ++" movl $0x80000000,%ecx\n" ++" movl -8(%ebp),%edx\n" ++" xorl %edx,%ecx\n" ++" orl %eax,%ecx\n" ++" je LongOverFlow\n" ++" leave\n" ++" ret\n" ++"\n" ++" .align 4\n" ++" .type OpenJIT_d2l,@function\n" ++"OpenJIT_d2l:\n" ++" pushl %ebp\n" ++" movl %esp,%ebp\n" ++" subl $12,%esp\n" ++" fldl 8(%ebp)\n" ++" ftst\n" ++" fnstcw -4(%ebp)\n" ++" movl -4(%ebp),%eax\n" ++" movb $0xc,%ah\n" ++" movw %ax,-2(%ebp)\n" ++" fldcw -2(%ebp)\n" ++" fistpll -12(%ebp)\n" ++" fldcw -4(%ebp)\n" ++" movl -12(%ebp),%eax\n" ++" movl $0x80000000,%ecx\n" ++" movl -8(%ebp),%edx\n" ++" xorl %edx,%ecx\n" ++" orl %eax,%ecx\n" ++" je LongOverFlow\n" ++" leave\n" ++" ret\n" ++"\n" ++"LongOverFlow:\n" ++" fnstsw\n" ++" sahf\n" ++" jp LongNaN\n" ++" movl $0,%eax\n" ++" adcl $-1,%eax\n" ++" adcl $-1,%edx\n" ++" leave\n" ++" ret\n" ++"\n" ++"LongNaN:\n" ++" xorl %eax,%eax\n" ++" xorl %edx,%edx\n" ++" leave\n" ++" ret\n" ++); + + static int64_t + OpenJIT_lshr(int64_t ll, unsigned b) +@@ -2383,16 +2383,16 @@ + } + + extern void throw_internal(); +-__asm__(" +-.text +- .align 4 +- .type throw_internal,@function +-throw_internal: +- pushl %eax +- jmp *%edx +-.Lfe_throw_internal: +- .size throw_internal,.Lfe_throw_internal-throw_internal +-"); ++__asm__( ++".text\n" ++" .align 4\n" ++" .type throw_internal,@function\n" ++"throw_internal:\n" ++" pushl %eax\n" ++" jmp *%edx\n" ++".Lfe_throw_internal:\n" ++" .size throw_internal,.Lfe_throw_internal-throw_internal\n" ++); + + #if defined(__linux__) + static int signal_nest_count = -1; -- cgit v1.2.3