diff options
author | sbruno <sbruno@FreeBSD.org> | 2014-09-16 20:40:29 +0800 |
---|---|---|
committer | sbruno <sbruno@FreeBSD.org> | 2014-09-16 20:40:29 +0800 |
commit | 117677f70e40679fe80ee6bed6a3ceeab9a63600 (patch) | |
tree | 19e7c431b8cbca7047ea0d0215589459a98bc0b0 /devel | |
parent | d95415f8e748104bda614cb7e64f7074e7b12390 (diff) | |
download | freebsd-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.c | 15 |
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), |