summaryrefslogtreecommitdiff
path: root/src/logic/slbt_exec_ar.c
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2024-02-28 21:33:56 +0000
committermidipix <writeonce@midipix.org>2024-02-28 21:33:56 +0000
commita2500c761ba3740dd416eaebac808f7c8d93aef7 (patch)
tree6339aa15914c2fc92846aac67e47383864a586c3 /src/logic/slbt_exec_ar.c
parent8192235a926ca89160e11658a42d6a994c3a86da (diff)
downloadslibtool-a2500c761ba3740dd416eaebac808f7c8d93aef7.tar.bz2
slibtool-a2500c761ba3740dd416eaebac808f7c8d93aef7.tar.xz
ar mode: -Wdlsyms: require an accompanying -Wdlunit argument.
Diffstat (limited to 'src/logic/slbt_exec_ar.c')
-rw-r--r--src/logic/slbt_exec_ar.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/logic/slbt_exec_ar.c b/src/logic/slbt_exec_ar.c
index 2abf7f2..ad8896c 100644
--- a/src/logic/slbt_exec_ar.c
+++ b/src/logic/slbt_exec_ar.c
@@ -307,7 +307,19 @@ int slbt_exec_ar(const struct slbt_driver_ctx * dctx)
(void)0;
} else if (cctx->fmtflags & SLBT_OUTPUT_ARCHIVE_DLSYMS) {
- (void)0;
+ if (!cctx->dlunit)
+ slbt_dprintf(fderr,
+ "%s: missing -Wdlunit: generation of a dlsyms vtable "
+ "requires the name of the dynamic library, executable "
+ "program, or dynamic module for which the vtable would "
+ "be generated.\n",
+ dctx->program);
+
+ return slbt_exec_ar_fail(
+ ectx,meta,
+ SLBT_CUSTOM_ERROR(
+ dctx,
+ SLBT_ERR_AR_DLUNIT_NOT_SPECIFIED));
} else if (!(cctx->drvflags & SLBT_DRIVER_MODE_AR_ACTIONS)) {
if (cctx->drvflags & SLBT_DRIVER_VERBOSITY_ERRORS)