summaryrefslogtreecommitdiff
path: root/src/arbits
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2024-03-04 23:55:22 +0000
committermidipix <writeonce@midipix.org>2024-03-05 00:15:44 +0000
commitdeae20a6aa2f0f1afc5cd7d60f6a201207827f70 (patch)
treead4c22dc00464827fd240b47514cbc70a72608e8 /src/arbits
parent91c8dd7dd5cb8d4bdc1dcfd1ecca3304c187b0de (diff)
downloadslibtool-deae20a6aa2f0f1afc5cd7d60f6a201207827f70.tar.bz2
slibtool-deae20a6aa2f0f1afc5cd7d60f6a201207827f70.tar.xz
slbt_ar_create_dlsyms(): allow dlopen & dlpreoepn to elegantly use the force.
Diffstat (limited to 'src/arbits')
-rw-r--r--src/arbits/slbt_archive_dlsyms.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/arbits/slbt_archive_dlsyms.c b/src/arbits/slbt_archive_dlsyms.c
index e75ee3c..10201b4 100644
--- a/src/arbits/slbt_archive_dlsyms.c
+++ b/src/arbits/slbt_archive_dlsyms.c
@@ -274,6 +274,11 @@ static int slbt_ar_output_dlsyms_impl(
if (slbt_dprintf(fdout,dlsymfmt,symname,"","0") < 0)
return SLBT_NESTED_ERROR(dctx);
+ /* (-dlopen force) */
+ if (!arctxv[0]->meta->a_memberv)
+ if (!strcmp(*arctxv[0]->path,"@PROGRAM@"))
+ arctxv++;
+
/* at long last */
for (parctx=arctxv; *parctx; parctx++) {
actx = *parctx;