PATCH: Updated version of x86_64-pc-mingw32 support of gcc.

Jan Hubicka
Fri Mar 16 18:57:00 GMT 2007

> Paolo Bonzini <> wrote on 16.03.2007 13:48:59:
> > Can you please put patches inline?  I will then review the build parts.
> Ok, here we are:
>         * gcc/expr.c (OUTGOING_REG_PARM_STACK_SPACE): Changed definition 
> and clauses
>         * gcc/function.c (OUTGOING_REG_PARM_STACK_SPACE): Ditto
>         * gcc/calls.c (OUTGOING_REG_PARM_STACK_SPACE): Ditto
>         * gcc/config/iq2000/iq2000.h (OUTGOING_REG_PARM_STACK_SPACE): 
> Ditto
>         * gcc/config/mips/mips.h (OUTGOING_REG_PARM_STACK_SPACE): Ditto
>         * gcc/config/mn10300/mn10300.h (OUTGOING_REG_PARM_STACK_SPACE): 
> Ditto
>         * gcc/config/mt/mt.h (OUTGOING_REG_PARM_STACK_SPACE): Ditto
>         * gcc/config/pa/pa.h (OUTGOING_REG_PARM_STACK_SPACE): Ditto
>         * gcc/config/rs6000/rs6000.h (OUTGOING_REG_PARM_STACK_SPACE): 
> Ditto
>         * gcc/config/score/score.h (OUTGOING_REG_PARM_STACK_SPACE): Ditto
>         * gcc/config/spu/spu.h (OUTGOING_REG_PARM_STACK_SPACE): Ditto
>         * gcc/config/v850/v850.h (OUTGOING_REG_PARM_STACK_SPACE): Ditto
>         * gcc/unwind-generic.h (_uleb128_t): Adjust type for win64 target
>           (_sleb128_t): Ditto
>         * gcc/doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Adjust 
> documentation

This is independent cleanup (ie the MSABI bits are incremental on this).
It would help if you submited it separately, so I can review the i386
bits and middle end maintainer can do the OUTGOING_REG_PARM_STACK_SPACE

Please also submit a patch with diffed with -Nc3p, so one can see names
of functionons in the individual hunks.

Just from a quick glance:

> -       ix86_cmodel = flag_pic ? CM_SMALL_PIC : CM_SMALL;
> +       ix86_cmodel = (TARGET_64BIT_MS_ABI ? (flag_pic ? CM_MEDIUM_PIC : 
> CM_MEDIUM) : (flag_pic ? CM_SMALL_PIC : CM_SMALL));

The ix86_cmodel is there to handle varoius ABI derrivations,
perhaps we can use it for MS abi as well?  Ie add CM_MSABI.
The MS ABI can then be available with -mcmodel=msabi for projects such
as wine.

It is a long time I last time checked the Microsoft's SPECs, but the ABI
is quite different, so this might be safer too - the constraints of
individual code models are bit arbitrary and I doubt Microsoft picked
precesly the same.

What is the most detailed reference to SPECs of MS ABI I can take a look
at?  It would help if there was some summary of changes in between those
two, but I guess I am out of luck here ;)

Also what is the status of your FSF paperwork?

Thanks for the hard work!

More information about the Gcc-patches mailing list