public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/20622] New: [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64
@ 2005-03-24 14:20 jakub at gcc dot gnu dot org
  2005-03-24 14:52 ` [Bug middle-end/20622] " pinskia at gcc dot gnu dot org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-03-24 14:20 UTC (permalink / raw)
  To: gcc-bugs

/* { dg-do run } */
/* { dg-require-alias "" } */
/* { dg-options "-O2" } */

extern void abort (void);

int foo __asm__ ("foo") __attribute__((nocommon));
extern __typeof (foo) bar __attribute__ ((weak, alias ("foo")));

int
main (void)
{
  if (&foo != &bar || foo || bar)
    abort ();
  return bar;
}

results in gas looping forever.  That is of course also gas bug, but the output
from GCC for this testcase is wrong on all the architectures I tried.

The important part of ppc64 assembly is:
        .weak   bar
        .lcomm  bar,4,4
        .type   bar, @object
        .globl foo
        .lcomm  foo,4,4
        .type   foo, @object
        .weak   bar
        .set    bar,foo
        .weak   bar
        .set    bar,foo

Note that although bar is just an alias and thus bar should be seen in the
assembly only in its uses, .weak bar and .set bar,foo, not as a separate
variable later on aliased to foo (and not twice either).

-- 
           Summary: [4.0/4.1 Regression] Alias to nocommon variable fails to
                    assemble on ppc64
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: ppc64-linux


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


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

* [Bug middle-end/20622] [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64
  2005-03-24 14:20 [Bug middle-end/20622] New: [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64 jakub at gcc dot gnu dot org
@ 2005-03-24 14:52 ` pinskia at gcc dot gnu dot org
  2005-03-24 15:34 ` jakub at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-03-24 14:52 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rth at gcc dot gnu dot org
           Keywords|                            |wrong-code
   Target Milestone|---                         |4.0.0


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


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

* [Bug middle-end/20622] [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64
  2005-03-24 14:20 [Bug middle-end/20622] New: [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64 jakub at gcc dot gnu dot org
  2005-03-24 14:52 ` [Bug middle-end/20622] " pinskia at gcc dot gnu dot org
@ 2005-03-24 15:34 ` jakub at gcc dot gnu dot org
  2005-03-24 18:13 ` pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-03-24 15:34 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jakub at gcc dot gnu dot org  2005-03-24 15:33 -------
Created an attachment (id=8449)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=8449&action=view)
pr20622 patch

Here is patch I'm playing ATM with.  It fixes the bug for me and passes
gcc.dg testsuite on x86-64.

-- 


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


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

* [Bug middle-end/20622] [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64
  2005-03-24 14:20 [Bug middle-end/20622] New: [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64 jakub at gcc dot gnu dot org
  2005-03-24 14:52 ` [Bug middle-end/20622] " pinskia at gcc dot gnu dot org
  2005-03-24 15:34 ` jakub at gcc dot gnu dot org
@ 2005-03-24 18:13 ` pinskia at gcc dot gnu dot org
  2005-03-24 18:55 ` mmitchel at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-03-24 18:13 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-03-24 18:12:55
               date|                            |


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


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

* [Bug middle-end/20622] [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64
  2005-03-24 14:20 [Bug middle-end/20622] New: [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64 jakub at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2005-03-24 18:13 ` pinskia at gcc dot gnu dot org
@ 2005-03-24 18:55 ` mmitchel at gcc dot gnu dot org
  2005-03-29 15:38 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2005-03-24 18:55 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From mmitchel at gcc dot gnu dot org  2005-03-24 18:55 -------
This patch looks fine.  Unless you get objections in 24 hours, please check in
to 4.0 and mainline.  Thanks!

-- 


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


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

* [Bug middle-end/20622] [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64
  2005-03-24 14:20 [Bug middle-end/20622] New: [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64 jakub at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2005-03-24 18:55 ` mmitchel at gcc dot gnu dot org
@ 2005-03-29 15:38 ` cvs-commit at gcc dot gnu dot org
  2005-03-29 15:41 ` cvs-commit at gcc dot gnu dot org
  2005-03-29 15:45 ` jakub at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-03-29 15:38 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-03-29 15:37 -------
Subject: Bug 20622

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	jakub@gcc.gnu.org	2005-03-29 15:37:29

Modified files:
	gcc            : ChangeLog varasm.c cgraph.c cgraph.h toplev.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.dg: alias-7.c 

Log message:
	PR middle-end/20622
	* cgraph.h (struct cgraph_varpool_node): Add alias field.
	* cgraph.c (cgraph_varpool_assemble_pending_decls): Don't call
	assemble_variable on aliases.
	* varasm.c (assemble_alias): Set node->alias.
	* toplev.c (wrapup_global_declarations): Don't call
	rest_of_decl_compilation on aliases again.
	
	* gcc.dg/alias-7.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.8011&r2=2.8012
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/varasm.c.diff?cvsroot=gcc&r1=1.487&r2=1.488
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cgraph.c.diff?cvsroot=gcc&r1=1.68&r2=1.69
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cgraph.h.diff?cvsroot=gcc&r1=1.46&r2=1.47
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gcc&r1=1.948&r2=1.949
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.5230&r2=1.5231
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/alias-7.c.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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


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

* [Bug middle-end/20622] [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64
  2005-03-24 14:20 [Bug middle-end/20622] New: [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64 jakub at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2005-03-29 15:38 ` cvs-commit at gcc dot gnu dot org
@ 2005-03-29 15:41 ` cvs-commit at gcc dot gnu dot org
  2005-03-29 15:45 ` jakub at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-03-29 15:41 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-03-29 15:41 -------
Subject: Bug 20622

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-4_0-branch
Changes by:	jakub@gcc.gnu.org	2005-03-29 15:41:04

Modified files:
	gcc            : ChangeLog varasm.c cgraph.c cgraph.h toplev.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.dg: alias-7.c 

Log message:
	PR middle-end/20622
	* cgraph.h (struct cgraph_varpool_node): Add alias field.
	* cgraph.c (cgraph_varpool_assemble_pending_decls): Don't call
	assemble_variable on aliases.
	* varasm.c (assemble_alias): Set node->alias.
	* toplev.c (wrapup_global_declarations): Don't call
	rest_of_decl_compilation on aliases again.
	
	* gcc.dg/alias-7.c: New test.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=2.7592.2.88&r2=2.7592.2.89
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/varasm.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.477.6.4&r2=1.477.6.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cgraph.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.64.8.2&r2=1.64.8.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cgraph.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.44.8.1&r2=1.44.8.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.944.2.1&r2=1.944.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.73&r2=1.5084.2.74
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/alias-7.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1



-- 


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


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

* [Bug middle-end/20622] [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64
  2005-03-24 14:20 [Bug middle-end/20622] New: [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64 jakub at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2005-03-29 15:41 ` cvs-commit at gcc dot gnu dot org
@ 2005-03-29 15:45 ` jakub at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: jakub at gcc dot gnu dot org @ 2005-03-29 15:45 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jakub at gcc dot gnu dot org  2005-03-29 15:44 -------
Fixed in CVS.

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


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


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

end of thread, other threads:[~2005-03-29 15:45 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-24 14:20 [Bug middle-end/20622] New: [4.0/4.1 Regression] Alias to nocommon variable fails to assemble on ppc64 jakub at gcc dot gnu dot org
2005-03-24 14:52 ` [Bug middle-end/20622] " pinskia at gcc dot gnu dot org
2005-03-24 15:34 ` jakub at gcc dot gnu dot org
2005-03-24 18:13 ` pinskia at gcc dot gnu dot org
2005-03-24 18:55 ` mmitchel at gcc dot gnu dot org
2005-03-29 15:38 ` cvs-commit at gcc dot gnu dot org
2005-03-29 15:41 ` cvs-commit at gcc dot gnu dot org
2005-03-29 15:45 ` jakub 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).