[Bug driver/41024] driver passes wrong parameter to as
--- Comment #2 from ktietz at gcc dot gnu dot org 2009-09-05 10:02 --- (In reply to comment #1) It's because of this in gcc/config/i386/mingw-w64.h: #define ASM_SPEC %{v:-V} %{n} %{T} %{Ym,*} %{Yd,*} \ %{Wa,*:%*} %{m32:--32} %{m64:--64} The %{v:-V} part is what's triggering what you see. Now, the question is why is your as rejecting the -V option? My linux as accepts it, my darwin as also, but i586-pc-mingw32-as doesn't... After further investigation, it seems that handling the option -V on i386 processors is only done for ELF targets; can't even begin to think of a good reason for that, but that's what gas source code says. So, I recommend the following (untested) patch to GCC: Index: gcc/config/i386/mingw-w64.h === --- gcc/config/i386/mingw-w64.h (revision 151373) +++ gcc/config/i386/mingw-w64.h (working copy) @@ -36,7 +36,7 @@ /* Enable multilib. */ #undef ASM_SPEC -#define ASM_SPEC %{v:-V} %{n} %{T} %{Ym,*} %{Yd,*} \ +#define ASM_SPEC %{v} %{n} %{T} %{Ym,*} %{Yd,*} \ %{Wa,*:%*} %{m32:--32} %{m64:--64} #if TARGET_64BIT_DEFAULT Ok, could you sent a patch for it. It is pre-approved by me. Thanks, Kai -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41024
[Bug driver/41024] driver passes wrong parameter to as
--- Comment #3 from fxcoudert at gcc dot gnu dot org 2009-09-05 10:14 --- (In reply to comment #2) Ok, could you sent a patch for it. It is pre-approved by me. I can't test it, have you? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41024
[Bug driver/41024] driver passes wrong parameter to as
--- Comment #4 from ktietz at gcc dot gnu dot org 2009-09-05 11:20 --- (In reply to comment #3) (In reply to comment #2) Ok, could you sent a patch for it. It is pre-approved by me. I can't test it, have you? I am retesting it. I think {v:-v} is better here. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41024
[Bug driver/41024] driver passes wrong parameter to as
--- Comment #5 from ktietz at gcc dot gnu dot org 2009-09-05 13:14 --- I am retesting it. I think {v:-v} is better here. This patch works fine. Could you post a patch for it. It is pre-approved. Thanks, Kai Index: mingw-w64.h === --- mingw-w64.h (revision 151421) +++ mingw-w64.h (working copy) @@ -36,7 +36,7 @@ /* Enable multilib. */ #undef ASM_SPEC -#define ASM_SPEC %{v:-V} %{n} %{T} %{Ym,*} %{Yd,*} \ +#define ASM_SPEC %{v:-v} %{n} %{T} %{Ym,*} %{Yd,*} \ %{Wa,*:%*} %{m32:--32} %{m64:--64} #if TARGET_64BIT_DEFAULT -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41024
[Bug driver/41024] driver passes wrong parameter to as
--- Comment #6 from fxcoudert at gcc dot gnu dot org 2009-09-05 14:14 --- Subject: Bug 41024 Author: fxcoudert Date: Sat Sep 5 14:14:28 2009 New Revision: 151450 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=151450 Log: PR target/41024 * config/i386/mingw-w64.h (ASM_SPEC): Pass -v instead of -V to the assembler. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/mingw-w64.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41024
[Bug driver/41024] driver passes wrong parameter to as
--- Comment #1 from fxcoudert at gcc dot gnu dot org 2009-09-03 14:40 --- It's because of this in gcc/config/i386/mingw-w64.h: #define ASM_SPEC %{v:-V} %{n} %{T} %{Ym,*} %{Yd,*} \ %{Wa,*:%*} %{m32:--32} %{m64:--64} The %{v:-V} part is what's triggering what you see. Now, the question is why is your as rejecting the -V option? My linux as accepts it, my darwin as also, but i586-pc-mingw32-as doesn't... After further investigation, it seems that handling the option -V on i386 processors is only done for ELF targets; can't even begin to think of a good reason for that, but that's what gas source code says. So, I recommend the following (untested) patch to GCC: Index: gcc/config/i386/mingw-w64.h === --- gcc/config/i386/mingw-w64.h (revision 151373) +++ gcc/config/i386/mingw-w64.h (working copy) @@ -36,7 +36,7 @@ /* Enable multilib. */ #undef ASM_SPEC -#define ASM_SPEC %{v:-V} %{n} %{T} %{Ym,*} %{Yd,*} \ +#define ASM_SPEC %{v} %{n} %{T} %{Ym,*} %{Yd,*} \ %{Wa,*:%*} %{m32:--32} %{m64:--64} #if TARGET_64BIT_DEFAULT -- fxcoudert at gcc dot gnu dot org changed: What|Removed |Added CC||fxcoudert at gcc dot gnu dot ||org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||patch Last reconfirmed|-00-00 00:00:00 |2009-09-03 14:40:55 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41024