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