From 2a100f3622881e3b85b312e2d5360c5f779acba1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz?= Date: Thu, 1 Apr 2021 18:10:59 +0100 Subject: link mode: always include deplib dirs in ldpathenv. --- src/logic/slbt_exec_link.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/logic/slbt_exec_link.c b/src/logic/slbt_exec_link.c index ff1d7df..11f1416 100644 --- a/src/logic/slbt_exec_link.c +++ b/src/logic/slbt_exec_link.c @@ -478,9 +478,9 @@ static int slbt_exec_link_adjust_argument_vector( *slash = 0; if (slbt_dprintf(fdwrap, - "DL_PATH=\"$DL_PATH$COLON%s/%s\"\n" + "DL_PATH=\"$DL_PATH$COLON%s%s%s\"\n" "COLON=':'\n\n", - cwd,arg) < 0) + ((arg[0] == '/') ? "" : cwd),((arg[0] == '/') ? "" : "/"),arg) < 0) return slbt_exec_link_exit( depsmeta, SLBT_SYSTEM_ERROR(dctx,0)); @@ -556,6 +556,26 @@ static int slbt_exec_link_adjust_argument_vector( darg += strlen(darg); darg++; + + if ((fdwrap = slbt_exec_get_fdwrapper(ectx)) >= 0) { + if (slbt_dprintf(fdwrap, + "DL_PATH=\"$DL_PATH$COLON%s/%s\"\n" + "COLON=':'\n\n", + lib,depdir) < 0) + return slbt_exec_link_exit( + depsmeta, + SLBT_SYSTEM_ERROR(dctx,0)); + } + } else if ((mark[0] == '-') && (mark[1] == 'L')) { + if ((fdwrap = slbt_exec_get_fdwrapper(ectx)) >= 0) { + if (slbt_dprintf(fdwrap, + "DL_PATH=\"$DL_PATH$COLON%s\"\n" + "COLON=':'\n\n", + &mark[2]) < 0) + return slbt_exec_link_exit( + depsmeta, + SLBT_SYSTEM_ERROR(dctx,0)); + } } } } -- cgit v1.2.3