diff options
Diffstat (limited to 'src/logic')
-rw-r--r-- | src/logic/linkcmd/slbt_linkcmd_archive.c | 2 | ||||
-rw-r--r-- | src/logic/linkcmd/slbt_linkcmd_dsolib.c | 5 | ||||
-rw-r--r-- | src/logic/slbt_exec_link.c | 4 |
3 files changed, 6 insertions, 5 deletions
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( diff --git a/src/logic/slbt_exec_link.c b/src/logic/slbt_exec_link.c index be9dc20..b2f1311 100644 --- a/src/logic/slbt_exec_link.c +++ b/src/logic/slbt_exec_link.c @@ -328,7 +328,7 @@ int slbt_exec_link(const struct slbt_driver_ctx * dctx) ectx->dsobasename, ectx->dsofilename, ectx->relfilename, - false)) { + false,true)) { slbt_ectx_free_exec_ctx(ectx); return SLBT_NESTED_ERROR(dctx); } @@ -395,7 +395,7 @@ int slbt_exec_link(const struct slbt_driver_ctx * dctx) ectx->dsobasename, ectx->dsofilename, ectx->relfilename, - false)) { + false,true)) { slbt_ectx_free_exec_ctx(ectx); return SLBT_NESTED_ERROR(dctx); } |