This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: A tricky problem
On 2018-05-02 18:47 +0800, yiliang chen wrote:
> hi, When I compile Gcc with MSYS2 on Windows.I have encountered a thorny
> issue.
>
> In order to output the Intel assembly file by default, I modified the
> gcc/config/i386/i386.opt file as follows
>
> masm=
> Target RejectNegative Joined Enum(asm_dialect) Var(ix86_asm_dialect)
> Init(ASM_INTEL)
> Use given assembler dialect.
>
> however, An error occurred when compiling to
> libgcc/config/i386/sfp-exceptions.c
> file, it tell me :
>
> C:\MSYS\MSYS32\tmp\cctIKXUx.s: Assembler messages:
> C:\MSYS\MSYS32\tmp\cctIKXUx.s:69: Error: no such instruction: `fdivs DWORD
> PTR [esp]'
> C:\MSYS\MSYS32\tmp\cctIKXUx.s:135: Error: no such instruction: `fdivs DWORD
> PTR [esp]'
>
> I checked Intel's developer's manual,I can't find a description of this
> directive. So I want to know what's going on.
"fdivs" should be "fdiv" in intel dialect.
This instruction is in an inline assembly statement
(libgcc/config/i386/sfp-exceptions.c:103). GCC don't know how to convert it
to Intel dialect.
Try to modify GCC building system, add "-masm=att" in bootstrapping.
--
Xi Ruoyao <ryxi@stu.xidian.edu.cn>
School of Aerospace Science and Technology, Xidian University