summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2024-01-28 04:42:55 +0000
committermidipix <writeonce@midipix.org>2024-01-28 07:25:29 +0000
commit7fe83d363d5fd2d27b5c44b95c3a50c493ce7876 (patch)
tree63d39c358a5e9e104f3597f169ccdef7a0fc256b
parentd6b3d71e6fd9e93fa15c76d4448594f80260b341 (diff)
downloadslibtool-7fe83d363d5fd2d27b5c44b95c3a50c493ce7876.tar.bz2
slibtool-7fe83d363d5fd2d27b5c44b95c3a50c493ce7876.tar.xz
struct ar_meta_armap_common_{32|64}: added the ar_symrefs member.
-rw-r--r--include/slibtool/slibtool_arbits.h2
-rw-r--r--src/arbits/slbt_archive_meta.c6
-rw-r--r--src/internal/slibtool_ar_impl.h2
3 files changed, 10 insertions, 0 deletions
diff --git a/include/slibtool/slibtool_arbits.h b/include/slibtool/slibtool_arbits.h
index 37e3a9a..8168f04 100644
--- a/include/slibtool/slibtool_arbits.h
+++ b/include/slibtool/slibtool_arbits.h
@@ -136,6 +136,7 @@ struct ar_meta_armap_ref_64 {
struct ar_meta_armap_common_32 {
struct ar_meta_member_info * ar_member;
+ struct ar_meta_armap_ref_32 * ar_symrefs;
struct ar_raw_armap_bsd_32 * ar_armap_bsd;
struct ar_raw_armap_sysv_32 * ar_armap_sysv;
struct ar_raw_armap_xcoff_32 * ar_armap_xcoff;
@@ -151,6 +152,7 @@ struct ar_meta_armap_common_32 {
struct ar_meta_armap_common_64 {
struct ar_meta_member_info * ar_member;
+ struct ar_meta_armap_ref_64 * ar_symrefs;
struct ar_raw_armap_bsd_64 * ar_armap_bsd;
struct ar_raw_armap_sysv_64 * ar_armap_sysv;
void * ar_armap_xcoff;
diff --git a/src/arbits/slbt_archive_meta.c b/src/arbits/slbt_archive_meta.c
index d57b5bf..9f6595c 100644
--- a/src/arbits/slbt_archive_meta.c
+++ b/src/arbits/slbt_archive_meta.c
@@ -36,6 +36,12 @@ static const char ar_signature[] = AR_SIGNATURE;
static int slbt_free_archive_meta_impl(struct slbt_archive_meta_impl * meta, int ret)
{
if (meta) {
+ if (meta->armaps.armap_symrefs_32)
+ free(meta->armaps.armap_symrefs_32);
+
+ if (meta->armaps.armap_symrefs_64)
+ free(meta->armaps.armap_symrefs_64);
+
if (meta->hdrinfov)
free(meta->hdrinfov);
diff --git a/src/internal/slibtool_ar_impl.h b/src/internal/slibtool_ar_impl.h
index b96b77b..48cdec8 100644
--- a/src/internal/slibtool_ar_impl.h
+++ b/src/internal/slibtool_ar_impl.h
@@ -8,6 +8,8 @@
extern const struct argv_option slbt_ar_options[];
struct ar_armaps_impl {
+ struct ar_meta_armap_ref_32 * armap_symrefs_32;
+ struct ar_meta_armap_ref_64 * armap_symrefs_64;
struct ar_raw_armap_bsd_32 armap_bsd_32;
struct ar_raw_armap_bsd_64 armap_bsd_64;
struct ar_raw_armap_sysv_32 armap_sysv_32;