[28895] trunk/dports/lang/erlang/files

source_changes at macosforge.org source_changes at macosforge.org
Mon Sep 10 20:10:12 PDT 2007


Revision: 28895
          http://trac.macosforge.org/projects/macports/changeset/28895
Author:   bfulgham at macports.org
Date:     2007-09-10 20:10:12 -0700 (Mon, 10 Sep 2007)

Log Message:
-----------
Add missing patch files for Erlang port.  Whoops!

Added Paths:
-----------
    trunk/dports/lang/erlang/files/patch-erts_configure
    trunk/dports/lang/erlang/files/patch-erts_configure.in
    trunk/dports/lang/erlang/files/patch-erts_emulator_sys_unix_sys_float.c

Added: trunk/dports/lang/erlang/files/patch-erts_configure
===================================================================
--- trunk/dports/lang/erlang/files/patch-erts_configure	                        (rev 0)
+++ trunk/dports/lang/erlang/files/patch-erts_configure	2007-09-11 03:10:12 UTC (rev 28895)
@@ -0,0 +1,33 @@
+--- erts/configure.orig	2007-06-30 19:33:12.000000000 -0700
++++ erts/configure	2007-06-30 19:34:56.000000000 -0700
+@@ -18220,6 +18220,12 @@
+     __asm__ __volatile__("ldmxcsr %0" : : "m"(mxcsr));
+ }
+ 
++#if defined(__DARWIN__)
++#include <mach/mach.h>
++#include <mach/machine/thread_status.h>
++#include <pthread.h>
++#endif
++
+ #if defined(__x86_64__) || defined(__DARWIN__)
+ static inline int cpu_has_sse2(void) { return 1; }
+ #else /* !__x86_64__ */
+@@ -18505,10 +18511,17 @@
+     regs[PT_FPSCR] = 0x80|0x40|0x10;	/* VE, OE, ZE; not UE or XE */
+ #endif
+ #elif defined(__DARWIN__) && defined(__i386__)
++#if __DARWIN_UNIX03
++    mcontext_t mc = uc->uc_mcontext;
++    x86_float_state32_t *fpstate = &mc->__fs;
++    fpstate->__fpu_mxcsr = 0x1F80;
++    *(unsigned short *)&fpstate->__fpu_fsw &= ~0xFF;
++#else
+     mcontext_t mc = uc->uc_mcontext;
+     i386_float_state_t *fpstate = &mc->fs;
+     fpstate->fpu_mxcsr = 0x1F80;
+     *(unsigned short *)&fpstate->fpu_fsw &= ~0xFF;
++#endif
+ #elif defined(__DARWIN__) && defined(__ppc__)
+     mcontext_t mc = uc->uc_mcontext;
+     mc->ss.srr0 += 4;

Added: trunk/dports/lang/erlang/files/patch-erts_configure.in
===================================================================
--- trunk/dports/lang/erlang/files/patch-erts_configure.in	                        (rev 0)
+++ trunk/dports/lang/erlang/files/patch-erts_configure.in	2007-09-11 03:10:12 UTC (rev 28895)
@@ -0,0 +1,34 @@
+--- erts/configure.in.orig	2007-06-30 19:35:17.000000000 -0700
++++ erts/configure.in	2007-06-30 19:39:13.000000000 -0700
+@@ -1697,6 +1697,13 @@
+     __asm__ __volatile__("ldmxcsr %0" : : "m"(mxcsr));
+ }
+ 
++#if defined(__DARWIN__)
++#include <mach/mach.h>
++#include <mach/machine/thread_status.h>
++#include <pthread.h>
++#endif
++
++
+ #if defined(__x86_64__) || defined(__DARWIN__)
+ static inline int cpu_has_sse2(void) { return 1; }
+ #else /* !__x86_64__ */
+@@ -1982,10 +1989,17 @@
+     regs[PT_FPSCR] = 0x80|0x40|0x10;	/* VE, OE, ZE; not UE or XE */
+ #endif
+ #elif defined(__DARWIN__) && defined(__i386__)
++#if __DARWIN_UNIX03
++    mcontext_t mc = uc->uc_mcontext;
++    x86_float_state32_t *fpstate = &mc->__fs;
++    fpstate->__fpu_mxcsr = 0x1F80;
++    *(unsigned short *)&fpstate->__fpu_fsw &= ~0xFF;
++#else
+     mcontext_t mc = uc->uc_mcontext;
+     i386_float_state_t *fpstate = &mc->fs;
+     fpstate->fpu_mxcsr = 0x1F80;
+     *(unsigned short *)&fpstate->fpu_fsw &= ~0xFF;
++#endif
+ #elif defined(__DARWIN__) && defined(__ppc__)
+     mcontext_t mc = uc->uc_mcontext;
+     mc->ss.srr0 += 4;

Added: trunk/dports/lang/erlang/files/patch-erts_emulator_sys_unix_sys_float.c
===================================================================
--- trunk/dports/lang/erlang/files/patch-erts_emulator_sys_unix_sys_float.c	                        (rev 0)
+++ trunk/dports/lang/erlang/files/patch-erts_emulator_sys_unix_sys_float.c	2007-09-11 03:10:12 UTC (rev 28895)
@@ -0,0 +1,36 @@
+--- erts/emulator/sys/unix/sys_float.c.orig	2007-06-30 19:57:21.000000000 -0700
++++ erts/emulator/sys/unix/sys_float.c	2007-06-30 19:53:01.000000000 -0700
+@@ -333,7 +333,11 @@
+ #define mc_pc(mc)	((mc)->gregs[REG_EIP])
+ typedef mcontext_t *erts_mcontext_ptr_t;
+ #elif defined(__DARWIN__) && defined(__i386__)
++#if __DARWIN_UNIX03
++#define mc_pc(mc)	((mc)->__ss.__eip)
++#else
+ #define mc_pc(mc)	((mc)->ss.eip)
++#endif
+ typedef mcontext_t erts_mcontext_ptr_t;
+ #elif defined(__FreeBSD__) && defined(__x86_64__)
+ #define mc_pc(mc)	((mc)->mc_rip)
+@@ -512,12 +516,21 @@
+     regs[PT_FPSCR] = 0x80|0x40|0x10;	/* VE, OE, ZE; not UE or XE */
+ #endif
+ #elif defined(__DARWIN__) && defined(__i386__)
++#if __DARWIN_UNIX03
++    mcontext_t mc = uc->uc_mcontext;
++    if (mc->__fs.__fpu_mxcsr & 0x000D) {
++	mc->__fs.__fpu_mxcsr &= ~(0x003F|0x0680);
++	skip_sse2_insn(mc);
++    }
++    *(unsigned short *)&mc->__fs.__fpu_fsw &= ~0xFF;
++#else
+     mcontext_t mc = uc->uc_mcontext;
+     if (mc->fs.fpu_mxcsr & 0x000D) {
+ 	mc->fs.fpu_mxcsr &= ~(0x003F|0x0680);
+ 	skip_sse2_insn(mc);
+     }
+     *(unsigned short *)&mc->fs.fpu_fsw &= ~0xFF;
++#endif
+ #elif defined(__DARWIN__) && defined(__ppc__)
+     mcontext_t mc = uc->uc_mcontext;
+     mc->ss.srr0 += 4;

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070910/7dadf87d/attachment.html


More information about the macports-changes mailing list