PATCH 3.3 0203 i386/{i386.c,.... for UnixWare build failure.

rbrown64@csc.com.au rbrown64@csc.com.au
Thu Feb 6 00:47:00 GMT 2003


Apologies - i686-unknown-sysv5UnixWare7.1.0 failed to build from one week
to
the next, now requiring a define for DEFAULT_PCC_STRUCT_RETURN it had
not previously needed. "moving to using" is past my understanding of what
is
happening - I shouldn't have used it.


.../config/i386/i386.c: In function `override_options':
.../config/i386/i386.c:1024: `DEFAULT_PCC_STRUCT_RETURN' undeclared (first
use in this function)

If a value of DEFAULT_PCC_STRUCT_RETURN is needed to initialize
flag_pcc_struct_return would  adding

#ifndef DEFAULT_PCC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 0
#endif

into i386.c (override_options) be acceptable as a patch?





Jan Hubicka <jh@suse.cz> on 06/02/2003 03:22:00

To:    Zack Weinberg <zack@codesourcery.com>
cc:    Jan Hubicka <jh@suse.cz>, Rodney D Brown <rbrown64@csc.com.au>,
       gcc-patches@gcc.gnu.org
Subject:    Re: PATCH 3.3 0203 i386/{i386.c,{i386elf,ptx4-i,sysv4}.h} for
       UnixWare build failure.


> Jan Hubicka <jh@suse.cz> writes:
>
> >> "Rodney D Brown" <rbrown64@csc.com.au> writes:
> >>
> >> > I believe the patch is needed from this change. Jan seems to be
> >> > moving to using DEFAULT_PCC_STRUCT_RETURN over RETURN_IN_MEMORY.
> >>
> >> This is not good.  As I said, DEFAULT_PCC_STRUCT_RETURN is obsolete,
> >> we need to be moving *away* from it.
....

It is not clear to my why I am "moving to using
DEFAULT_PCC_STRUCT_RETURN over RETURN_IN_MEMORY".  I just have to
disable flag_pcc_struct_return for x86-64 that is enabled by default for
Linux. That was the only reason for that change.
I didn't intended to change anything else to be safe.

Currently flag_pcc_struct_return controls the PS-ABI compiliant behaviour
where each structure is returned in memory (used by Linux for instance),
and the "gcc" way of returning small structs in registers (used by BSD).

I agree that it would be cleaner to have this decided in
x86_return_in_memory, but I wanted to first ensure whether you are
discussing some bug I introduced by the change, or future cleanup.





More information about the Gcc-patches mailing list