3.4 PATCH: Consistently use _ABIO32 for _MIPS_SIM

David Daney ddaney@avtrex.com
Mon Oct 20 16:24:00 GMT 2003


Making a clean break with tradition, I am going to start right hear at 
the top of this message!

Building mipsel-linux targets has now been broken for quite a while.  We 
should either apply this, or backout the changes that made it necessary.

As things stand now no further patches for mipsel-linux can be 
contemplated as building and testing are impossible.

David Daney.


Rainer Orth wrote:

>Alexandre Oliva writes:
>
>sorry for the late reply: start of term is taking most of my time.
>
>  
>
>>On Oct  9, 2003, Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> wrote:
>>
>>    
>>
>>>* config/mips/{iris6.h, linux.h} used to define _MIPS_SIM for the O32 ABI
>>>  in terms of another macro not defined by gcc itself (or SGI's MIPSpro C,
>>>  for that matter), namely _MIPS_SIM_ABI32.
>>>      
>>>
>>My understanding is that this made things backward-compatible.  Even
>>if your sgidefs.h doesn't define _MIPS_SIM_ABI32 (because it pre-dates
>>the existence of multiple ABIs), they will still compare equal.  If
>>    
>>
>
>But do any such systems exist and do we still care for them?  Even IRIX 5.3
>(which is quite ancient by todays standards) defines _MIPS_SIM in terms of
>_ABIO32 and has _MIPS_SIM_ABI32=1 in <sgidefs.h>.
>
>  
>
>>your code is written with multiple ABIs in mind, it's entitled to
>>require _MIPS_SIM to be defined to non-zero, after including
>><sgidefs.h>.
>>
>>If your proposal still guarantees this set of assumptions, I don't
>>have any problem with it.
>>    
>>
>
>I'm not sure i really get what you mean: consider this input:
>
>#if _MIPS_SIM == _MIPS_SIM_ABI32
>O32 with "_MIPS_SIM_ABI32"
>#endif
>
>#if _MIPS_SIM == _ABIO32
>O32 with "_ABIO32"
>#endif
>
>Right now, with -D_MIPS_SIM=_MIPS_SIM_ABI32 only (i.e. _MIPS_SIM_ABI32 and
>_ABIO32 undefined), you get
>
>O32 with "_MIPS_SIM_ABI32"
>O32 with "_ABIO32"
>
>because both undefined macros evaluate to 0.
>
>With my proposed patch (-D_MIPS_SIM=_ABIO32 -D_ABIO32=1) and without
><sgidefs.h> (i.e. _MIPS_SIM_ABI32 undefined), you get
>
>O32 with "_ABIO32"
>
>But it is simply wrong to use _MIPS_SIM without <sgidefs.h>, so you get
>what you deserve ;-(
>
>With my proposed patch and <sgidefs.h> (i.e. _MIPS_SIM_ABI32 defined), you
>get again
>
>O32 with "_MIPS_SIM_ABI32"
>O32 with "_ABIO32"
>
>	Rainer
>  
>




More information about the Java-patches mailing list