2015-03-05 Alex Velenko <alex.velenko@arm.com>
authoravelenko <avelenko@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Mar 2015 16:45:21 +0000 (16:45 +0000)
committeravelenko <avelenko@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 5 Mar 2015 16:45:21 +0000 (16:45 +0000)
* config/arm/arm.c (arm_function_in_section_p): Fix predicate to
correctly check weak symbol binding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221220 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.c

index 368a7d0..73a346a 100644 (file)
@@ -1,3 +1,8 @@
+2015-03-05  Alex Velenko  <alex.velenko@arm.com>
+
+       * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
+       correctly check weak symbol binding.
+
 2015-03-05  Steve Ellcey  <sellcey@imgtec.com>
 
        PR middle-end/65315
index f7063bc..48342d0 100644 (file)
@@ -6396,14 +6396,8 @@ arm_set_default_type_attributes (tree type)
 static bool
 arm_function_in_section_p (tree decl, section *section)
 {
-  /* We can only be certain about functions defined in the same
-     compilation unit.  */
-  if (!TREE_STATIC (decl))
-    return false;
-
-  /* Make sure that SYMBOL always binds to the definition in this
-     compilation unit.  */
-  if (!targetm.binds_local_p (decl))
+  /* We can only be certain about the prevailing symbol definition.  */
+  if (!decl_binds_to_current_def_p (decl))
     return false;
 
   /* If DECL_SECTION_NAME is set, assume it is trustworthy.  */