--- Comment #29 from chaoyingfu at gcc dot gnu dot org 2006-11-30 19:25
---
Subject: Bug 23067
Author: chaoyingfu
Date: Thu Nov 30 19:24:37 2006
New Revision: 119373
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119373
Log:
Merged revisions 118337-118377 via svnmerge from
svn
--- Comment #28 from geoffk at gcc dot gnu dot org 2006-11-01 05:39 ---
All these testcases are now fixed. I don't promise that the two compilers have
exactly the same ABI, especially for C++, but the testcases pass.
--
geoffk at gcc dot gnu dot org changed:
What|Rem
--- Comment #27 from pinskia at gcc dot gnu dot org 2006-11-01 05:33
---
I think this patch just broke structs with vectors in them.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23067
--- Comment #26 from geoffk at gcc dot gnu dot org 2006-11-01 05:28 ---
Subject: Bug 23067
Author: geoffk
Date: Wed Nov 1 05:28:41 2006
New Revision: 118365
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118365
Log:
In gcc/:
PR 23067
* c-decl.c (start_struct): D
--
geoffk at gcc dot gnu dot org changed:
What|Removed |Added
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23067
--
geoffk at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |geoffk at gcc dot gnu dot
|dot org
--- Comment #25 from geoffk at gcc dot gnu dot org 2006-10-16 21:46 ---
*** Bug 25630 has been marked as a duplicate of this bug. ***
--
geoffk at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #24 from pinskia at gcc dot gnu dot org 2005-12-31 22:21
---
/* { dg-require-effective-target ilp32 } */
That is required for the testcases by the way to make sure that they are only
run on the 32bit powerpc-darwin.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23067
--- Comment #23 from pinskia at gcc dot gnu dot org 2005-12-14 20:10
---
(In reply to comment #22)
> struct a{long long t; int i;};
> struct f{int tt; struct a d; int t;};
This one is still wrong after the (updated) patch in comment #20.
The size which Apple's GCC gives is 24 but the
--- Comment #22 from pinskia at gcc dot gnu dot org 2005-12-14 02:50
---
Here is a couple more structs which FSF's GCC gets wrong:
struct f{int c; struct {long long t;}; d;};
---
struct a{int tt; long long t; int i;};
struct f{int tt; struct a d; int t;};
struct a{long long t; int
--- Comment #21 from pinskia at gcc dot gnu dot org 2005-10-06 18:40
---
Libffi's failure info from Andreas T.:
The chunk form ffi_darwin.c has to be applied three times. Attached.
Although, with this modification I get a fail but it looks much better.
andreast% ./nested_struct3.exe
--- Comment #20 from pinskia at gcc dot gnu dot org 2005-10-06 18:37
---
I give up, 3 days no luck at getting this correct.
The current patch follows:
Index: src/powerpc/ffi_darwin.c
===
RCS file: /cvs/gcc/gcc/libffi/src/p
--- Comment #19 from pinskia at gcc dot gnu dot org 2005-10-05 15:21
---
(In reply to comment #18)
> This is because libffi gets the alignment wrong. I have to look into libffi's
> code.
And I have a fix for that too.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23067
--- Comment #18 from pinskia at gcc dot gnu dot org 2005-10-05 15:06
---
The patch causes the following failures:
FAIL: libffi.call/nested_struct3.c execution test
This is because libffi gets the alignment wrong. I have to look into libffi's
code.
--
http://gcc.gnu.org/bugzilla/
--- Comment #17 from pinskia at gcc dot gnu dot org 2005-10-04 19:49
---
Need to retest, I was compiling with a bad version of 4.1 which causes us to
fail with some varargs.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23067
--- Comment #16 from pinskia at gcc dot gnu dot org 2005-10-04 03:05
---
Created an attachment (id=9867)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9867&action=view)
Patch which I am testing
This is the correct version of your patch which does not effect AIX or
PPC64-linux (wi
--- Comment #15 from pinskia at gcc dot gnu dot org 2005-10-04 02:43
---
I am going to fix this tonight.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
--- Additional Comments From dje at gcc dot gnu dot org 2005-07-27 15:48
---
The AIX and PowerOpen ABIs specify doubleword alignment for long long ints in
32-bit mode and FSF GCC always has implemented this for all AIX-derived ABIs.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=2306
--- Additional Comments From sabre at nondot dot org 2005-07-26 17:46
---
Corrected patch:
http://gcc.gnu.org/ml/gcc-patches/2005-07/msg01736.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23067
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-26
17:42 ---
Also the patch needs a testcase or two.
For an example:
/* { dg-do compile { powerpc*-darwin* } } */
struct f
{
long long ll;
int i;
};
int f[sizeof(struct f)!=16?-1:1];
---
/* { dg-do compile { po
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-26
17:37 ---
Patch does not get the following correct:
struct f
{
long long i;
int j;
};
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23067
--- Additional Comments From sabre at nondot dot org 2005-07-26 17:35
---
Potential patch:
http://gcc.gnu.org/ml/gcc-patches/2005-07/msg01732.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23067
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-26
13:14 ---
Confirmed based on what Apple's GCC does and what Geoff said.
--
What|Removed |Added
--- Additional Comments From sabre at nondot dot org 2005-07-26 04:49
---
The ABI clearly states that the maximum alignment for non-initial structure
elements is 32-bits.
-Chris
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23067
--- Additional Comments From geoffk at gcc dot gnu dot org 2005-07-26
03:17 ---
Doesn't matter if the printed docs differ; Apple's GCC sets the ABI for Darwin.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23067
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-26
02:36 ---
Looks like the ABI in darwin.h is just a copy of the one in aix.h which might
mean this was on purpose
and Apple's GCC is wrong.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23067
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-26
02:32 ---
The comment in darwin.h seems to contradict what is here:
/* Darwin word-aligns FP doubles but doubleword-aligns 64-bit ints. */
/* Darwin increases natural record alignment to doubleword if the first
fi
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-26
02:29 ---
The ABI is here:
http://developer.apple.com/documentation/DeveloperTools/Conceptual/PowerPCRuntime/Data/
chapter_2_section_3.html#//apple_ref/doc/uid/TP40001520-CH210-BCIFEEFG
--
http://gcc.gnu.org/bugzi
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-26
02:27 ---
FSF's gcc has always got this wrong. Apple's 3.3 gcc got this right. I don't
know what is correct or not.
--
What|Removed |Added
--
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-26
02:15 ---
Not a regression in FSF's gcc.
--
What|Removed |Added
Keywords|
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-26
02:07 ---
I don't think the ABI says this. I think it only mentions double.
--
What|Removed |Added
31 matches
Mail list logo