This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: ABI breakage in 3.2.1, 3.3 and mainline
- From: Loren James Rittle <rittle at latour dot rsch dot comm dot mot dot com>
- To: gcc at gcc dot gnu dot org
- Cc: pfeifer at dbai dot tuwien dot ac dot at
- Date: Fri, 31 Jan 2003 20:49:40 -0600 (CST)
- Subject: Re: ABI breakage in 3.2.1, 3.3 and mainline
- Organization: Networks and Infrastructure Lab (IL02/2240), Motorola Labs
- References: <20030130233456.GD15049@kam.mff.cuni.cz>
>>> I created PR/9506 which also has a small testcase.
>> I assumed that DEFAULT_PCC_STRUCT_RETURN is handled by toplev.c [...]
>> * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
> Thanks! I noticed that you committed the testcase to 3.2, 3.3, and
> mainline, and the fix to 3.2 and mainline, but apparently not 3.3 yet.
> Was this intentional?
You have Eagle eyes. I am to blame for this. I committed it, at the
request of Gabriel. The test against mainline and the 3.2 branch has
completed, thus I installed it there ASAP (in the hopes of hitting the
next 3.2.2 prerelease). The test against 3.3 hasn't completed yet,
thus I haven't installed it there yet. I know it looks like a trivial
patch; but I don't chance anything without the bootstrap/check
anymore.
> Also, it seems even with your patch we ignore DEFAULT_PCC_STRUCT_RETURN
> for 64bit targets -- is this right resp. correct?
I can't answer this part; other than to say that, at the point of
Jan's change, there were no 64 bit ABIs for IA32.
> Finally, I believe we need to provide a list of targets where the ABI was
> broken with GCC 3.2.1 (and now restored with GCC 3.2.2). Would you
> mind providing such a list which I will then add to the release notes?
To get an exact list will be difficult. Here is my best effort
of broken ports based on config directory snippets:
cygwin/i386
freebsd/i386 (although, please explicitly mention that the FreeBSD 5.0
release, which used gcc 3.2.1, was OK)
interix/i386
linux-aout/i386
mach/i386
netbsd-aout/i386
openbsd/i386
darwin/i386
The list of known OK i386 ports:
beos-elf/i386
linux/i386
netbsd-elf/i386