aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <danglin@gcc.gnu.org>2016-06-18 17:49:58 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2016-06-18 17:49:58 +0000
commit9f92937bdca6dcddba0fc2de5a5218e01881b0a7 (patch)
treeab3377fe7110af9cd87960fc12ed25f2aa323c61
parent81d8cd9b33d6913c3a484289ac15f3d75b113155 (diff)
downloadgcc-9f92937bdca6dcddba0fc2de5a5218e01881b0a7.zip
gcc-9f92937bdca6dcddba0fc2de5a5218e01881b0a7.tar.gz
gcc-9f92937bdca6dcddba0fc2de5a5218e01881b0a7.tar.bz2
fptr.c (__canonicalize_funcptr_for_compare): Don't set least-significant bit in function pointer for fixup.
* config/pa/fptr.c (__canonicalize_funcptr_for_compare): Don't set least-significant bit in function pointer for fixup. From-SVN: r237574
-rw-r--r--libgcc/ChangeLog5
-rw-r--r--libgcc/config/pa/fptr.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 19d6011..7c86f8c 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -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>
diff --git a/libgcc/config/pa/fptr.c b/libgcc/config/pa/fptr.c
index 3febc90..7a5ea7b 100644
--- a/libgcc/config/pa/fptr.c
+++ b/libgcc/config/pa/fptr.c
@@ -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. */