summaryrefslogtreecommitdiff
path: root/src/driver/slbt_driver_ctx.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/driver/slbt_driver_ctx.c')
-rw-r--r--src/driver/slbt_driver_ctx.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c
index 76c7c4a..09adb68 100644
--- a/src/driver/slbt_driver_ctx.c
+++ b/src/driver/slbt_driver_ctx.c
@@ -440,6 +440,7 @@ int slbt_lib_get_driver_ctx(
sargv.cargv = 0;
objlistv = 0;
ndlopen = 0;
+ lflags = 0;
switch (slbt_split_argv(argv,flags,&sargv,&objlistv,fdctx->fderr,fdctx->fdcwd)) {
case SLBT_OK:
@@ -617,6 +618,14 @@ int slbt_lib_get_driver_ctx(
cctx.drvflags |= SLBT_DRIVER_OUTPUT_M4_DIR;
break;
+ case TAG_PRINT_SHARED_EXT:
+ cctx.drvflags |= SLBT_DRIVER_OUTPUT_SHARED_EXT;
+ break;
+
+ case TAG_PRINT_STATIC_EXT:
+ cctx.drvflags |= SLBT_DRIVER_OUTPUT_STATIC_EXT;
+ break;
+
case TAG_DEBUG:
cctx.drvflags |= SLBT_DRIVER_DEBUG;
break;
@@ -1004,7 +1013,8 @@ int slbt_lib_get_driver_ctx(
if (cctx.drvflags & SLBT_DRIVER_HEURISTICS) {
if (slbt_get_lconf_flags(&ctx->ctx,lconf,&lflags,false) < 0)
- return slbt_lib_get_driver_ctx_fail(&ctx->ctx,0);
+ if (!(cctx.drvflags & SLBT_DRIVER_OUTPUT_MASK))
+ return slbt_lib_get_driver_ctx_fail(&ctx->ctx,0);
} else {
switch (cctx.mode) {
case SLBT_MODE_UNKNOWN: