Commit 0a4bfa67 authored by adridg's avatar adridg
Browse files

New port devel/libabigail

An ABI-wrestling-suite of libraries and tools. Uses elfutils
to diff, lint, compare and report on compatibility of ABIs
in shared-libraries.

Common use is diffing two .so's, like `abidiff libpkg.so libpkg-devel.so`
parent 99cd2f01
......@@ -1092,6 +1092,7 @@
SUBDIR += libCello
SUBDIR += libIDL
SUBDIR += libPropList
SUBDIR += libabigail
SUBDIR += libafterbase
SUBDIR += liballium
SUBDIR += libantlr3c
......
# $FreeBSD$
PORTNAME= libabigail
DISTVERSION= 1.8.2
CATEGORIES= devel
MASTER_SITES= SOURCEWARE/${PORTNAME}/
MAINTAINER= adridg@FreeBSD.org
COMMENT= ABI Generic Analysis and Instrumentation Library
LICENSE= LGPL3+
LICENSE_FILE= ${WRKSRC}/COPYING-LGPLV3
LIB_DEPENDS= libxml2.so:textproc/libxml2 \
libdw.so:devel/elfutils
USES= gmake libtool localbase pkgconfig python
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-cxx11=yes
.include <bsd.port.mk>
TIMESTAMP = 1615074410
SHA256 (libabigail-1.8.2.tar.gz) = 86347c9f0a8666f263fd63f8c3fe4c4f9cb1bdb3ec4260ecbaf117d137e89787
SIZE (libabigail-1.8.2.tar.gz) = 258919334
--- src/abg-elf-helpers.cc.orig 2021-03-07 00:14:31 UTC
+++ src/abg-elf-helpers.cc
@@ -178,8 +178,10 @@ e_machine_to_string(GElf_Half e_machine)
return "elf-motorola-rce";
case EM_ARM:
return "elf-arm";
+#ifdef EM_FAKE_ALPHA
case EM_FAKE_ALPHA:
return "elf-digital-alpha";
+#endif
case EM_SH:
return "elf-hitachi-sh";
case EM_SPARCV9:
@@ -298,8 +300,10 @@ e_machine_to_string(GElf_Half e_machine)
return "elf-tilera-tilegx";
#endif
+#ifdef EM_NUM
case EM_NUM:
return "elf-last-arch-number";
+#endif
case EM_ALPHA:
return "elf-non-official-alpha";
default:
--- src/abg-tools-utils.cc.orig 2021-03-07 00:11:55 UTC
+++ src/abg-tools-utils.cc
@@ -1713,6 +1713,16 @@ struct malloced_char_star_deleter
{free(ptr);}
};
+#ifdef __FreeBSD__
+/* get_current_dir_name() is a GNU extension.
+ *
+ */
+char *get_current_dir_name()
+{
+return getcwd(nullptr, 0);
+}
+#endif
+
/// Return a copy of the path given in argument, turning it into an
/// absolute path by prefixing it with the concatenation of the result
/// of get_current_dir_name() and the '/' character.
--- tools/abisym.cc.orig 2021-03-07 00:17:35 UTC
+++ tools/abisym.cc
@@ -26,6 +26,7 @@
/// in its symbol tables and report what it sees.
#include <elf.h>
+#include <libgen.h>
#include <cstring>
#include <iostream>
#include <sstream>
ABI Generic Analysis and Instrumentation Library
This project aims at providing a C++ library for constructing, manipulating,
serializing and de-serializing ABI-relevant artifacts. The set of artifacts
that we are interested in is made of constructions like types, variables,
functions and declarations of a given library or program. For a given program
or library, this set of constructions is called an ABI corpus.
Thus the project aims at providing a library to manipulate ABI corpora, compare
them, provide detailed information about their differences and help build tools
to infer interesting conclusions about these differences.
WWW: https://sourceware.org/libabigail/
bin/abicompat
bin/abidiff
bin/abidw
bin/abilint
bin/abipkgdiff
bin/kmidiff
include/libabigail/abg-comp-filter.h
include/libabigail/abg-comparison.h
include/libabigail/abg-config.h
include/libabigail/abg-corpus.h
include/libabigail/abg-cxx-compat.h
include/libabigail/abg-diff-utils.h
include/libabigail/abg-dwarf-reader.h
include/libabigail/abg-fwd.h
include/libabigail/abg-hash.h
include/libabigail/abg-ini.h
include/libabigail/abg-interned-str.h
include/libabigail/abg-ir.h
include/libabigail/abg-libxml-utils.h
include/libabigail/abg-libzip-utils.h
include/libabigail/abg-reader.h
include/libabigail/abg-regex.h
include/libabigail/abg-reporter.h
include/libabigail/abg-sptr-utils.h
include/libabigail/abg-suppression.h
include/libabigail/abg-tools-utils.h
include/libabigail/abg-traverse.h
include/libabigail/abg-version.h
include/libabigail/abg-viz-common.h
include/libabigail/abg-viz-dot.h
include/libabigail/abg-viz-svg.h
include/libabigail/abg-workers.h
include/libabigail/abg-writer.h
lib/libabigail.a
lib/libabigail.so
lib/libabigail.so.0
lib/libabigail.so.0.0.0
lib/libabigail/default.abignore
libdata/pkgconfig/libabigail.pc
share/aclocal/abigail.m4
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment