* [Bug ada/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in sem_aggr.sort_case_table
2010-08-26 18:17 [Bug ada/45421] New: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SEGV in sem_aggr.sort_case_table ro at gcc dot gnu dot org
@ 2010-08-27 16:00 ` ebotcazou at gcc dot gnu dot org
2010-08-27 16:01 ` ebotcazou at gcc dot gnu dot org
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-08-27 16:00 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from ebotcazou at gcc dot gnu dot org 2010-08-27 16:00 -------
I can confirm something similar (an unaligned access) on IA64/Linux:
(botcazou@tinto) /nile.build/botcazou/gcc-head/ia64-unknown-linux-gnu $
gcc/gnat1 -quiet assert1.adb -I gcc/ada/rts
gnat1(32495): unaligned access to 0x60000fffffffa55c, ip=0x40000000005e8cc1
gnat1(32495): unaligned access to 0x60000fffffffa574, ip=0x40000000005e8cc1
gnat1(32495): unaligned access to 0x60000fffffffa58c, ip=0x40000000005e8cc1
gnat1(32495): unaligned access to 0x60000fffffffa55c, ip=0x40000000005e8cc1
The address points to:
Breakpoint 1, sem_aggr.sort_case_table (component_typ=72)
at /nile.build/botcazou/gcc-head/src/gcc/ada/sem_aggr.adb:3974
3974 T := Case_Table (K + 1);
It started to fail on 08/12 according to:
http://gcc.gnu.org/ml/gcc-testresults/2010-08/msg01253.html
http://gcc.gnu.org/ml/gcc-testresults/2010-08/msg01253.html
Likely triggered/exposed by:
2010-08-12 Richard Guenther <rguenther@suse.de>
* tree-flow.h (struct ptr_info_def): Add align and misalign fields.
* tree-ssa-alias.c (get_ptr_info): Move ...
* tree-ssanames.c (get_ptr_info): ... here. Initialize
align and misalign fields conservatively.
* tree-ssa-ccp.c (ccp_finalize): From partially constant pointers
derive alignment information.
(evaluate_stmt): Derive alignment information from memory
allocation functions.
* tree.h (get_pointer_alignment): Make unsigned.
* builtins.c (get_object_alignment): Use alignment information we
have computed for pointers.
(get_pointer_alignment): Likewise. Make conservative, return
and unsigned value.
(expand_builtin_strlen): Adjust.
(expand_builtin_memcmp): Likewise.
(expand_builtin_strcmp): Likewise.
(expand_builtin_strncmp): Likewise.
(get_builtin_sync_mem): Use at least mode alignment.
(fold_builtin_memset): Adjust.
(fold_builtin_memory_op): Likewise.
* gimple-pretty-print.c (dump_gimple_phi): Alongside alias
information also dump pointer alignment knowledge.
(dump_gimple_stmt): Likewise.
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ebotcazou at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2010-08-27 16:00:30
date| |
Summary|[4.6 regression] Ada |[4.6 regression] Ada
|bootstrap failure on IRIX |bootstrap failure on IRIX
|6.5: SEGV in |6.5: SIGBUS in
|sem_aggr.sort_case_table |sem_aggr.sort_case_table
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45421
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug ada/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in sem_aggr.sort_case_table
2010-08-26 18:17 [Bug ada/45421] New: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SEGV in sem_aggr.sort_case_table ro at gcc dot gnu dot org
2010-08-27 16:00 ` [Bug ada/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS " ebotcazou at gcc dot gnu dot org
@ 2010-08-27 16:01 ` ebotcazou at gcc dot gnu dot org
2010-08-30 16:02 ` rguenth at gcc dot gnu dot org
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-08-27 16:01 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from ebotcazou at gcc dot gnu dot org 2010-08-27 16:01 -------
Investigating on IA-64.
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC|ebotcazou at gcc dot gnu dot|
|org |
AssignedTo|unassigned at gcc dot gnu |ebotcazou at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2010-08-27 16:00:30 |2010-08-27 16:01:34
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45421
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug ada/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in sem_aggr.sort_case_table
2010-08-26 18:17 [Bug ada/45421] New: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SEGV in sem_aggr.sort_case_table ro at gcc dot gnu dot org
2010-08-27 16:00 ` [Bug ada/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS " ebotcazou at gcc dot gnu dot org
2010-08-27 16:01 ` ebotcazou at gcc dot gnu dot org
@ 2010-08-30 16:02 ` rguenth at gcc dot gnu dot org
2010-09-02 21:54 ` [Bug tree-optimization/45421] " ebotcazou at gcc dot gnu dot org
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-08-30 16:02 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.6.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45421
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug tree-optimization/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in sem_aggr.sort_case_table
2010-08-26 18:17 [Bug ada/45421] New: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SEGV in sem_aggr.sort_case_table ro at gcc dot gnu dot org
` (2 preceding siblings ...)
2010-08-30 16:02 ` rguenth at gcc dot gnu dot org
@ 2010-09-02 21:54 ` ebotcazou at gcc dot gnu dot org
2010-09-02 22:00 ` ebotcazou at gcc dot gnu dot org
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-02 21:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from ebotcazou at gcc dot gnu dot org 2010-09-02 21:54 -------
Recategorizing.
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|ada |tree-optimization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45421
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug tree-optimization/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in sem_aggr.sort_case_table
2010-08-26 18:17 [Bug ada/45421] New: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SEGV in sem_aggr.sort_case_table ro at gcc dot gnu dot org
` (3 preceding siblings ...)
2010-09-02 21:54 ` [Bug tree-optimization/45421] " ebotcazou at gcc dot gnu dot org
@ 2010-09-02 22:00 ` ebotcazou at gcc dot gnu dot org
2010-09-03 17:23 ` ro at CeBiTec dot Uni-Bielefeld dot DE
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-02 22:00 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from ebotcazou at gcc dot gnu dot org 2010-09-02 21:59 -------
It's IVOPTS so no way to get a reduced testcase. The analysis is for the stock
sem_aggr.adb file compiled at -O2 -gnatpg for IA-64. We have:
table.68_174 = .builtin_alloca (D.5147_173);
with pi->align = 16
D.5252_266 = &*table.68_174;
with pi->align = 16 and then
MEM[(struct sem_aggr__case_bounds[(size_type) <PLACEHOLDER_EXPR struct
sem_aggr__case_table_type___XUP>.P_BOUNDS->LB0:<PLACEHOLDER_EXPR struct
sem_aggr__case_table_type___XUP>.P_BOUNDS->UB0 >= <PLACEHOLDER_EXPR struct
sem_aggr__case_table_type___XUP>.P_BOUNDS->LB0 ? (size_type) <PLACEHOLDER_EXPR
struct sem_aggr__case_table_type___XUP>.P_BOUNDS->UB0 : (size_type)
<PLACEHOLDER_EXPR struct sem_aggr__case_table_type___XUP>.P_BOUNDS->LB0 + -1]
*)D.5252_266][D.6519_896]{lb: 1 sz: 12};
is replaced with
MEM[(struct sem_aggr__case_bounds[(size_type) <PLACEHOLDER_EXPR struct
sem_aggr__case_table_type___XUP>.P_BOUNDS->LB0:<PLACEHOLDER_EXPR struct
sem_aggr__case_table_type___XUP>.P_BOUNDS->UB0 >= <PLACEHOLDER_EXPR struct
sem_aggr__case_table_type___XUP>.P_BOUNDS->LB0 ? (size_type) <PLACEHOLDER_EXPR
struct sem_aggr__case_table_type___XUP>.P_BOUNDS->UB0 : (size_type)
<PLACEHOLDER_EXPR struct sem_aggr__case_table_type___XUP>.P_BOUNDS->LB0 + -1]
*)D.6658_890]
in IVOPTS. And copy_ref_info reads:
/* We can transfer points-to information from an old pointer
or decl base to the new one. */
But now duplicate_ssa_name_ptr_info duplicates more than the points-to info,
it also duplicates the alignment info, which is wrong for arrays since the
base decl (pointed to by D.5252_266) can be more aligned than the individual
elements (pointed to by D.6658_890).
Tentative patch (I cannot test it on IA-64 before next week):
Index: tree-ssa-loop-ivopts.c
===================================================================
--- tree-ssa-loop-ivopts.c (revision 163745)
+++ tree-ssa-loop-ivopts.c (working copy)
@@ -5891,8 +5891,8 @@ copy_ref_info (tree new_ref, tree old_re
else if (TREE_CODE (new_ref) == MEM_REF)
new_ptr_base = TREE_OPERAND (new_ref, 0);
- /* We can transfer points-to information from an old pointer
- or decl base to the new one. */
+ /* We can transfer points-to information from an old pointer or base decl
+ to the new one, as well as some amount of alignment information. */
if (new_ptr_base
&& TREE_CODE (new_ptr_base) == SSA_NAME
&& POINTER_TYPE_P (TREE_TYPE (new_ptr_base))
@@ -5901,11 +5901,18 @@ copy_ref_info (tree new_ref, tree old_re
tree base = get_base_address (old_ref);
if (!base)
;
- else if ((INDIRECT_REF_P (base)
- || TREE_CODE (base) == MEM_REF)
- && TREE_CODE (TREE_OPERAND (base, 0)) == SSA_NAME)
- duplicate_ssa_name_ptr_info
- (new_ptr_base, SSA_NAME_PTR_INFO (TREE_OPERAND (base, 0)));
+ else if ((INDIRECT_REF_P (base) || TREE_CODE (base) == MEM_REF)
+ && TREE_CODE (TREE_OPERAND (base, 0)) == SSA_NAME
+ && SSA_NAME_PTR_INFO (TREE_OPERAND (base, 0)))
+ {
+ struct ptr_info_def *pi;
+ duplicate_ssa_name_ptr_info
+ (new_ptr_base, SSA_NAME_PTR_INFO (TREE_OPERAND (base, 0)));
+ pi = SSA_NAME_PTR_INFO (new_ptr_base);
+ pi->misalign
+ = -(TYPE_ALIGN (TREE_TYPE (new_ref)) / BITS_PER_UNIT)
+ & (pi->align - 1);
+ }
else if (TREE_CODE (base) == VAR_DECL
|| TREE_CODE (base) == PARM_DECL
|| TREE_CODE (base) == RESULT_DECL)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45421
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug tree-optimization/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in sem_aggr.sort_case_table
2010-08-26 18:17 [Bug ada/45421] New: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SEGV in sem_aggr.sort_case_table ro at gcc dot gnu dot org
` (4 preceding siblings ...)
2010-09-02 22:00 ` ebotcazou at gcc dot gnu dot org
@ 2010-09-03 17:23 ` ro at CeBiTec dot Uni-Bielefeld dot DE
2010-09-06 16:20 ` ro at CeBiTec dot Uni-Bielefeld dot DE
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld dot DE @ 2010-09-03 17:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from ro at CeBiTec dot Uni-Bielefeld dot DE 2010-09-03 17:23 -------
Subject: Re: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in
sem_aggr.sort_case_table
I'm now running an mips-sgi-irix6.5 bootstrap with Ada included with
this patch.
Thanks.
Rainer
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45421
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug tree-optimization/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in sem_aggr.sort_case_table
2010-08-26 18:17 [Bug ada/45421] New: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SEGV in sem_aggr.sort_case_table ro at gcc dot gnu dot org
` (5 preceding siblings ...)
2010-09-03 17:23 ` ro at CeBiTec dot Uni-Bielefeld dot DE
@ 2010-09-06 16:20 ` ro at CeBiTec dot Uni-Bielefeld dot DE
2010-09-08 12:54 ` ebotcazou at gcc dot gnu dot org
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld dot DE @ 2010-09-06 16:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from ro at CeBiTec dot Uni-Bielefeld dot DE 2010-09-06 16:20 -------
Subject: Re: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in
sem_aggr.sort_case_table
Unfortunately, even with your patch the mips-sgi-irix6.5 Ada bootstrap
is still broken.
Rainer
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45421
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug tree-optimization/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in sem_aggr.sort_case_table
2010-08-26 18:17 [Bug ada/45421] New: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SEGV in sem_aggr.sort_case_table ro at gcc dot gnu dot org
` (6 preceding siblings ...)
2010-09-06 16:20 ` ro at CeBiTec dot Uni-Bielefeld dot DE
@ 2010-09-08 12:54 ` ebotcazou at gcc dot gnu dot org
2010-09-09 12:06 ` ro at gcc dot gnu dot org
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-08 12:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from ebotcazou at gcc dot gnu dot org 2010-09-08 12:54 -------
> Unfortunately, even with your patch the mips-sgi-irix6.5 Ada bootstrap
> is still broken.
OK, thanks for testing. Presumably fixed by Richard now, reopen if not.
*** This bug has been marked as a duplicate of 45578 ***
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |DUPLICATE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45421
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug tree-optimization/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in sem_aggr.sort_case_table
2010-08-26 18:17 [Bug ada/45421] New: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SEGV in sem_aggr.sort_case_table ro at gcc dot gnu dot org
` (7 preceding siblings ...)
2010-09-08 12:54 ` ebotcazou at gcc dot gnu dot org
@ 2010-09-09 12:06 ` ro at gcc dot gnu dot org
2010-09-09 12:15 ` ebotcazou at gcc dot gnu dot org
2010-09-13 10:55 ` ebotcazou at gcc dot gnu dot org
10 siblings, 0 replies; 12+ messages in thread
From: ro at gcc dot gnu dot org @ 2010-09-09 12:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from ro at gcc dot gnu dot org 2010-09-09 12:05 -------
Unfortunately not: bootstrap still fails as of rev. 164013.
--
ro at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|DUPLICATE |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45421
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug tree-optimization/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in sem_aggr.sort_case_table
2010-08-26 18:17 [Bug ada/45421] New: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SEGV in sem_aggr.sort_case_table ro at gcc dot gnu dot org
` (8 preceding siblings ...)
2010-09-09 12:06 ` ro at gcc dot gnu dot org
@ 2010-09-09 12:15 ` ebotcazou at gcc dot gnu dot org
2010-09-13 10:55 ` ebotcazou at gcc dot gnu dot org
10 siblings, 0 replies; 12+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-09 12:15 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from ebotcazou at gcc dot gnu dot org 2010-09-09 12:15 -------
> Unfortunately not: bootstrap still fails as of rev. 164013.
Not very surprising given that we now have a SIGBUS on the SPARC as well...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45421
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug tree-optimization/45421] [4.6 regression] Ada bootstrap failure on IRIX 6.5: SIGBUS in sem_aggr.sort_case_table
2010-08-26 18:17 [Bug ada/45421] New: [4.6 regression] Ada bootstrap failure on IRIX 6.5: SEGV in sem_aggr.sort_case_table ro at gcc dot gnu dot org
` (9 preceding siblings ...)
2010-09-09 12:15 ` ebotcazou at gcc dot gnu dot org
@ 2010-09-13 10:55 ` ebotcazou at gcc dot gnu dot org
10 siblings, 0 replies; 12+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-13 10:55 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from ebotcazou at gcc dot gnu dot org 2010-09-13 10:55 -------
Presumably re-fixed by Richard now. :-) Reopen if not.
*** This bug has been marked as a duplicate of 45611 ***
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |DUPLICATE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45421
^ permalink raw reply [flat|nested] 12+ messages in thread