aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorsbruno <sbruno@FreeBSD.org>2014-09-16 20:40:29 +0800
committersbruno <sbruno@FreeBSD.org>2014-09-16 20:40:29 +0800
commit117677f70e40679fe80ee6bed6a3ceeab9a63600 (patch)
tree19e7c431b8cbca7047ea0d0215589459a98bc0b0 /devel
parentd95415f8e748104bda614cb7e64f7074e7b12390 (diff)
downloadfreebsd-ports-gnome-117677f70e40679fe80ee6bed6a3ceeab9a63600.tar.gz
freebsd-ports-gnome-117677f70e40679fe80ee6bed6a3ceeab9a63600.tar.zst
freebsd-ports-gnome-117677f70e40679fe80ee6bed6a3ceeab9a63600.zip
Fixup for qemu assisted builds. This float handling seems to be an unhandled
qemu bug, but the code itself is arguably wrong as well. Apply this patch atop the tar ball and move on. Phabric: https://reviews.freebsd.org/D746 Submitted by: nox Reviewed by: kwm Approved by: bapt (mentor)
Diffstat (limited to 'devel')
-rw-r--r--devel/orc/files/patch-orc-orcprogram-c.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/devel/orc/files/patch-orc-orcprogram-c.c b/devel/orc/files/patch-orc-orcprogram-c.c
new file mode 100644
index 000000000000..d4939c58d5f8
--- /dev/null
+++ b/devel/orc/files/patch-orc-orcprogram-c.c
@@ -0,0 +1,15 @@
+# This works around a fatal error in qemu-bsd-user dealing with floats in a
+# very complex way. This is arguably a bug in this code too, but for now
+# patch around it so that we can get ports building via qemu-bsd-user and
+# get more testing. sbruno 16SEP2014
+--- orc/orcprogram-c.c.orig
++++ orc/orcprogram-c.c
+@@ -823,7 +823,7 @@ c_rule_loadpX (OrcCompiler *p, void *use
+ ORC_ASM_CODE(p," %s = (int)0x%08x; /* %d or %gf */\n", dest,
+ (unsigned int)p->vars[insn->src_args[0]].value.i,
+ (int)p->vars[insn->src_args[0]].value.i,
+- p->vars[insn->src_args[0]].value.f);
++ p->vars[insn->src_args[0]].value.x2f[0]);
+ } else {
+ ORC_ASM_CODE(p," %s = ORC_UINT64_C(0x%08x%08x); /* %gf */\n", dest,
+ (orc_uint32)(((orc_uint64)p->vars[insn->src_args[0]].value.i)>>32),