#include #include typedef void (*exit_ftype) (int); typedef int (*fprintf_ftype) (FILE *, const char*, ...); int main(int argc, char *argv[]) { // Regular PLT call fprintf(stdout, "PLT Call 1\n"); exit_ftype func1 = &exit; fprintf_ftype func2 = &fprintf; (func2)(stdout, "Canonical call!\n"); (func1)(0); /* unreachable */ return (0); }