public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/15566] New: Cross-compile ppc64 compile never finishes
@ 2004-05-22 18:09 judith at osdl dot org
  2004-05-22 18:19 ` [Bug c/15566] " pinskia at gcc dot gnu dot org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: judith at osdl dot org @ 2004-05-22 18:09 UTC (permalink / raw)
  To: gcc-bugs

The compiler is built with glibc-2.3.2 and binutils-2.25.1.

I am compiling the linux kernel 2.6.6, but for some kernels (2.6.6-mm4) the
posix-timers.c object will not compile.  the 'cc1' process spins forever using
100% user of a CPU.  The 'as' process tries to 'read(0,' forever, and the parent
process is in 'wait4' for the cc1 process id.


Error Output (Only occurs once I kill process, which would loop forever):

  powerpc64-unknown-linux-gnu-gcc -m64 -Wp,-MD,kernel/.posix-timers.o.d
-nostdinc -iwithprefix include -D__KERNEL__ -Iinclude  -Wall -Wstrict-prototypes
-Wno-trigraphs -fno-strict-aliasing -fno-common -msoft-float -pipe
-Wno-uninitialized -mminimal-toc -mtraceback=none -mtune=power4 -funit-at-a-time
-O2 -Wdeclaration-after-statement    -DKBUILD_BASENAME=posix_timers
-DKBUILD_MODNAME=posix_timers -c -o kernel/posix-timers.o kernel/posix-timers.c
powerpc64-unknown-linux-gnu-gcc: {standard input}: Assembler messages:
{standard input}:0: Warning: end of file not at end of a line; newline inserted
{standard input}:281: Error: character following name is not '#'
Internal error: Terminated (program cc1)
Please submit a full bug report.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
make[1]: [kernel/posix-timers.o] Error 1 (ignored)



gcc -v output:
Configured with:
/var/crosstool-0.28-rc13/build/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/gcc-3.4.0/configure
--target=powerpc64-unknown-linux-gnu --host=i686-host_pc-linux-gnu
--prefix=/var/crosstool-0.28-rc13/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2
--disable-multilib
--with-sysroot=/var/crosstool-0.28-rc13/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/powerpc64-unknown-linux-gnu/sys-root
--with-local-prefix=/var/crosstool-0.28-rc13/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/powerpc64-unknown-linux-gnu/sys-root
--disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit
--enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.0



Output of save-temps:

powerpc64-unknown-linux-gnu-gcc: warning: -pipe ignored because -save-temps
specified
Reading specs from
/var/crosstool/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/bin/../lib/gcc/powerpc64-unknown-linux-gnu/3.4.0/specs
Configured with:
/var/crosstool-0.28-rc13/build/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/gcc-3.4.0/configure
--target=powerpc64-unknown-linux-gnu --host=i686-host_pc-linux-gnu
--prefix=/var/crosstool-0.28-rc13/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2
--disable-multilib
--with-sysroot=/var/crosstool-0.28-rc13/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/powerpc64-unknown-linux-gnu/sys-root
--with-local-prefix=/var/crosstool-0.28-rc13/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/powerpc64-unknown-linux-gnu/sys-root
--disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit
--enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.0
 /var/crosstool/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/bin/../libexec/gcc/powerpc64-unknown-linux-gnu/3.4.0/cc1
-E -quiet -nostdinc -v -Iinclude -iprefix
/var/crosstool/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/bin/../lib/gcc/powerpc64-unknown-linux-gnu/3.4.0/
-isysroot
/var/crosstool/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/bin/../powerpc64-unknown-linux-gnu/sys-root
-D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix -Dlinux -D__linux
-Asystem=linux -Asystem=unix -Asystem=posix -D__KERNEL__
-DKBUILD_BASENAME=posix_timers -DKBUILD_MODNAME=posix_timers -iwithprefix
include -MD kernel/.posix-timers.o.d kernel/posix-timers.c -m64 -msoft-float
-mminimal-toc -mtraceback=none -mtune=power4 -Wall -Wstrict-prototypes
-Wno-trigraphs -Wno-uninitialized -Wdeclaration-after-statement
-fno-strict-aliasing -fno-common -funit-at-a-time -O2 -o posix-timers.i
#include "..." search starts here:
#include <...> search starts here:
 include
 /var/crosstool/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/bin/../lib/gcc/powerpc64-unknown-linux-gnu/3.4.0/include
End of search list.
 /var/crosstool/powerpc64-unknown-linux-gnu/gcc-3.4.0-glibc-2.3.2/bin/../libexec/gcc/powerpc64-unknown-linux-gnu/3.4.0/cc1
-fpreprocessed posix-timers.i -quiet -dumpbase posix-timers.c -m64 -msoft-float
-mminimal-toc -mtraceback=none -mtune=power4 -auxbase-strip
kernel/posix-timers.o -O2 -Wall -Wstrict-prototypes -Wno-trigraphs
-Wno-uninitialized -Wdeclaration-after-statement -version -fno-strict-aliasing
-fno-common -funit-at-a-time -o posix-timers.s
GNU C version 3.4.0 (powerpc64-unknown-linux-gnu)
        compiled by GNU C version 3.2.2 20030222 (Red Hat Linux 3.2.2-5).
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072


Where do I attach the *.i file?   And what do you mean by 'triplet' anyway?

-- 
           Summary: Cross-compile ppc64 compile never finishes
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: judith at osdl dot org
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: ia32
  GCC host triplet: ia32
GCC target triplet: ppc64


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


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

* [Bug c/15566] Cross-compile ppc64 compile never finishes
  2004-05-22 18:09 [Bug c/15566] New: Cross-compile ppc64 compile never finishes judith at osdl dot org
@ 2004-05-22 18:19 ` pinskia at gcc dot gnu dot org
  2004-05-22 18:19 ` judith at osdl dot org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-22 18:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-05-21 17:28 -------
Can you try without -pipe, if it works then something is wrong in your kernel and we cannot fix that 
(yes I know you are trying to compile a new one but this is the only workaround I can think of).

-- 


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


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

* [Bug c/15566] Cross-compile ppc64 compile never finishes
  2004-05-22 18:09 [Bug c/15566] New: Cross-compile ppc64 compile never finishes judith at osdl dot org
  2004-05-22 18:19 ` [Bug c/15566] " pinskia at gcc dot gnu dot org
@ 2004-05-22 18:19 ` judith at osdl dot org
  2004-05-22 21:44 ` judith at osdl dot org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: judith at osdl dot org @ 2004-05-22 18:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From judith at osdl dot org  2004-05-21 17:16 -------
Created an attachment (id=6356)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6356&action=view)
Uotput od command with -save-temps option


-- 


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


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

* [Bug c/15566] Cross-compile ppc64 compile never finishes
  2004-05-22 18:09 [Bug c/15566] New: Cross-compile ppc64 compile never finishes judith at osdl dot org
  2004-05-22 18:19 ` [Bug c/15566] " pinskia at gcc dot gnu dot org
  2004-05-22 18:19 ` judith at osdl dot org
@ 2004-05-22 21:44 ` judith at osdl dot org
  2004-05-23 23:15 ` [Bug rtl-optimization/15566] " giovannibajo at libero dot it
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: judith at osdl dot org @ 2004-05-22 21:44 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From judith at osdl dot org  2004-05-21 21:52 -------
Subject: Re:  Cross-compile ppc64 compile never finishes

On 21 May 2004, pinskia at gcc dot gnu dot org wrote:

>
> ------- Additional Comments From pinskia at gcc dot gnu dot org  2004-05-21 17:28 -------
> Can you try without -pipe, if it works then something is wrong in your kernel and we cannot fix that
> (yes I know you are trying to compile a new one but this is the only workaround I can think of).

I did try that and it still did the same thing (sat there an sucked
up CPU, never finishing), except the 'as' process was not sitting and
waiting.

Judith


>
>



-- 


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


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

* [Bug rtl-optimization/15566] Cross-compile ppc64 compile never finishes
  2004-05-22 18:09 [Bug c/15566] New: Cross-compile ppc64 compile never finishes judith at osdl dot org
                   ` (2 preceding siblings ...)
  2004-05-22 21:44 ` judith at osdl dot org
@ 2004-05-23 23:15 ` giovannibajo at libero dot it
  2004-05-23 23:21 ` [Bug rtl-optimization/15566] CSE delete_reg_equiv inifinite loop (breaks PPC64 bootstrap) giovannibajo at libero dot it
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: giovannibajo at libero dot it @ 2004-05-23 23:15 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From giovannibajo at libero dot it  2004-05-23 03:23 -------
Confirmed by TM.

The problem appears to be in CSE (log is slightly edited for readability):

[04:43] <tm3> it keeps calling delete_reg_equiv(regno = 122)
[04:43] <tm3> delete_reg_equiv thinks the equivalence is invalid, so it punts 
and just returns
[04:43] <tm3> and it keeps getting called over and over again
[04:44] <pinskia> Law added flush_hash_table in http://gcc.gnu.org/ml/gcc-
patches/1999-04n/msg00240.html
[04:53] <tm3> yah, it looks like flush_hash_table is trying to clear the 
equivalences for reg 22? and going into an infinite loop
[04:54] <tm3> no...hash entry 22
[04:59] <DannyB> the algorithm for memory equivalances is O(n^2)
[05:00] <DannyB> so it just flushes every x insns to keep it fast
[05:02] <DannyB> " /* If we have processed 1,000 insns, flush the hash table to
[05:02] <DannyB>    avoid extreme quadratic behavior."

So, it looks like the underlying algorithm should be fixed instead.

TM: can you please provide the preprocessed testcase that shows this bug? Also, 
which branch did you bootstrap to confirm this?


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |giovannibajo at libero dot
                   |                            |it, tm_gccmail at kloo dot
                   |                            |net, law at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
          Component|c                           |rtl-optimization
     Ever Confirmed|                            |1
           Keywords|                            |compile-time-hog
      Known to fail|                            |3.4.0
   Last reconfirmed|0000-00-00 00:00:00         |2004-05-23 03:23:10
               date|                            |


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


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

* [Bug rtl-optimization/15566] CSE delete_reg_equiv inifinite loop (breaks PPC64 bootstrap)
  2004-05-22 18:09 [Bug c/15566] New: Cross-compile ppc64 compile never finishes judith at osdl dot org
                   ` (3 preceding siblings ...)
  2004-05-23 23:15 ` [Bug rtl-optimization/15566] " giovannibajo at libero dot it
@ 2004-05-23 23:21 ` giovannibajo at libero dot it
  2004-05-26 17:18 ` [Bug rtl-optimization/15566] CSE delete_reg_equiv inifinite loop (breaks PPC64 cross) pinskia at gcc dot gnu dot org
  2004-06-21 15:24 ` pinskia at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: giovannibajo at libero dot it @ 2004-05-23 23:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From giovannibajo at libero dot it  2004-05-23 03:25 -------
Ah sorry, I didn't notice there was already a preprocessed testcase. Thanks 
Judith for it.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |critical
            Summary|Cross-compile ppc64 compile |CSE delete_reg_equiv
                   |never finishes              |inifinite loop (breaks PPC64
                   |                            |bootstrap)


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


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

* [Bug rtl-optimization/15566] CSE delete_reg_equiv inifinite loop (breaks PPC64 cross)
  2004-05-22 18:09 [Bug c/15566] New: Cross-compile ppc64 compile never finishes judith at osdl dot org
                   ` (4 preceding siblings ...)
  2004-05-23 23:21 ` [Bug rtl-optimization/15566] CSE delete_reg_equiv inifinite loop (breaks PPC64 bootstrap) giovannibajo at libero dot it
@ 2004-05-26 17:18 ` pinskia at gcc dot gnu dot org
  2004-06-21 15:24 ` pinskia at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-26 17:18 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |normal


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


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

* [Bug rtl-optimization/15566] CSE delete_reg_equiv inifinite loop (breaks PPC64 cross)
  2004-05-22 18:09 [Bug c/15566] New: Cross-compile ppc64 compile never finishes judith at osdl dot org
                   ` (5 preceding siblings ...)
  2004-05-26 17:18 ` [Bug rtl-optimization/15566] CSE delete_reg_equiv inifinite loop (breaks PPC64 cross) pinskia at gcc dot gnu dot org
@ 2004-06-21 15:24 ` pinskia at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-06-21 15:24 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-06-21 15:24 -------
This is a dup of bug 16114, which has a short testcase now.

*** This bug has been marked as a duplicate of 16114 ***

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


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


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

end of thread, other threads:[~2004-06-21 15:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-05-22 18:09 [Bug c/15566] New: Cross-compile ppc64 compile never finishes judith at osdl dot org
2004-05-22 18:19 ` [Bug c/15566] " pinskia at gcc dot gnu dot org
2004-05-22 18:19 ` judith at osdl dot org
2004-05-22 21:44 ` judith at osdl dot org
2004-05-23 23:15 ` [Bug rtl-optimization/15566] " giovannibajo at libero dot it
2004-05-23 23:21 ` [Bug rtl-optimization/15566] CSE delete_reg_equiv inifinite loop (breaks PPC64 bootstrap) giovannibajo at libero dot it
2004-05-26 17:18 ` [Bug rtl-optimization/15566] CSE delete_reg_equiv inifinite loop (breaks PPC64 cross) pinskia at gcc dot gnu dot org
2004-06-21 15:24 ` 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).