Fix segfault during build with PIE-by-default on i386 by not using %ebx there.
Not quite sure why this is needed as it looks to be built without PIE anyway, so XXX comment added to patch, but this makes things work. N.B. regression tests fail, "error: objects are initialised from 1st to last (should be from last to 1st) - undefine constant OBJ_CHAIN_REVERSE_ORDER in obj_chain.h" but this is not new and they also fail on amd64. Regen distinfo while there.
This commit is contained in:
parent
b828496a2b
commit
945fa9eb2f
@ -1,10 +1,11 @@
|
||||
# $OpenBSD: Makefile,v 1.15 2013/03/11 11:20:27 espie Exp $
|
||||
# $OpenBSD: Makefile,v 1.16 2014/01/08 11:54:12 sthen Exp $
|
||||
|
||||
ONLY_FOR_ARCHS= amd64 i386
|
||||
|
||||
COMMENT= Prolog compiler
|
||||
|
||||
DISTNAME= gprolog-1.3.1
|
||||
REVISION= 0
|
||||
CATEGORIES= lang
|
||||
|
||||
HOMEPAGE= http://www.gprolog.org/
|
||||
|
@ -1,5 +1,2 @@
|
||||
MD5 (gprolog-1.3.1.tar.gz) = y64Zwx4XvPyktX/jXsSrog==
|
||||
RMD160 (gprolog-1.3.1.tar.gz) = +UL4LkA0pZ/QvFJ2VChyN119yAE=
|
||||
SHA1 (gprolog-1.3.1.tar.gz) = 0pEoR3JaDZF8aTfJQCvMIQcrGnM=
|
||||
SHA256 (gprolog-1.3.1.tar.gz) = PDMVm50jRkegbniHDBSgUY1qKl+F25BjYHd/6z2YwxY=
|
||||
SIZE (gprolog-1.3.1.tar.gz) = 2949369
|
||||
|
26
lang/gprolog/patches/patch-EnginePl_machine_h
Normal file
26
lang/gprolog/patches/patch-EnginePl_machine_h
Normal file
@ -0,0 +1,26 @@
|
||||
$OpenBSD: patch-EnginePl_machine_h,v 1.1 2014/01/08 11:54:12 sthen Exp $
|
||||
|
||||
XXX not quite sure why this is needed as it's built without PIE anyway, but
|
||||
this fixes a segfault on i386 during build following the switch to PIE by
|
||||
default.
|
||||
|
||||
===
|
||||
gplc -c --fast-math fd2c.pl
|
||||
|
||||
Fatal Error: Segmentation Violation
|
||||
compilation failed
|
||||
*** Error 1 in Fd2C (Makefile:10 'fd2c.o')
|
||||
*** Error 1 in /tmp_ports/gprolog-1.3.1/gprolog-1.3.1/src (Makefile:47 'all')
|
||||
===
|
||||
|
||||
--- EnginePl/machine.h.orig Wed Jan 8 04:11:21 2014
|
||||
+++ EnginePl/machine.h Wed Jan 8 04:12:30 2014
|
||||
@@ -110,7 +110,7 @@ void M_Check_Magic_Words(void); /* not compiled if not
|
||||
# define M_USED_REGS {"$9", "$10", "$11", "$12", "$13", "$14", 0}
|
||||
|
||||
/* on M_ix86_darwin : %ebx is used by gcc for pic base */
|
||||
-#elif defined(M_ix86) && !defined(_MSC_VER) && !defined(M_ix86_darwin)
|
||||
+#elif defined(M_ix86) && !defined(_MSC_VER) && !defined(M_ix86_darwin) && !defined(__OpenBSD__)
|
||||
|
||||
#ifdef NO_USE_EBP
|
||||
# define M_USED_REGS {"ebx", 0}
|
Loading…
Reference in New Issue
Block a user