Files
Mike Frysinger e1e1ae6e9b sim: testsuite: fix objdir handling
The tests assume that the cwd is the objdir directory and write its
intermediates to there all the time.  When using runtest's --objdir
setting though, this puts the files in the wrong place.  This isn't
a big problem currently as we never change --objdir, but in order to
support parallel test execution, we're going to start setting that
option, so clean up the code ahead of time.

We also have to tweak some of the cris tests which were making
assumptions about the argv[0] value.
2021-11-26 19:27:21 -05:00

33 lines
716 B
C

/* Test some execution paths for error cases.
#cc: additional_flags=-Wl,--section-start=.startup=0x8000
The linker option is for sake of newlib, where the default program
layout starts at address 0. We need to change the layout so
there's no memory at 0, as all sim error checking is "lazy",
depending on lack of memory mapping. */
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
void err (const char *s)
{
perror (s);
abort ();
}
int main (int argc, char *argv[])
{
if (rename (argv[0], NULL) != -1
|| errno != EFAULT)
err ("rename 1 ");
errno = 0;
if (rename (NULL, argv[0]) != -1
|| errno != EFAULT)
err ("rename 2");
printf ("pass\n");
return 0;
}