Hi, > http://build-failures.rhaalovely.net/sparc64/2019-10-06/devel/py-unicorn%2Cpython3.log > http://build-failures.rhaalovely.net/powerpc/2019-09-17/devel/py-unicorn.log
It seems it is happening since the python3 flavor has been enabled. '-Bsymbolic-functions' is not supported by our ld.bfd, so i've simply split linking options according to which linker is used. I could have totally removed that option, but i heard it allows better performances. This builds fine on macppc [0] and amd64. Comments/feedback are welcome, Charlène. [0] https://bin.charlenew.xyz/py-unicorn.tgz Index: Makefile =================================================================== RCS file: /cvs/ports/devel/py-unicorn/Makefile,v retrieving revision 1.6 diff -u -p -u -p -r1.6 Makefile --- Makefile 12 Jul 2019 20:45:55 -0000 1.6 +++ Makefile 12 Oct 2019 23:17:27 -0000 @@ -5,7 +5,7 @@ COMMENT = Unicorn CPU emulator engine MODPY_EGG_VERSION = 1.0.1 DISTNAME = unicorn-${MODPY_EGG_VERSION} PKGNAME = py-${DISTNAME} -REVISION = 1 +REVISION = 2 CATEGORIES = devel @@ -32,6 +32,14 @@ BUILD_DEPENDS = lang/python/${MODPY_DEF USE_GMAKE = Yes MAKE_ENV += V=1 + +# our ld.bfd has no '-Bsymbolic-functions' option support +.include <bsd.port.arch.mk> +.if ${PROPERTIES:Mlld} +MAKE_ENV += LD_IS_LLD=1 +.else +MAKE_ENV += LD_IS_LLD=0 +.endif pre-configure: ${SUBST_CMD} ${WRKSRC}/src/Makefile Index: patches/patch-src_Makefile =================================================================== RCS file: /cvs/ports/devel/py-unicorn/patches/patch-src_Makefile,v retrieving revision 1.2 diff -u -p -u -p -r1.2 patch-src_Makefile --- patches/patch-src_Makefile 1 Jun 2019 20:00:01 -0000 1.2 +++ patches/patch-src_Makefile 12 Oct 2019 23:17:27 -0000 @@ -1,11 +1,25 @@ $OpenBSD: patch-src_Makefile,v 1.2 2019/06/01 20:00:01 kn Exp $ -ERROR: Cannot use '/usr/local/bin/python3.6', Python 2.4 or later is required. +Hunk#1: -Bsymbolic-functions is not supported by ld.bfd +Hunk#2: Fix error: Cannot use '/usr/local/bin/python3.6', Python 2.4 or + later is required. Index: src/Makefile --- src/Makefile.orig +++ src/Makefile -@@ -212,7 +212,7 @@ all: unicorn +@@ -141,7 +141,11 @@ else + EXT = so + VERSION_EXT = $(EXT).$(API_MAJOR) + AR_EXT = a ++ifeq ($(LD_IS_LLD),1) + $(LIBNAME)_LDFLAGS += -Wl,-Bsymbolic-functions,-soname,lib$(LIBNAME).$(VERSION_EXT) ++else ++$(LIBNAME)_LDFLAGS += -Wl,-soname,lib$(LIBNAME).$(VERSION_EXT) ++endif + UNICORN_CFLAGS += -fvisibility=hidden + endif + +@@ -212,7 +216,7 @@ all: unicorn qemu/config-host.h-timestamp: cd qemu && \