Mercurial > hg > aboriginal
changeset 684:222886c9b3f5
Fix wrapper so it doesn't misinterpret -static-libgcc as -static.
author | Rob Landley <rob@landley.net> |
---|---|
date | Wed, 01 Apr 2009 00:06:08 -0500 |
parents | 3c09987974c8 |
children | 90ab1a1f4db5 |
files | sources/toys/ccwrap.c |
diffstat | 1 files changed, 5 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/sources/toys/ccwrap.c Tue Mar 31 14:43:11 2009 -0500 +++ b/sources/toys/ccwrap.c Wed Apr 01 00:06:08 2009 -0500 @@ -20,7 +20,6 @@ #include <sys/wait.h> static char *topdir; -static char static_linking[] = "-static"; static char nostdinc[] = "-nostdinc"; static char nostartfiles[] = "-nostartfiles"; static char nodefaultlibs[] = "-nodefaultlibs"; @@ -248,7 +247,7 @@ break; case 's': - if (strstr(argv[i],static_linking)) use_static_linking = 1; + if (!strcmp(argv[i],"-static")) use_static_linking = 1; if (!strcmp("-shared",argv[i])) { use_start = 0; use_shared = 1; @@ -257,7 +256,8 @@ case 'W': /* -static could be passed directly to ld */ if (!strncmp("-Wl,",argv[i],4)) { - if (strstr(argv[i],static_linking)) + char *temp = strstr(argv[i], ",-static"); + if (temp && (!temp[7] || temp[7]==',')) use_static_linking = 1; if (strstr(argv[i],"--dynamic-linker")) dlstr = 0; } @@ -327,7 +327,7 @@ if (!strncmp(argv[i],"--print-",8)) { argv[i]++; goto wow_this_sucks; - } else if (strstr(argv[i]+1, static_linking)) { + } else if (!strcmp(argv[i], "--static")) { use_static_linking = 1; argv[i] = 0; } else if (!strcmp("--version", argv[i])) { @@ -362,7 +362,7 @@ // gcc_argv[argcnt++] = "-Wl,-elf2flt"; //#endif gcc_argv[argcnt++] = nostdlib; - if (use_static_linking) gcc_argv[argcnt++] = static_linking; + if (use_static_linking) gcc_argv[argcnt++] = "-static"; else if (dlstr) gcc_argv[argcnt++] = dlstr; for (i=0; i<lplen; i++) if (libpath[i]) gcc_argv[argcnt++] = libpath[i];