Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

void foo() __attribute__((ifunc("resolve_foo")));

static void foo_impl() {}

extern void abort (void);
void test()
{
  void (*pg)(void) = foo;
  if (pg != foo_impl)
    abort ();
  pg();
}

static void* resolve_foo()
{
  extern void zoo(void);

  void (*pz)(void) = zoo;
  pz();
  return foo_impl;
}