Commit 3f320b7e by John David Anglin Committed by John David Anglin

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
parent 3870df96
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> 2002-12-09 Steve Ellcey <sje@cup.hp.com>
* config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
......
...@@ -64,11 +64,11 @@ __canonicalize_funcptr_for_compare (fptr) ...@@ -64,11 +64,11 @@ __canonicalize_funcptr_for_compare (fptr)
static fixup_t fixup; static fixup_t fixup;
unsigned int *plabel, *got; unsigned int *plabel, *got;
/* -1 is special. It is used in crtend to mark the end of a list of /* -1 and page 0 are special. -1 is used in crtend to mark the end of
function pointers. Also return immediately if the plabel bit is a list of function pointers. Also return immediately if the plabel
not set in the function pointer. In this case, the function pointer bit is not set in the function pointer. In this case, the function
points directly to the function. */ pointer points directly to the function. */
if ((int) fptr == -1 || !((int) fptr & 2)) if ((int) fptr == -1 || (unsigned int) fptr < 4096 || !((int) fptr & 2))
return (unsigned int) fptr; return (unsigned int) fptr;
/* The function pointer points to a function descriptor (plabel). If /* The function pointer points to a function descriptor (plabel). If
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment