This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/65064] [5 regression] FAIL: gcc.dg/torture/pr60115.c -O1 (test for excess errors)
- From: "hjl at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 18 Feb 2015 17:24:51 +0000
- Subject: [Bug target/65064] [5 regression] FAIL: gcc.dg/torture/pr60115.c -O1 (test for excess errors)
- Auto-submitted: auto-generated
- References: <bug-65064-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65064
--- Comment #17 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Wed Feb 18 17:24:20 2015
New Revision: 220792
URL: https://gcc.gnu.org/viewcvs?rev=220792&root=gcc&view=rev
Log:
Return false for common symbols in sdata_symbolic_operand
Although common symbols are defined in executables, they aren't in small
data section. But a definition in small data section overrides a common
symbol, which still binds lcoally, and turns a reference to common symbol
to reference to small data section. Even if ia64_in_small_data_p returns
true on common symbols, sdata_symbolic_operand must return false on common
symbols. Common symbols are assumed to be placed in small data section,
but are accessed as if they are in normal data section so that they won't
cause any relocation overflow.
PR target/65064
* config/ia64/predicates.md (sdata_symbolic_operand): Return false
for common symbols.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/ia64/predicates.md