public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/14262] New: Structure size computed wrong
@ 2004-02-23 20:14 rbh00 at utsglobal dot com
  2004-02-24  4:58 ` [Bug target/14262] " pinskia at gcc dot gnu dot org
                   ` (22 more replies)
  0 siblings, 23 replies; 24+ messages in thread
From: rbh00 at utsglobal dot com @ 2004-02-23 20:14 UTC (permalink / raw)
  To: gcc-bugs

Here is the recipe for reproducing this problem.  Reproduce it on a gcc built
for the 64-bit s390x architecture.  I am submitting this bug report at the
request of Ulrich Weigand, to whom I sent the email below.

Ulrich asked that if the code worked correctly on SuSE7, gcc 2.95, that I should
mark this bug as a regression,.  But that was a 31-bit system and the code still
works correctly on (31-bit) s390 in gcc 3.2; it appears to be only a 64-bit problem.

Here's the code that demonstrates the problem:

Hi, Ulrich

Here is a program that doesn't execute correctly on Linux SuSE SLES8 for s390x:

/*
* Reproduce the bad compiler code for tpsilo_.c
*/
#define SIGNED signed
typedef SIGNED char   ACS;
typedef SIGNED char   LSM;
typedef char            PANEL;
typedef char            DRIVE;
typedef struct {
   ACS             acs;
   LSM             lsm;
} LSMID;
typedef struct {
   LSMID           lsm_id;
   PANEL           panel;
} PANELID;
typedef struct {
   PANELID         panel_id;
   DRIVE           drive;
} DRIVEID;

void sub(DRIVEID);

main()
{
       DRIVEID driveid;

       printf("Sizeof DRIVEID is %d\n", sizeof(DRIVEID));

       driveid.drive = 1;
       driveid.panel_id.panel = 9;
       driveid.panel_id.lsm_id.lsm = 0;
       driveid.panel_id.lsm_id.acs = 0;
       printf("main() sent this driveid:\n");
       printf("\tacs = %d\n", driveid.panel_id.lsm_id.acs);
       printf("\tlsm = %d\n", driveid.panel_id.lsm_id.lsm);
       printf("\tpanel = %d\n", driveid.panel_id.panel);
       printf("\tdrive = %d\n", driveid.drive);
       printf("The size of driveid is %d\n", sizeof driveid);
       sub(driveid);
}

void
sub(DRIVEID did)
{
       printf("sub() received this driveid:\n");
       printf("\tacs = %d\n", did.panel_id.lsm_id.acs);
       printf("\tlsm = %d\n", did.panel_id.lsm_id.lsm);
       printf("\tpanel = %d\n", did.panel_id.panel);
       printf("\tdrive = %d\n", did.drive);
}




Apparently the fault is in the caller code:  an "lg" is generated, though the
argument structure is 4 bytes long.  Here is the output of gcc -v:

Reading specs from /usr/lib64/gcc-lib/s390x-suse-linux/3.2/specs
Configured with: ../configure --enable-threads=posix --prefix=/usr
--with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man
--libdir=/usr/lib64 --enable-languages=c,c++,f77,objc,java --enable-libgcj
--with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib --with-system-zlib
--enable-shared --enable-__cxa_atexit s390x-suse-linux
Thread model: posix
gcc version 3.2

[snip]

Richard Hitt rbh00@utsglobal.com

-- 
           Summary: Structure size computed wrong
           Product: gcc
           Version: 3.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rbh00 at utsglobal dot com
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: s390x-suse-linux
  GCC host triplet: s390x-suse-linux
GCC target triplet: s390x-suse-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
@ 2004-02-24  4:58 ` pinskia at gcc dot gnu dot org
  2004-03-05 22:01 ` uweigand at gcc dot gnu dot org
                   ` (21 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-02-24  4:58 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c                           |target
           Keywords|                            |wrong-code


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
  2004-02-24  4:58 ` [Bug target/14262] " pinskia at gcc dot gnu dot org
@ 2004-03-05 22:01 ` uweigand at gcc dot gnu dot org
  2004-03-11 22:54 ` cvs-commit at gcc dot gnu dot org
                   ` (20 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: uweigand at gcc dot gnu dot org @ 2004-03-05 22:01 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |uweigand at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-03-05 22:01:47
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
  2004-02-24  4:58 ` [Bug target/14262] " pinskia at gcc dot gnu dot org
  2004-03-05 22:01 ` uweigand at gcc dot gnu dot org
@ 2004-03-11 22:54 ` cvs-commit at gcc dot gnu dot org
  2004-03-12  0:46 ` pinskia at gcc dot gnu dot org
                   ` (19 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-03-11 22:54 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-03-11 22:54 -------
Subject: Bug 14262

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	uweigand@gcc.gnu.org	2004-03-11 22:53:53

Modified files:
	gcc            : ChangeLog calls.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.dg: 20040305-2.c 

Log message:
	PR target/14262
	* calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
	defined, pass small BLKmode values in registers in the low-order part.
	
	* gcc.dg/20040305-2.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.3139&r2=2.3140
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/calls.c.diff?cvsroot=gcc&r1=1.323&r2=1.324
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.3597&r2=1.3598
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/20040305-2.c.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (2 preceding siblings ...)
  2004-03-11 22:54 ` cvs-commit at gcc dot gnu dot org
@ 2004-03-12  0:46 ` pinskia at gcc dot gnu dot org
  2004-03-20  6:08 ` andreast at gcc dot gnu dot org
                   ` (18 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-03-12  0:46 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-03-12 00:46 -------
Fixed for 3.5.0.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |3.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (3 preceding siblings ...)
  2004-03-12  0:46 ` pinskia at gcc dot gnu dot org
@ 2004-03-20  6:08 ` andreast at gcc dot gnu dot org
  2004-03-20  6:57 ` andreast at gcc dot gnu dot org
                   ` (17 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: andreast at gcc dot gnu dot org @ 2004-03-20  6:08 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From andreast at gcc dot gnu dot org  2004-03-20 06:08 -------
This fix to calls.c changes the ABI of darwin. The testcase which fails is in
libffi. cls_3_1byte.c fails now.

Before the patch the alignment looked like this:

0xbffffb08:     0x0c0d0ebe      0xb2b3b4c0

(12, 13, 14 and 178, 179, 180)

The 3 char's where aligned to the left. 

Now with the patch it looks like this:

0xbffffb08:     0x000c0d0e      0x00b2b3b4 


They are right aligned now. 
Though I don't know what is the right way (tm).

I will verify the current behavior of the Apple's system compiler based on 
gcc-3.3.

Either the ABI of darwin is wrong or this change has to be modified that the old
behavior of the darwin ABI is restored.

Further comments comming.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (4 preceding siblings ...)
  2004-03-20  6:08 ` andreast at gcc dot gnu dot org
@ 2004-03-20  6:57 ` andreast at gcc dot gnu dot org
  2004-03-23 19:44 ` andreast at gcc dot gnu dot org
                   ` (16 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: andreast at gcc dot gnu dot org @ 2004-03-20  6:57 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From andreast at gcc dot gnu dot org  2004-03-20 06:57 -------
Ok, here the outstanding test from Apple's system compiler:

[wallstreet:~/test/libffi] andreast% ./cls_3_1byte.exe 
12 13 14 178 179 180: 190 192 194
res: 190 192 194
12 13 14 178 179 180: 190 192 194
res: 190 192 194
[wallstreet:~/test/libffi] andreast% gcc -v
Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs
Thread model: posix
gcc version 3.3 20030304 (Apple Computer, Inc. build 1493)


So, it seems the apple compiler does it the same way as it was before the patch.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (5 preceding siblings ...)
  2004-03-20  6:57 ` andreast at gcc dot gnu dot org
@ 2004-03-23 19:44 ` andreast at gcc dot gnu dot org
  2004-04-09 18:55 ` geoffk at gcc dot gnu dot org
                   ` (15 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: andreast at gcc dot gnu dot org @ 2004-03-23 19:44 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From andreast at gcc dot gnu dot org  2004-03-23 19:43 -------
This patchlet brings darwin back to the old behavior.
Though, it is on other people to decide what's correct.

Thank you. 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (6 preceding siblings ...)
  2004-03-23 19:44 ` andreast at gcc dot gnu dot org
@ 2004-04-09 18:55 ` geoffk at gcc dot gnu dot org
  2004-04-09 19:33 ` andreast at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: geoffk at gcc dot gnu dot org @ 2004-04-09 18:55 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From geoffk at gcc dot gnu dot org  2004-04-09 18:55 -------
The documentation of the Darwin ABI is in <file:///Developer/Documentation/DeveloperTools/
Conceptual/MachORuntime/2rt_powerpc_abi/index.html> on your system if you've installed the 
documentation.  (It's probably available under www.apple.com somewhere, too, but I don't know 
where.)

It says that:
- Values on the stack are aligned the same way as values aligned in registers.
- Structures and arrays get padded to the *left*, that is a 3-byte structure should be preceded by a byte 
of padding

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (7 preceding siblings ...)
  2004-04-09 18:55 ` geoffk at gcc dot gnu dot org
@ 2004-04-09 19:33 ` andreast at gcc dot gnu dot org
  2004-05-23 18:52 ` pinskia at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: andreast at gcc dot gnu dot org @ 2004-04-09 19:33 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From andreast at gcc dot gnu dot org  2004-04-09 19:33 -------
Ok, in the 10.2 docs this part was not in. In 10.3 it is.
Fine. 
Now I should fix the libffi then.
A little bit confused, then the apple gcc is also wrong isn't it?

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (8 preceding siblings ...)
  2004-04-09 19:33 ` andreast at gcc dot gnu dot org
@ 2004-05-23 18:52 ` pinskia at gcc dot gnu dot org
  2004-05-24  2:30 ` geoffk at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-23 18:52 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-05-22 20:55 -------
So is Apple's gcc right or not?  I would like to know soon because there is a regression because of these 
change and I would like to fix all of the regressions before even getting to phase 2 because the number 
of bugs are going up and this looks like it is not changing any time soon, so fix the known regressions 
now will help when we get to phase 3.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andreast at gcc dot gnu dot
                   |                            |org, geoffk at gcc dot gnu
                   |                            |dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (9 preceding siblings ...)
  2004-05-23 18:52 ` pinskia at gcc dot gnu dot org
@ 2004-05-24  2:30 ` geoffk at gcc dot gnu dot org
  2004-05-25 14:44 ` dalej at apple dot com
                   ` (11 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: geoffk at gcc dot gnu dot org @ 2004-05-24  2:30 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From geoffk at gcc dot gnu dot org  2004-05-23 22:55 -------
If Apple's GCC differs from the documentation, then one or the other is wrong, and I'm betting it's the 
compiler not the documentation.  I'm filing Radar 3665235 to track the problem.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (10 preceding siblings ...)
  2004-05-24  2:30 ` geoffk at gcc dot gnu dot org
@ 2004-05-25 14:44 ` dalej at apple dot com
  2004-05-26 14:15 ` dalej at apple dot com
                   ` (10 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: dalej at apple dot com @ 2004-05-25 14:44 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dalej at apple dot com  2004-05-24 17:46 -------
The code consistently left-justifies, and the documentation disagrees, in all shipping Apple 
compilers (2.95, 3.1 and 3.3).  So changing the code would break binary compatibility, 
and IMO we can't do that; we'll need to treat this as a documentation bug, whether it
started that way or not (the discrepancy appears to precede anybody currently working on
the compiler, so nobody knows).  This is not my call alone and I will try to put a definitive
answer here soon.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (11 preceding siblings ...)
  2004-05-25 14:44 ` dalej at apple dot com
@ 2004-05-26 14:15 ` dalej at apple dot com
  2004-06-23 22:08 ` fjahanian at apple dot com
                   ` (9 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: dalej at apple dot com @ 2004-05-26 14:15 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dalej at apple dot com  2004-05-25 23:31 -------
We have a consensus here that the Apple ABI documentation is wrong, and the existing compilers 
(which all agree with each other) are correct.  The actual behavior is weirder than anybody here 
realized:  structs TWO bytes and shorter are right-justified, structs 3 bytes and longer are left-justified.  
Geoff has incompletely quoted the docs, which say structs FOUR bytes and shorter are right-justified.  
Thus, the documentation is wrong only for the size 3 case exactly.  We'll get that fixed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (12 preceding siblings ...)
  2004-05-26 14:15 ` dalej at apple dot com
@ 2004-06-23 22:08 ` fjahanian at apple dot com
  2004-06-24  6:30 ` andreast at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: fjahanian at apple dot com @ 2004-06-23 22:08 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From fjahanian at apple dot com  2004-06-23 20:46 -------
Our (Apple's consensus) is that we will not break ABI compatibility between our gcc3.3 and
our gcc3.5. We will change Apple's ABI documentation to reflect gcc3.3 (and our gcc3.5's)
behaviour. This patch, however, has done two things for apple-ppc-darwin platform.

1 ). It has broken Apple's ABI compatibility when structs are 3 bytes.

2) It has broken following test case, regardless, in the FSF mainline for apple-ppc-darwin.
    Specifically, change to routine load_register_parameters in calls.c has done it.

extern void abort (void);

void bar (int n, int c)
{
  if (c != (char) (0 ^ (n << 3)))
    abort ();
}


typedef struct { char x[3]; } A3;

void foo (int size, ...)
{

        A3 a3;
        __builtin_va_list ap;
        __builtin_va_start(ap,size);

        a3 = __builtin_va_arg(ap,typeof (a3));

        printf("a3.x[0] = %d\n", a3.x[0]);
        bar (3, a3.x[0]);

        __builtin_va_end(ap);

}

int main (void)
{

  A3 a3;
  a3.x[0] = 0 ^ (3 << 3);
  printf("a3.x[0] = %d\n", a3.x[0]);
  foo (21 , a3);
  return 0;
}

[jahan5:sandbox/radars/3702185] fjahania% mygccm5o pr14262.broken.c
[jahan5:sandbox/radars/3702185] fjahania% ./a.out
a3.x[0] = 24
a3.x[0] = 0
Abort

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fjahanian at apple dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (13 preceding siblings ...)
  2004-06-23 22:08 ` fjahanian at apple dot com
@ 2004-06-24  6:30 ` andreast at gcc dot gnu dot org
  2004-06-24 15:58 ` fjahanian at apple dot com
                   ` (7 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: andreast at gcc dot gnu dot org @ 2004-06-24  6:30 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From andreast at gcc dot gnu dot org  2004-06-24 06:17 -------
with the suggested fix from Ulrich in comment #5:

[wolfram:~/home-work] andreast% /Volumes/src/gcc/gcc-cvs/objdir/gcc/xgcc -o
pr14262 -B/Volumes/src/gcc/gcc-cvs/objdir/gcc pr14262.c 
[wolfram:~/home-work] andreast% ./pr14262 
a3.x[0] = 24
a3.x[0] = 24
[wolfram:~/home-work] andreast% 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (14 preceding siblings ...)
  2004-06-24  6:30 ` andreast at gcc dot gnu dot org
@ 2004-06-24 15:58 ` fjahanian at apple dot com
  2004-06-26 18:39 ` cvs-commit at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: fjahanian at apple dot com @ 2004-06-24 15:58 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From fjahanian at apple dot com  2004-06-24 15:56 -------
With patch in comment #5 both the test and the ABI issue is fixed in apple-ppc-darwin.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (15 preceding siblings ...)
  2004-06-24 15:58 ` fjahanian at apple dot com
@ 2004-06-26 18:39 ` cvs-commit at gcc dot gnu dot org
  2004-06-28 15:13 ` uweigand at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-06-26 18:39 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-06-26 18:29 -------
Subject: Bug 14262

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	apple-ppc-branch
Changes by:	fjahanian@gcc.gnu.org	2004-06-26 18:29:44

Modified files:
	gcc            : calls.c 

Log message:
	Fixes regression caused by PR 14262 in FSF mainline.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/calls.c.diff?cvsroot=gcc&only_with_tag=apple-ppc-branch&r1=1.229.2.47.2.5&r2=1.229.2.47.2.6



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (16 preceding siblings ...)
  2004-06-26 18:39 ` cvs-commit at gcc dot gnu dot org
@ 2004-06-28 15:13 ` uweigand at gcc dot gnu dot org
  2004-07-02 19:58 ` dje at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: uweigand at gcc dot gnu dot org @ 2004-06-28 15:13 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From uweigand at gcc dot gnu dot org  2004-06-28 14:50 -------
So does that mean that you feel my patch is the correct solution?

When I proposed the patch, Jim Wilson suggested it might be better to
fix the problem by using PARALLELs in the rs6000 backend, see
http://gcc.gnu.org/ml/gcc-patches/2004-03/msg02338.html

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (17 preceding siblings ...)
  2004-06-28 15:13 ` uweigand at gcc dot gnu dot org
@ 2004-07-02 19:58 ` dje at gcc dot gnu dot org
  2004-07-05 16:01 ` uweigand at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: dje at gcc dot gnu dot org @ 2004-07-02 19:58 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From dje at gcc dot gnu dot org  2004-07-02 19:58 -------
The history is that GCC implemented the AIX ABI incorrectly.  Apple's ABI is
based on the AIX ABI.  The ABI technically is correct, but the Apple system
compiler never conformed to the ABI.  Because Apple cannot break binary
compatibility, it needs to use the old default behavior of GCC as its revised
ABI.  The behavior on AIX and PPC64 Linux have been corrected to conform to
their respective ABIs.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (18 preceding siblings ...)
  2004-07-02 19:58 ` dje at gcc dot gnu dot org
@ 2004-07-05 16:01 ` uweigand at gcc dot gnu dot org
  2004-07-05 16:14 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  22 siblings, 0 replies; 24+ messages in thread
From: uweigand at gcc dot gnu dot org @ 2004-07-05 16:01 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From uweigand at gcc dot gnu dot org  2004-07-05 16:01 -------
So if I understand you correctly the patch was deliberately applied 
only to the Apple branch, and is not actually required on mainline?

What I want to know is whether I should continue to work on this
issue (under the obligation to fix a bug a patch of mine introduced),
or whether any follow-on, if any is in fact required, is a matter of
ppc ABI issues and will be driven by the ppc folks ...

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (19 preceding siblings ...)
  2004-07-05 16:01 ` uweigand at gcc dot gnu dot org
@ 2004-07-05 16:14 ` pinskia at gcc dot gnu dot org
  2004-09-23 18:17 ` pinskia at gcc dot gnu dot org
  2004-10-25  2:35 ` pinskia at gcc dot gnu dot org
  22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-07-05 16:14 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-07-05 16:14 -------
Yes it is still required on the mainline, see PR 15923 for an example of something which is broken still.
Please go and fix the regression any way, either by submitting the patch which is in this PR or any other 
way.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (20 preceding siblings ...)
  2004-07-05 16:14 ` pinskia at gcc dot gnu dot org
@ 2004-09-23 18:17 ` pinskia at gcc dot gnu dot org
  2004-10-25  2:35 ` pinskia at gcc dot gnu dot org
  22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-09-23 18:17 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

* [Bug target/14262] Structure size computed wrong
  2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
                   ` (21 preceding siblings ...)
  2004-09-23 18:17 ` pinskia at gcc dot gnu dot org
@ 2004-10-25  2:35 ` pinskia at gcc dot gnu dot org
  22 siblings, 0 replies; 24+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-10-25  2:35 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-10-25 02:35 -------
The darwin problem has now been fixed by:
2004-10-24  Geoffrey Keating  <geoffk@geoffk.org>

	* config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14262


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2004-10-25  2:35 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-02-23 20:14 [Bug c/14262] New: Structure size computed wrong rbh00 at utsglobal dot com
2004-02-24  4:58 ` [Bug target/14262] " pinskia at gcc dot gnu dot org
2004-03-05 22:01 ` uweigand at gcc dot gnu dot org
2004-03-11 22:54 ` cvs-commit at gcc dot gnu dot org
2004-03-12  0:46 ` pinskia at gcc dot gnu dot org
2004-03-20  6:08 ` andreast at gcc dot gnu dot org
2004-03-20  6:57 ` andreast at gcc dot gnu dot org
2004-03-23 19:44 ` andreast at gcc dot gnu dot org
2004-04-09 18:55 ` geoffk at gcc dot gnu dot org
2004-04-09 19:33 ` andreast at gcc dot gnu dot org
2004-05-23 18:52 ` pinskia at gcc dot gnu dot org
2004-05-24  2:30 ` geoffk at gcc dot gnu dot org
2004-05-25 14:44 ` dalej at apple dot com
2004-05-26 14:15 ` dalej at apple dot com
2004-06-23 22:08 ` fjahanian at apple dot com
2004-06-24  6:30 ` andreast at gcc dot gnu dot org
2004-06-24 15:58 ` fjahanian at apple dot com
2004-06-26 18:39 ` cvs-commit at gcc dot gnu dot org
2004-06-28 15:13 ` uweigand at gcc dot gnu dot org
2004-07-02 19:58 ` dje at gcc dot gnu dot org
2004-07-05 16:01 ` uweigand at gcc dot gnu dot org
2004-07-05 16:14 ` pinskia at gcc dot gnu dot org
2004-09-23 18:17 ` pinskia at gcc dot gnu dot org
2004-10-25  2:35 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).