From 34988f835484e8a4fdc3e9a93930786755a63d05 Mon Sep 17 00:00:00 2001 From: midipix Date: Tue, 19 Feb 2019 08:30:41 -0500 Subject: driver, compile & link mode: support arbitrary & known compiler wrappers. --- src/logic/slbt_exec_compile.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/logic/slbt_exec_compile.c') diff --git a/src/logic/slbt_exec_compile.c b/src/logic/slbt_exec_compile.c index cad5bd8..8efa777 100644 --- a/src/logic/slbt_exec_compile.c +++ b/src/logic/slbt_exec_compile.c @@ -43,6 +43,7 @@ static int slbt_exec_compile_finalize_argument_vector( char ** cap; char ** src; char ** dst; + char * ccwrap; /* vector size */ base = ectx->argv; @@ -89,12 +90,17 @@ static int slbt_exec_compile_finalize_argument_vector( } } - /* (program name) */ - dst = &base[1]; + /* program name, ccwrap */ + if ((ccwrap = (char *)dctx->cctx->ccwrap)) { + base[1] = base[0]; + base[0] = ccwrap; + base++; + } /* join all other args */ src = aargv; cap = aarg; + dst = &base[1]; for (; srccctx; @@ -153,7 +160,8 @@ int slbt_exec_compile( } /* compile mode */ - ectx->program = ectx->compiler; + ccwrap = (char *)cctx->ccwrap; + ectx->program = ccwrap ? ccwrap : ectx->compiler; ectx->argv = ectx->cargv; /* -fpic */ -- cgit v1.2.3