From eabbccaa8ddb647e2a732d0733828bb81952b9f3 Mon Sep 17 00:00:00 2001 From: Aloz1 Date: Thu, 23 Dec 2021 22:59:22 +1100 Subject: [PATCH 1/2] gcc: add libbacktrace subpackage --- srcpkgs/gcc/template | 22 ++++++++++++++++++++-- srcpkgs/libbacktrace-devel | 1 + 2 files changed, 21 insertions(+), 2 deletions(-) create mode 120000 srcpkgs/libbacktrace-devel diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template index 09727ef34fb2..3bbb86d9bd1d 100644 --- a/srcpkgs/gcc/template +++ b/srcpkgs/gcc/template @@ -7,7 +7,7 @@ pkgname=gcc # to get regression fixes not yet incorporate into a stable release # it should be possible to switch back to stable with 10.3 or 11 version=10.2.1pre1 -revision=3 +revision=4 _patchver="${version%pre*}" _minorver="${_patchver%.*}" _majorver="${_minorver%.*}" @@ -58,7 +58,7 @@ depends="binutils libgcc-devel-${version}_${revision} libstdc++-devel-${version}_${revision} libssp-devel-${version}_${revision}" checkdepends="dejagnu" -subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel" +subpackages="libgcc libgomp libgomp-devel libatomic libatomic-devel libbacktrace-devel" subpackages+=" libssp libssp-devel" build_options="ada gnatboot" @@ -353,6 +353,16 @@ do_install() { ln -sfr ${DESTDIR}/usr/include/c++/${_minorver} \ ${DESTDIR}/usr/include/c++/${_patchver} + # Install libbacktrace libraries (gcc source makefile doesn't do + # this for us) + vmkdir usr/include/backtrace + vinstall libbacktrace/.libs/libbacktrace.a \ + 644 usr/lib + vinstall libbacktrace/backtrace-supported.h \ + 644 usr/include/backtrace + vinstall ../libbacktrace/backtrace.h \ + 644 usr/include/backtrace + # cc symlink ln -sfr ${DESTDIR}/usr/bin/gcc ${DESTDIR}/usr/bin/cc # rpcgen wants /lib/cpp, make a symlink @@ -721,3 +731,11 @@ libstdc++_package() { vlicense ${wrksrc}/COPYING.RUNTIME RUNTIME.LIBRARY.EXCEPTION } } + +libbacktrace-devel_package() { + short_desc+=" - Backtrace generation library - development files" + pkg_install() { + vmove "usr/lib/libbacktrace.a" + vmove usr/include/backtrace + } +} diff --git a/srcpkgs/libbacktrace-devel b/srcpkgs/libbacktrace-devel new file mode 120000 index 000000000000..b08d5af5795c --- /dev/null +++ b/srcpkgs/libbacktrace-devel @@ -0,0 +1 @@ +gcc \ No newline at end of file From 7dd3052fafce142b6093d6a24d0a49121886ba62 Mon Sep 17 00:00:00 2001 From: Aloz1 Date: Thu, 23 Dec 2021 23:42:28 +1100 Subject: [PATCH 2/2] ghdl: use libbacktrace in llvm backend --- srcpkgs/ghdl/patches/ln-libbacktrace.patch | 13 +++++++++++++ srcpkgs/ghdl/template | 9 ++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/ghdl/patches/ln-libbacktrace.patch diff --git a/srcpkgs/ghdl/patches/ln-libbacktrace.patch b/srcpkgs/ghdl/patches/ln-libbacktrace.patch new file mode 100644 index 000000000000..fcc8a876f273 --- /dev/null +++ b/srcpkgs/ghdl/patches/ln-libbacktrace.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.in b/Makefile.in +index d8015791..3722901d 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -497,7 +497,7 @@ install.grt: \ + $(INSTALL_DATA) $(libdirsuffix)/grt-shared.lst $(DESTDIR)$(VHDL_LIB_DIR)/grt-shared.lst + $(INSTALL_DATA) $(GRTSRCDIR)/grt.ver $(DESTDIR)$(VHDL_LIB_DIR)/grt.ver + test "x$(LIBBACKTRACE)" = x || test "x$(backend)" = xgcc || \ +- $(INSTALL_DATA) $(LIBBACKTRACE) $(DESTDIR)$(VHDL_LIB_DIR)/libbacktrace.a ++ $(LN) $(LIBBACKTRACE) $(DESTDIR)$(VHDL_LIB_DIR)/libbacktrace.a + + uninstall.grt: + $(RM) $(DESTDIR)$(VHDL_LIB_DIR)/libgrt.a diff --git a/srcpkgs/ghdl/template b/srcpkgs/ghdl/template index e756d8c3cd87..fb70573e4726 100644 --- a/srcpkgs/ghdl/template +++ b/srcpkgs/ghdl/template @@ -7,7 +7,7 @@ pkgname=ghdl reverts="20181129_1" version=1.0.0 -revision=1 +revision=2 build_style=configure configure_args="--prefix=/usr --srcdir=.. --incdir=lib/ghdl/include" makedepends="zlib-devel" @@ -51,7 +51,7 @@ fi if [ "$build_option_llvm" ]; then subpackages+=" ghdl-llvm" - makedepends+=" llvm12" + makedepends+=" llvm12 libbacktrace-devel" fi do_configure() { @@ -65,7 +65,9 @@ do_configure() { if [ "$build_option_llvm" ]; then mkdir -p build_llvm cd build_llvm - ../configure --libdir=lib/ghdl/llvm --with-llvm-config \ + ../configure --libdir=lib/ghdl/llvm \ + --with-llvm-config \ + --with-backtrace-lib="/usr/lib/libbacktrace.a" \ ${configure_args} cd .. fi @@ -130,6 +132,7 @@ ghdl-mcode_package() { ghdl-llvm_package() { short_desc+=" - LLVM backend" + depends+=" libbacktrace-devel" pkg_install() { vmove usr/bin/ghdl-llvm vmove usr/lib/ghdl/llvm