On Wed, Jun 24, 2020 at 05:04:50PM +0200, Charlene Wendling wrote:
> 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.

Looks fine, OK


> 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
> 

-- 
Antoine

Reply via email to