On Wed, 24 Jun 2020 00:51:14 +0200 Antoine Jacoutot wrote: > On Tue, Jun 23, 2020 at 05:51:09PM +0200, Charlene Wendling wrote: > > On Mon, 22 Jun 2020 10:26:31 +0100 > > Stuart Henderson wrote: > > > > > I haven't checked but the libraries are probably really needed at > > > runtime (at least if it crashes at runtime, that's where the > > > unwind functions are most likely to be used) on clang LLD arches > > > too. The difference is that LLD will still link if there are > > > missing symbols and crash at runtime if the functions are called, > > > ld.bfd will check at link time. > > > > > > I would make it conditional on just clang rather than the linker > > > too. > > > > > > -- > > > Sent from a phone, apologies for poor formatting. > > > On 22 June 2020 09:43:51 Charlene Wendling <juliana...@posteo.jp> > > > wrote: > > > > > > > On Mon, 15 Jun 2020 21:12:48 +0100 > > > > Stuart Henderson wrote: > > > > > > > >> On 2020/06/15 21:46, Charlene Wendling wrote: > > > >> > Hi, > > > >> > > > > >> > libosinfo's build fails on my macppc machine with: > > > >> > > > > >> > > /usr/ports/pobj/libosinfo-1.8.0/build-powerpc/osinfo/libosinfo-1.0.so. > > > >> > > 1.5: undefined reference to `_Unwind_GetIP' > > > >> > > /usr/ports/pobj/libosinfo-1.8.0/build-powerpc/osinfo/libosinfo-1.0.so. > > > >> > > 1.5: undefined reference to `_Unwind_GetRegionStart' > > > >> > (etc.) > > > >> > > > > >> > I don't know why macppc is the only one needing that, but > > > >> > linking against libc++abi and pthread works, tests have only > > > >> > 1 failure, as seen on amd64. > > > >> > > > >> btw, same on amd64 if you set USE_LLD=No. > > > > > > > > I missed the fact that mips64 had the same issue, so the diff > > > > is now targeting clang+lb.bfd archs. > > > > > > > >> > While here i've moved HOMEPAGE to https. > > > >> > > > > >> > Comments/feedback are welcome, > > > >> > > > > >> > Charlène. > > > >> > > > > > The _Unwind_* symbols seem to come from > > osinfo_loader_process_user_path, i've tried to isolate the > > situation in C and vala without success. I may be wrong about this > > assumption. > > > > The only other case where it's needed is for lang/luajit, so i've > > looked at the cvs log, and there was no clear reason invoked by > > espie back then as well. > > > > So here is a diff that adds the WANTLIBs and LDFLAGS for all > > base-clang archs. I've updated the comment in case someone may > > think it's unneeded. > > > > Charlène. > > Did you try patching out -fexceptions or -fasynchronous-unwind-tables > from meson.build?
It does work without -fexceptions or by providing -fno-exceptions as a cflag [0]. As you mention patching, i've patched it away, there are no more _Unwind_* symbols in the resulting binaries. Charlène. [0] https://bin.charlenew.xyz/libosinfo.log Index: Makefile.inc =================================================================== RCS file: /cvs/ports/misc/osinfo/Makefile.inc,v retrieving revision 1.11 diff -u -p -u -p -r1.11 Makefile.inc --- Makefile.inc 31 May 2020 10:36:21 -0000 1.11 +++ Makefile.inc 24 Jun 2020 14:59:09 -0000 @@ -6,7 +6,7 @@ CATEGORIES= misc devel MAINTAINER= Antoine Jacoutot <ajacou...@openbsd.org> -HOMEPAGE= http://libosinfo.org/ +HOMEPAGE= https://libosinfo.org/ # GPLv2+ - LGPLv2+ PERMIT_PACKAGE= Yes Index: libosinfo/Makefile =================================================================== RCS file: /cvs/ports/misc/osinfo/libosinfo/Makefile,v retrieving revision 1.12 diff -u -p -u -p -r1.12 Makefile --- libosinfo/Makefile 9 Jun 2020 07:14:44 -0000 1.12 +++ libosinfo/Makefile 24 Jun 2020 14:59:09 -0000 @@ -3,7 +3,7 @@ COMMENT= library for managing information about operating systems DISTNAME= libosinfo-${V} -REVISION= 0 +REVISION= 1 SHARED_LIBS += osinfo-1.0 1.5 # 0.1008.0 Index: libosinfo/patches/patch-meson_build =================================================================== RCS file: libosinfo/patches/patch-meson_build diff -N libosinfo/patches/patch-meson_build --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libosinfo/patches/patch-meson_build 24 Jun 2020 14:59:09 -0000 @@ -0,0 +1,16 @@ +$OpenBSD$ + +Fix undefined reference errors to _Unwind_* on clang+ld.bfd archs; +it may cause runtime issues on lld archs as well. + +Index: meson.build +--- meson.build.orig ++++ meson.build +@@ -219,7 +219,6 @@ libosinfo_check_cflags = [ + '-Wframe-larger-than=4096', + '-Wno-overlength-strings', + '--param=ssp-buffer-size=4', +- '-fexceptions', + '-fasynchronous-unwind-tables', + '-fdiagnostics-show-option', + '-funit-at-a-time', Index: osinfo-db/Makefile =================================================================== RCS file: /cvs/ports/misc/osinfo/osinfo-db/Makefile,v retrieving revision 1.33 diff -u -p -u -p -r1.33 Makefile --- osinfo-db/Makefile 31 May 2020 10:36:36 -0000 1.33 +++ osinfo-db/Makefile 24 Jun 2020 14:59:09 -0000 @@ -3,6 +3,7 @@ COMMENT= osinfo database files V= 20200529 +REVISION= 0 DISTNAME= osinfo-db-${V} EXTRACT_SUFX= .tar.xz Index: osinfo-db-tools/Makefile =================================================================== RCS file: /cvs/ports/misc/osinfo/osinfo-db-tools/Makefile,v retrieving revision 1.11 diff -u -p -u -p -r1.11 Makefile --- osinfo-db-tools/Makefile 31 May 2020 10:36:21 -0000 1.11 +++ osinfo-db-tools/Makefile 24 Jun 2020 14:59:09 -0000 @@ -3,6 +3,7 @@ COMMENT= tools to manage the libosinfo database DISTNAME= osinfo-db-tools-${V} +REVISION= 0 WANTLIB += archive c gio-2.0 glib-2.0 gobject-2.0 intl json-glib-1.0 WANTLIB += soup-2.4 xml2