fptr.c (__canonicalize_funcptr_for_compare): Don't set least-significant bit in funct...
authorJohn David Anglin <danglin@gcc.gnu.org>
Sat, 18 Jun 2016 17:49:58 +0000 (17:49 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Sat, 18 Jun 2016 17:49:58 +0000 (17:49 +0000)
* config/pa/fptr.c (__canonicalize_funcptr_for_compare): Don't set
least-significant bit in function pointer for fixup.

From-SVN: r237574

libgcc/ChangeLog
libgcc/config/pa/fptr.c

index 19d60115bc81f66544f558f26b5f79f887f9263e..7c86f8c6313de4b60b6b42b9647543d6a3109dec 100644 (file)
@@ -1,3 +1,8 @@
+2016-06-18  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/fptr.c (__canonicalize_funcptr_for_compare): Don't set
+       least-significant bit in function pointer for fixup.
+
 2016-06-05  Aaron Conole  <aconole@redhat.com>
            Nathan Sidwell  <nathan@acm.org>
 
index 3febc9062db5cc1fc830a2f4f097b131d85a41a5..7a5ea7b00f52a10254429e9256ea1f6ff672b8a9 100644 (file)
@@ -113,7 +113,7 @@ __canonicalize_funcptr_for_compare (fptr_t fptr)
   /* Build a plabel for an indirect call to _dl_fixup.  */
   fixup_plabel[0] = (unsigned int) iptr + 8;   /* address of fixup */
   fixup_plabel[1] = got[-1];                   /* ltp for fixup */
-  fixup = (fixup_t) ((int) fixup_plabel | 3);
+  fixup = (fixup_t) ((int) fixup_plabel | 2);
 
   /* Call fixup to resolve the function address.  got[1] contains the
      link_map pointer and plabel[1] the relocation offset.  */