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;