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

/* This program is intended to be started outside of gdb, and then
   attached to by gdb.  Thus, it simply spins in a loop.  The loop
   is exited when & if the variable 'should_exit' is non-zero.  (It
   is initialized to zero in this program, so the loop will never
   exit unless/until gdb sets the variable to non-zero.)
   */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

float  bidule = 0.0;
volatile int  should_exit = 0;

int main ()
{
  int  local_i = 0;

  /* Cannot sleep a very long time, as attach.exp assumes the
     process will exit before the standard GDB timeout.  */
  sleep( 10 ); /* System call causes register fetch to fail */
               /* This is a known HPUX "feature"            */
  while (! should_exit)
    {
      local_i++;
    }
  return (0);
}