#include <sched.h>
 #include <sys/mman.h>
 
-#ifndef HAVE_ON_EXIT_SUPPORT
-#ifndef ATEXIT_MAX
-#define ATEXIT_MAX 32
-#endif
-static int __on_exit_count = 0;
-typedef void (*on_exit_func_t) (int, void *);
-static on_exit_func_t __on_exit_funcs[ATEXIT_MAX];
-static void *__on_exit_args[ATEXIT_MAX];
-static int __exitcode = 0;
-static void __handle_on_exit_funcs(void);
-static int on_exit(on_exit_func_t function, void *arg);
-#define exit(x) (exit)(__exitcode = (x))
-
-static int on_exit(on_exit_func_t function, void *arg)
-{
-       if (__on_exit_count == ATEXIT_MAX)
-               return -ENOMEM;
-       else if (__on_exit_count == 0)
-               atexit(__handle_on_exit_funcs);
-       __on_exit_funcs[__on_exit_count] = function;
-       __on_exit_args[__on_exit_count++] = arg;
-       return 0;
-}
-
-static void __handle_on_exit_funcs(void)
-{
-       int i;
-       for (i = 0; i < __on_exit_count; i++)
-               __on_exit_funcs[i] (__exitcode, __on_exit_args[i]);
-}
-#endif
 
 struct record {
        struct perf_tool        tool;
 
        libpython-version               \
        libslang                        \
        libunwind                       \
-       on-exit                         \
        stackprotector-all              \
        timerfd                         \
        libdw-dwarf-unwind
        libelf-getphdrnum               \
        libelf-mmap                     \
        libpython-version               \
-       on-exit                         \
        stackprotector-all              \
        timerfd                         \
        libunwind-debug-frame           \
   CFLAGS += -DHAVE_LIBBFD_SUPPORT
 endif
 
-ifndef NO_ON_EXIT
-  ifeq ($(feature-on-exit), 1)
-    CFLAGS += -DHAVE_ON_EXIT_SUPPORT
-  endif
-endif
-
 ifndef NO_BACKTRACE
   ifeq ($(feature-backtrace), 1)
     CFLAGS += -DHAVE_BACKTRACE_SUPPORT
 
 # include "test-libbfd.c"
 #undef main
 
-#define main main_test_on_exit
-# include "test-on-exit.c"
-#undef main
-
 #define main main_test_backtrace
 # include "test-backtrace.c"
 #undef main
        main_test_gtk2(argc, argv);
        main_test_gtk2_infobar(argc, argv);
        main_test_libbfd();
-       main_test_on_exit();
        main_test_backtrace();
        main_test_libnuma();
        main_test_timerfd();
 
+++ /dev/null
-#include <stdio.h>
-#include <stdlib.h>
-
-static void exit_fn(int status, void *__data)
-{
-       printf("exit status: %d, data: %d\n", status, *(int *)__data);
-}
-
-static int data = 123;
-
-int main(void)
-{
-       on_exit(exit_fn, &data);
-
-       return 321;
-}