#include #include #include #include #include void *do_sbrk (intptr_t incr) { void *rv = sbrk (incr); printf ("sbrk (%llx) -> %p\n", (long long) incr, rv); if (rv == (void *) -1) { printf (" errno = %d (%s)\n", errno, strerror (errno)); } return rv; } int main (void) { setvbuf (stdout, NULL, _IOLBF, 0); printf ("starting\n"); void *rv0 = do_sbrk (0); void *rv1 = do_sbrk (1 << 30); void *rv2 = do_sbrk (0); printf ("%p, %p, %p\n", rv0, rv1, rv2); if (rv1 == rv2) { printf ("rv1 == rv2, lose!\n"); exit (EXIT_FAILURE); } printf ("done\n"); }