From 3174324e035bd0621ca464adb175bb652cc3f301 Mon Sep 17 00:00:00 2001 From: midipix Date: Apr 08 2021 15:44:25 +0000 Subject: link mode: set the -soname linker flag alongside the -avoid-version argument. --- diff --git a/src/logic/slbt_exec_link.c b/src/logic/slbt_exec_link.c index f47f01c..8b8efa2 100644 --- a/src/logic/slbt_exec_link.c +++ b/src/logic/slbt_exec_link.c @@ -1457,7 +1457,18 @@ static int slbt_exec_link_create_library( *ectx->soname = "-Wl,-soname"; *ectx->lsoname = soname; - } else if (!(dctx->cctx->drvflags & SLBT_DRIVER_AVOID_VERSION)) { + } else if (dctx->cctx->drvflags & SLBT_DRIVER_AVOID_VERSION) { + if ((size_t)snprintf(soname,sizeof(soname),"-Wl,%s%s%s", + ectx->sonameprefix, + dctx->cctx->libname, + dctx->cctx->settings.dsosuffix) + >= sizeof(soname)) + return SLBT_BUFFER_ERROR(dctx); + + *ectx->soname = "-Wl,-soname"; + *ectx->lsoname = soname; + + } else { if ((size_t)snprintf(soname,sizeof(soname),"-Wl,%s%s%s.%d%s", ectx->sonameprefix, dctx->cctx->libname,