From 9b226f90938905516f8bb3bd10b1d49ae1493bf3 Mon Sep 17 00:00:00 2001 From: Torbjorn Granlund Date: Thu, 27 Oct 1994 22:50:06 +0000 Subject: [PATCH] (process_command): Don't forget to split -Wl arguments at commas. From-SVN: r8350 --- gcc/gcc.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/gcc/gcc.c b/gcc/gcc.c index 6cda9fc2c7c..f9ab8f4c964 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -2583,7 +2583,12 @@ process_command (argc, argv) /* The +e options to the C++ front-end. */ n_switches++; else if (strncmp (argv[i], "-Wl,", 4) == 0) - n_infiles++; + { + int j; + /* Split the argument at commas. */ + for (j = 3; argv[i][j]; j++) + n_infiles += (argv[i][j] == ','); + } else if (strcmp (argv[i], "-Xlinker") == 0) { if (i + 1 == argc) @@ -2794,8 +2799,20 @@ process_command (argc, argv) } else if (strncmp (argv[i], "-Wl,", 4) == 0) { + int prev, j; + /* Split the argument at commas. */ + prev = 4; + for (j = 4; argv[i][j]; j++) + if (argv[i][j] == ',') + { + infiles[n_infiles].language = spec_lang; + infiles[n_infiles++].name + = save_string (argv[i] + prev, j - prev); + prev = j + 1; + } + /* Record the part after the last comma. */ infiles[n_infiles].language = spec_lang; - infiles[n_infiles++].name = argv[i] + 4; + infiles[n_infiles++].name = argv[i] + prev; } else if (strcmp (argv[i], "-Xlinker") == 0) { -- 2.30.2