From 39ce397bc705086b8856cc5c578244aabf093aa9 Mon Sep 17 00:00:00 2001
From: midipix <writeonce@midipix.org>
Date: Sun, 10 Mar 2024 05:50:50 +0000
Subject: link mode: handle the combination of dlopen/dlpreopen and
 --disable-shared.

---
 src/logic/linkcmd/slbt_linkcmd_archive.c | 2 +-
 src/logic/linkcmd/slbt_linkcmd_dsolib.c  | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

(limited to 'src/logic/linkcmd')

diff --git a/src/logic/linkcmd/slbt_linkcmd_archive.c b/src/logic/linkcmd/slbt_linkcmd_archive.c
index 5f1ba52..00fe825 100644
--- a/src/logic/linkcmd/slbt_linkcmd_archive.c
+++ b/src/logic/linkcmd/slbt_linkcmd_archive.c
@@ -74,7 +74,7 @@ slbt_hidden int slbt_exec_link_create_archive(
 		if (slbt_exec_link_create_library(
 				dctx,ectx,
 				namebuf,namebuf,namebuf,
-				true) < 0)
+				true,fpic) < 0)
 			return SLBT_NESTED_ERROR(dctx);
 	}
 
diff --git a/src/logic/linkcmd/slbt_linkcmd_dsolib.c b/src/logic/linkcmd/slbt_linkcmd_dsolib.c
index 13eaefb..0f70dcb 100644
--- a/src/logic/linkcmd/slbt_linkcmd_dsolib.c
+++ b/src/logic/linkcmd/slbt_linkcmd_dsolib.c
@@ -89,7 +89,8 @@ slbt_hidden int slbt_exec_link_create_library(
 	const char *			dsobasename,
 	const char *			dsofilename,
 	const char *			relfilename,
-	bool                            fardlopen)
+	bool                            fardlopen,
+	bool                            fpic)
 {
 	int                     fdcwd;
 	char **                 parg;
@@ -119,7 +120,7 @@ slbt_hidden int slbt_exec_link_create_library(
 
 	/* input argument adjustment */
 	for (parg=ectx->cargv; *parg; parg++)
-		slbt_adjust_object_argument(*parg,true,false,fdcwd);
+		slbt_adjust_object_argument(*parg,fpic,false,fdcwd);
 
 	/* .deps */
 	if (slbt_exec_link_create_dep_file(
-- 
cgit v1.2.3