diff mbox

PR target/65064: Return false for COMMON symbols

Message ID 20150215141921.GA15368@gmail.com
State New
Headers show

Commit Message

H.J. Lu Feb. 15, 2015, 2:19 p.m. UTC
Hi,

r220674 exposed a bug in ia64_in_small_data_p.  After r220674, COMMON
symbols binds locally for executables.  But ia64_in_small_data_p returns
true for COMMON symbols which are never in small data section.  This patch
fixes it.  OK for trunk?

H.J.
----
Since COMMON symbols are never in small data section, ia64_in_small_data_p
should return false for COMMON symbols.

	PR target/65064
	* config/ia64/ia64.c (ia64_in_small_data_p): Return false for
	COMMON symbols.
---
 gcc/config/ia64/ia64.c | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox

Patch

diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 6ef22d9..3687289 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -9941,6 +9941,10 @@  ia64_in_small_data_p (const_tree exp)
   if (TARGET_NO_SDATA)
     return false;
 
+  /* COMMON symbols are never small data.  */
+  if (DECL_COMMON (exp))
+    return false;
+
   /* We want to merge strings, so we never consider them small data.  */
   if (TREE_CODE (exp) == STRING_CST)
     return false;