extern void abort (void);

/* Since GCC 5 folds symbol address comparison, assuming each symbol has
   different address,  &foo == &bar is always false for GCC 5.  Use
   check_ptr_eq to check if two functions are the same.  */

void 
check_ptr_eq (void (*f1) (void), void (*f2) (void))
{
  if (f1 != f2)
    abort ();
}