From dcf6a5f80a8bf402e0ba8bd61eaae7d06a9e46c6 Mon Sep 17 00:00:00 2001 From: midipix Date: Wed, 28 Feb 2024 08:12:48 +0000 Subject: ar mode: driver: added -Wdlsyms, -Wdlunit. --- src/logic/slbt_exec_ar.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/logic/slbt_exec_ar.c') diff --git a/src/logic/slbt_exec_ar.c b/src/logic/slbt_exec_ar.c index d36fdc8..2abf7f2 100644 --- a/src/logic/slbt_exec_ar.c +++ b/src/logic/slbt_exec_ar.c @@ -107,6 +107,10 @@ static int slbt_exec_ar_perform_archive_actions( if (dctx->cctx->fmtflags & SLBT_OUTPUT_ARCHIVE_MAPFILE) if (slbt_au_output_mapfile((*arctxp)->meta) < 0) return SLBT_NESTED_ERROR(dctx); + + if (dctx->cctx->fmtflags & SLBT_OUTPUT_ARCHIVE_DLSYMS) + if (slbt_au_output_dlsyms(arctxv,dctx->cctx->dlunit) < 0) + return SLBT_NESTED_ERROR(dctx); } if (dctx->cctx->drvflags & SLBT_DRIVER_MODE_AR_MERGE) { @@ -237,6 +241,14 @@ int slbt_exec_ar(const struct slbt_driver_ctx * dctx) ictx->cctx.fmtflags |= SLBT_OUTPUT_ARCHIVE_MAPFILE; break; + case TAG_AR_DLSYMS: + ictx->cctx.fmtflags |= SLBT_OUTPUT_ARCHIVE_DLSYMS; + break; + + case TAG_AR_DLUNIT: + ictx->cctx.dlunit = entry->arg; + break; + case TAG_AR_NOSORT: ictx->cctx.fmtflags |= SLBT_OUTPUT_ARCHIVE_NOSORT; break; @@ -294,6 +306,9 @@ int slbt_exec_ar(const struct slbt_driver_ctx * dctx) } else if (cctx->fmtflags & SLBT_OUTPUT_ARCHIVE_MAPFILE) { (void)0; + } else if (cctx->fmtflags & SLBT_OUTPUT_ARCHIVE_DLSYMS) { + (void)0; + } else if (!(cctx->drvflags & SLBT_DRIVER_MODE_AR_ACTIONS)) { if (cctx->drvflags & SLBT_DRIVER_VERBOSITY_ERRORS) slbt_dprintf(fderr, -- cgit v1.2.3