public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467
@ 2014-07-14 14:48 ktkachov at gcc dot gnu.org
  2014-07-15  9:12 ` [Bug lto/61802] [4.10 Regression] " rguenth at gcc dot gnu.org
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-14 14:48 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

            Bug ID: 61802
           Summary: AArch64 execute.exp failures with LTO after r212467
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ktkachov at gcc dot gnu.org

After r212467

Author: hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Fri Jul 11 17:43:44 2014 +0000

        * vapool.c: Include tree-ssa-alias.h, gimple.h and lto-streamer.h
        (varpool_get_constructor): New function.
        (varpool_ctor_useable_for_folding_p): Break out from ...
        (ctor_for_folding): ... here; use varpool_get_constructor.
        (varpool_assemble_decl): Likewise.
        * lto-streamer.h (struct output_block): Turn cgraph_node
        to symbol filed.
        (lto_input_variable_constructor): Declare.
        * ipa-visibility.c (function_and_variable_visibility): Use
        varpool_get_constructor.
        * cgraph.h (varpool_get_constructor): Declare.
        (varpool_ctor_useable_for_folding_p): New function.
        * lto-streamer-out.c (get_symbol_initial_value): Take encoder
        parameter; return error_mark_node for non-trivial constructors.
        (lto_write_tree_1, DFS_write_tree): UPdate use of
        get_symbol_initial_value.
        (output_function): Update initialization of symbol.
        (output_constructor): New function.
        (copy_function): Rename to ..
        (copy_function_or_variable): ... this one; handle vars too.
        (lto_output): Output variable sections.
        * lto-streamer-in.c (input_constructor): New function.
        (lto_read_body): Rename from ...
        (lto_read_body_or_constructor): ... this one; handle vars
        too.
        (lto_input_variable_constructor): New function.
        * ipa-prop.c (ipa_prop_write_jump_functions,
        ipa_prop_write_all_agg_replacement): Update.
        * lto-cgraph.c (compute_ltrans_boundary): Use it.
        (output_cgraph_opt_summary): Set symbol to NULL.

        * lto-partition.c (add_references_to_partition): Use
        varpool_ctor_useable_for_folding_p.
        * lto.c (lto_read_in_decl_state): Update sanity check.

I'm seeing a number of failures in gcc.c-torture/execute/ on the -flto
variants, including:
FAIL: gcc.c-torture/execute/20000422-1.c execution,  -O2 -flto
-flto-partition=none 
FAIL: gcc.c-torture/execute/20000422-1.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/20001013-1.c execution,  -O2 -flto
-flto-partition=none 
FAIL: gcc.c-torture/execute/20001013-1.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/20011113-1.c execution,  -O2 -flto
-flto-partition=none 
FAIL: gcc.c-torture/execute/20011113-1.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/20020615-1.c execution,  -O2 -flto
-flto-partition=none 
FAIL: gcc.c-torture/execute/20020615-1.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/20040805-1.c execution,  -O2 -flto
-flto-partition=none 
FAIL: gcc.c-torture/execute/20040805-1.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/20050929-1.c execution,  -O2 -flto
-flto-partition=none 
FAIL: gcc.c-torture/execute/20050929-1.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/20071210-1.c execution,  -O2 -flto
-flto-partition=none 
FAIL: gcc.c-torture/execute/20071210-1.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/20081117-1.c execution,  -O2 -flto
-flto-partition=none 
FAIL: gcc.c-torture/execute/20081117-1.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/20120427-1.c execution,  -O2 -flto
-flto-partition=none 
FAIL: gcc.c-torture/execute/20120427-1.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/20120919-1.c execution,  -O2 -flto
-flto-partition=none 
FAIL: gcc.c-torture/execute/20120919-1.c execution,  -O2 -flto 
FAIL: gcc.c-torture/execute/921113-1.c execution,  -O2 -flto
-flto-partition=none 
FAIL: gcc.c-torture/execute/921113-1.c execution,  -O2 -flto


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
@ 2014-07-15  9:12 ` rguenth at gcc dot gnu.org
  2014-07-15  9:14 ` ktkachov at gcc dot gnu.org
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-07-15  9:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |lto, wrong-code
           Priority|P3                          |P1
   Target Milestone|---                         |4.10.0
            Summary|AArch64 execute.exp         |[4.10 Regression] AArch64
                   |failures with LTO after     |execute.exp failures with
                   |r212467                     |LTO after r212467


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
  2014-07-15  9:12 ` [Bug lto/61802] [4.10 Regression] " rguenth at gcc dot gnu.org
@ 2014-07-15  9:14 ` ktkachov at gcc dot gnu.org
  2014-07-15 12:58 ` ktkachov at gcc dot gnu.org
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-15  9:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

--- Comment #1 from ktkachov at gcc dot gnu.org ---
There's actually quite a lot of -flto failures (all of them?) besides the ones
posted here all over the gcc testsuite


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
  2014-07-15  9:12 ` [Bug lto/61802] [4.10 Regression] " rguenth at gcc dot gnu.org
  2014-07-15  9:14 ` ktkachov at gcc dot gnu.org
@ 2014-07-15 12:58 ` ktkachov at gcc dot gnu.org
  2014-07-15 14:35 ` hubicka at ucw dot cz
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-15 12:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

ktkachov at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|aarch64-none-elf            |aarch64-none-elf, arm*

--- Comment #2 from ktkachov at gcc dot gnu.org ---
Appears on arm as well.
It seems like every execution test with -flto fails


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2014-07-15 12:58 ` ktkachov at gcc dot gnu.org
@ 2014-07-15 14:35 ` hubicka at ucw dot cz
  2014-07-15 14:42 ` ktkachov at gcc dot gnu.org
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: hubicka at ucw dot cz @ 2014-07-15 14:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

--- Comment #3 from Jan Hubicka <hubicka at ucw dot cz> ---
how those tests fail?


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2014-07-15 14:35 ` hubicka at ucw dot cz
@ 2014-07-15 14:42 ` ktkachov at gcc dot gnu.org
  2014-07-20  3:08 ` pinskia at gcc dot gnu.org
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-15 14:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

--- Comment #4 from ktkachov at gcc dot gnu.org ---
(In reply to Jan Hubicka from comment #3)
> how those tests fail?

They seem to hit abort ();
signal 6 in the emulator


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2014-07-15 14:42 ` ktkachov at gcc dot gnu.org
@ 2014-07-20  3:08 ` pinskia at gcc dot gnu.org
  2014-07-22 16:26 ` hubicka at ucw dot cz
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-07-20  3:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is definitely a section issue:
        .bss
        .align  3
.LANCHOR0 = . + 0
        .type   buf, %object
        .size   buf, 10
buf:
        .hword  1
        .hword  4
        .hword  16
        .hword  64
        .hword  256

notice we are in bss rather than .data section here.


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2014-07-20  3:08 ` pinskia at gcc dot gnu.org
@ 2014-07-22 16:26 ` hubicka at ucw dot cz
  2014-07-22 16:34 ` pinskia at gcc dot gnu.org
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: hubicka at ucw dot cz @ 2014-07-22 16:26 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

--- Comment #7 from Jan Hubicka <hubicka at ucw dot cz> ---
Actually at the cauldron discussion I got an idea that it may be issue with
anchor generation
not bringing in all the constructors. Is the problem there that constructors of
static vairables
are empty in the final binary?

Honza


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2014-07-22 16:26 ` hubicka at ucw dot cz
@ 2014-07-22 16:34 ` pinskia at gcc dot gnu.org
  2014-07-23 17:47 ` hubicka at gcc dot gnu.org
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-07-22 16:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Jan Hubicka from comment #7)
> Actually at the cauldron discussion I got an idea that it may be issue with
> anchor generation
> not bringing in all the constructors. Is the problem there that constructors
> of static vairables
> are empty in the final binary?

yes.


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2014-07-22 16:34 ` pinskia at gcc dot gnu.org
@ 2014-07-23 17:47 ` hubicka at gcc dot gnu.org
  2014-07-24  9:01 ` ktkachov at gcc dot gnu.org
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-07-23 17:47 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

--- Comment #9 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Created attachment 33177
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33177&action=edit
Proposed patch

I guess the problem is that error_mark_node is special cased in varasm to send
symbols to BSS for invalid programs. Does the following help?


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2014-07-23 17:47 ` hubicka at gcc dot gnu.org
@ 2014-07-24  9:01 ` ktkachov at gcc dot gnu.org
  2014-07-24 10:20 ` ktkachov at gcc dot gnu.org
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-24  9:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

--- Comment #10 from ktkachov at gcc dot gnu.org ---
(In reply to Jan Hubicka from comment #9)
> Created attachment 33177 [details]
> Proposed patch
> 
> I guess the problem is that error_mark_node is special cased in varasm to
> send symbols to BSS for invalid programs. Does the following help?

Yes, this fixes the failures on arm, will try aarch64 soon


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2014-07-24  9:01 ` ktkachov at gcc dot gnu.org
@ 2014-07-24 10:20 ` ktkachov at gcc dot gnu.org
  2014-07-24 10:56 ` hubicka at ucw dot cz
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-07-24 10:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

--- Comment #11 from ktkachov at gcc dot gnu.org ---
(In reply to ktkachov from comment #10)
> (In reply to Jan Hubicka from comment #9)
> > Created attachment 33177 [details]
> > Proposed patch
> > 
> > I guess the problem is that error_mark_node is special cased in varasm to
> > send symbols to BSS for invalid programs. Does the following help?
> 
> Yes, this fixes the failures on arm, will try aarch64 soon

AArch64 seems to work fine too with this patch.


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2014-07-24 10:20 ` ktkachov at gcc dot gnu.org
@ 2014-07-24 10:56 ` hubicka at ucw dot cz
  2014-07-24 13:51 ` hubicka at gcc dot gnu.org
  2014-08-05 13:59 ` ktkachov at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: hubicka at ucw dot cz @ 2014-07-24 10:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

--- Comment #12 from Jan Hubicka <hubicka at ucw dot cz> ---
> > Yes, this fixes the failures on arm, will try aarch64 soon
> 
> AArch64 seems to work fine too with this patch.
Thanks! I will double check it and commit then.

Honza


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2014-07-24 10:56 ` hubicka at ucw dot cz
@ 2014-07-24 13:51 ` hubicka at gcc dot gnu.org
  2014-08-05 13:59 ` ktkachov at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: hubicka at gcc dot gnu.org @ 2014-07-24 13:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

--- Comment #13 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Thu Jul 24 13:50:31 2014
New Revision: 212991

URL: https://gcc.gnu.org/viewcvs?rev=212991&root=gcc&view=rev
Log:
    PR lto/61802
    * varasm.c (bss_initializer_p): Handle offlined ctors.
    (align_variable, get_variable_align): Likewise.
    (make_decl_one_only): Likewise.
    (default_binds_local_p_1): Likewise.
    (decl_binds_to_current_def_p): Likewise.
    (get_variable_section): Get constructor if it is offlined.
    (assemble_variable_contents): Sanity check that the caller
    streamed in the ctor in LTO.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/varasm.c


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

* [Bug lto/61802] [4.10 Regression] AArch64 execute.exp failures with LTO after r212467
  2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2014-07-24 13:51 ` hubicka at gcc dot gnu.org
@ 2014-08-05 13:59 ` ktkachov at gcc dot gnu.org
  13 siblings, 0 replies; 15+ messages in thread
From: ktkachov at gcc dot gnu.org @ 2014-08-05 13:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61802

ktkachov at gcc dot gnu.org changed:

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

--- Comment #14 from ktkachov at gcc dot gnu.org ---
These are fixed now on arm and aarch64, thanks.


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

end of thread, other threads:[~2014-08-05 13:59 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-14 14:48 [Bug lto/61802] New: AArch64 execute.exp failures with LTO after r212467 ktkachov at gcc dot gnu.org
2014-07-15  9:12 ` [Bug lto/61802] [4.10 Regression] " rguenth at gcc dot gnu.org
2014-07-15  9:14 ` ktkachov at gcc dot gnu.org
2014-07-15 12:58 ` ktkachov at gcc dot gnu.org
2014-07-15 14:35 ` hubicka at ucw dot cz
2014-07-15 14:42 ` ktkachov at gcc dot gnu.org
2014-07-20  3:08 ` pinskia at gcc dot gnu.org
2014-07-22 16:26 ` hubicka at ucw dot cz
2014-07-22 16:34 ` pinskia at gcc dot gnu.org
2014-07-23 17:47 ` hubicka at gcc dot gnu.org
2014-07-24  9:01 ` ktkachov at gcc dot gnu.org
2014-07-24 10:20 ` ktkachov at gcc dot gnu.org
2014-07-24 10:56 ` hubicka at ucw dot cz
2014-07-24 13:51 ` hubicka at gcc dot gnu.org
2014-08-05 13:59 ` ktkachov at gcc dot gnu.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).