diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c index 74fbd9a..bb9343a 100644 --- a/src/driver/slbt_driver_ctx.c +++ b/src/driver/slbt_driver_ctx.c @@ -242,6 +242,9 @@ int slbt_get_driver_ctx( program = argv_program_name(argv[0]); memset(&cctx,0,sizeof(cctx)); + /* shared and static objects: enable by default, disable by ~switch */ + cctx.drvflags = SLBT_DRIVER_SHARED | SLBT_DRIVER_STATIC; + /* get options, count units */ for (entry=meta->entries; entry->fopt || entry->arg; entry++) { if (entry->fopt) { @@ -338,11 +341,11 @@ int slbt_get_driver_ctx( break; case TAG_SHARED: - cctx.drvflags |= SLBT_DRIVER_SHARED; + cctx.drvflags &= ~(uint64_t)SLBT_DRIVER_STATIC; break; case TAG_STATIC: - cctx.drvflags |= SLBT_DRIVER_STATIC; + cctx.drvflags &= ~(uint64_t)SLBT_DRIVER_SHARED; break; } } else