fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize function pointers in page 0.

* pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
	function pointers in page 0.

From-SVN: r59964
This commit is contained in:
John David Anglin 2002-12-09 19:16:14 +00:00 committed by John David Anglin
parent 3870df966e
commit 3f320b7e63
2 changed files with 10 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2002-12-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
* pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
function pointers in page 0.
2002-12-09 Steve Ellcey <sje@cup.hp.com>
* config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove

View File

@ -64,11 +64,11 @@ __canonicalize_funcptr_for_compare (fptr)
static fixup_t fixup;
unsigned int *plabel, *got;
/* -1 is special. It is used in crtend to mark the end of a list of
function pointers. Also return immediately if the plabel bit is
not set in the function pointer. In this case, the function pointer
points directly to the function. */
if ((int) fptr == -1 || !((int) fptr & 2))
/* -1 and page 0 are special. -1 is used in crtend to mark the end of
a list of function pointers. Also return immediately if the plabel
bit is not set in the function pointer. In this case, the function
pointer points directly to the function. */
if ((int) fptr == -1 || (unsigned int) fptr < 4096 || !((int) fptr & 2))
return (unsigned int) fptr;
/* The function pointer points to a function descriptor (plabel). If