mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-29 12:53:43 +08:00

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.
33 lines
716 B
C
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;
|
|
}
|