From 433e4812304515c3fd1584a2efa304d5e15a9bda Mon Sep 17 00:00:00 2001 From: danglin Date: Sat, 18 Jun 2016 17:49:58 +0000 Subject: [PATCH] * config/pa/fptr.c (__canonicalize_funcptr_for_compare): Don't set least-significant bit in function pointer for fixup. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237574 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgcc/ChangeLog | 5 +++++ libgcc/config/pa/fptr.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 19d60115bc81..7c86f8c6313d 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2016-06-18 John David Anglin + + * config/pa/fptr.c (__canonicalize_funcptr_for_compare): Don't set + least-significant bit in function pointer for fixup. + 2016-06-05 Aaron Conole Nathan Sidwell diff --git a/libgcc/config/pa/fptr.c b/libgcc/config/pa/fptr.c index 3febc9062db5..7a5ea7b00f52 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. */ -- 2.47.3