Blame elf/reldepmod3.c

Packit 6c4009
#include <dlfcn.h>
Packit 6c4009
#include <stdio.h>
Packit 6c4009
#include <stdlib.h>
Packit 6c4009
Packit 6c4009
extern int call_me (void);
Packit 6c4009
Packit 6c4009
int
Packit 6c4009
call_me (void)
Packit 6c4009
{
Packit 6c4009
  int (*fp) (void);
Packit 6c4009
Packit 6c4009
  fp = dlsym (RTLD_DEFAULT, "foo");
Packit 6c4009
  if (fp == NULL)
Packit 6c4009
    {
Packit 6c4009
      printf ("cannot get address of foo in global scope: %s\n", dlerror ());
Packit 6c4009
      exit (1);
Packit 6c4009
    }
Packit 6c4009
Packit 6c4009
  return fp () - 42;
Packit 6c4009
}