diff options
Diffstat (limited to 'src/logic/slbt_exec_ctx.c')
-rw-r--r-- | src/logic/slbt_exec_ctx.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/logic/slbt_exec_ctx.c b/src/logic/slbt_exec_ctx.c index 239c5e5..d7038fc 100644 --- a/src/logic/slbt_exec_ctx.c +++ b/src/logic/slbt_exec_ctx.c @@ -83,11 +83,11 @@ static struct slbt_exec_ctx_impl * slbt_exec_ctx_alloc( else size += sizeof('\0') + strlen(*parg); - /* buffer size (ldirname, lbasename, lobjname, aobjname, ltobjname) */ + /* buffer size (ldirname, lbasename, lobjname, aobjname, etc.) */ if (dctx->cctx->output) - size += 4*strlen(dctx->cctx->output); + size += 8*strlen(dctx->cctx->output); else if ((csrc = slbt_source_file(dctx->cctx->cargv))) - size += 4*strlen(csrc); + size += 8*strlen(csrc); /* pessimistic argc: .libs/libfoo.so --> -L.libs -lfoo */ argc *= 2; @@ -300,6 +300,15 @@ int slbt_get_exec_ctx( dctx->cctx->libname, dctx->cctx->settings.dsosuffix) + sizeof('\0'); + + /* deffilename */ + ictx->ctx.deffilename = ch; + ch += sprintf(ch,"%s%s%s%s.def", + ictx->ctx.ldirname, + dctx->cctx->settings.dsoprefix, + dctx->cctx->libname, + dctx->cctx->settings.dsosuffix) + + sizeof('\0'); } /* linking: exefilename */ |