Commit 9b226f90 by Torbjorn Granlund

(process_command): Don't forget to split -Wl arguments at commas.

From-SVN: r8350
parent 368dfd3a
...@@ -2583,7 +2583,12 @@ process_command (argc, argv) ...@@ -2583,7 +2583,12 @@ process_command (argc, argv)
/* The +e options to the C++ front-end. */ /* The +e options to the C++ front-end. */
n_switches++; n_switches++;
else if (strncmp (argv[i], "-Wl,", 4) == 0) 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) else if (strcmp (argv[i], "-Xlinker") == 0)
{ {
if (i + 1 == argc) if (i + 1 == argc)
...@@ -2794,8 +2799,20 @@ process_command (argc, argv) ...@@ -2794,8 +2799,20 @@ process_command (argc, argv)
} }
else if (strncmp (argv[i], "-Wl,", 4) == 0) 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].language = spec_lang;
infiles[n_infiles++].name = argv[i] + 4; infiles[n_infiles++].name = argv[i] + prev;
} }
else if (strcmp (argv[i], "-Xlinker") == 0) else if (strcmp (argv[i], "-Xlinker") == 0)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment