freebsd-ports/lang/mono/files/patch-mono_mini_mini-amd64.h
Tom McLaughlin 29b08baecb (Long awaited) update to 1.1.9.2
Mono Changes:
    - Series release:	http://www.go-mono.com/archive/1.1.9/
    - Patch release:	http://www.go-mono.com/archive/1.1.9.1_0/
			(No 1.1.9.2 release announcement.)

Port Changes:
    - Add pkg-message to explain reasons for common build failures and
      note the need to possibly increase the number of semaphores from
      the default FreeBSD amounts.
    - Add preliminary amd64 support [1,2] which has been disabled for
      the time being due to lingering stability issues.
    - Force the Mono build to only write within ${WRKDIR} and no longer
      write to ~/.wapi which leads to...
    - Add bsd.mono.mk which is a common makefile all Mono consumers will
      depend on.  Currently this file sets the location of the .wapi the
      build process will write to.  Since Mono does not cleanup the
      semaphore created for a .wapi when the last Mono process exits
      this file also handles the removal of the semaphore created during
      port building so we do not exhaust the machine's semaphore limit.

Submitted by:	Jean-Michel "tuo" Herve <jm.herve@gameproduction.org> [1]
		Joe Lewis <joe@joe-lewis.com> [1]
		Lou Kamenov on BSD# mailinglist [2]
Approved by:	ahze (mentor)
Project by:	BSD# <http://www.mono-project.com/Mono:FreeBSD>
2005-11-10 04:17:26 +00:00

59 lines
1.3 KiB
C

--- mono/mini/mini-amd64.h.orig Tue Aug 2 17:52:47 2005
+++ mono/mini/mini-amd64.h Tue Aug 2 17:53:40 2005
@@ -130,7 +130,7 @@
guint64 r15;
} MonoContext;
-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
+/*#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
# define SC_EAX sc_eax
# define SC_EBX sc_ebx
# define SC_ECX sc_ecx
@@ -140,7 +140,7 @@
# define SC_ESP sc_esp
# define SC_EDI sc_edi
# define SC_ESI sc_esi
-#else
+#else*/
# define SC_EAX rax
# define SC_EBX rbx
# define SC_ECX rcx
@@ -160,7 +160,7 @@
# define SC_R14 r14
# define SC_R15 r15
-#endif
+//#endif
#define MONO_CONTEXT_SET_IP(ctx,ip) do { (ctx)->rip = (long)(ip); } while (0);
#define MONO_CONTEXT_SET_BP(ctx,bp) do { (ctx)->rbp = (long)(bp); } while (0);
@@ -215,6 +215,29 @@
gboolean
mono_amd64_is_sse2 (void);
+
+
+#ifdef __FreeBSD__
+
+#define REG_RAX 7
+#define REG_RCX 4
+#define REG_RDX 3
+#define REG_RBX 8
+#define REG_RSP 23
+#define REG_RBP 9
+#define REG_RSI 2
+#define REG_RDI 1
+#define REG_R8 5
+#define REG_R9 6
+#define REG_R10 10
+#define REG_R11 11
+#define REG_R12 12
+#define REG_R13 13
+#define REG_R14 14
+#define REG_R15 15
+#define REG_RIP 20
+
+#endif // __FreeBSD__
#endif /* __MONO_MINI_AMD64_H__ */