mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-18 00:32:30 +08:00
sim: switch to libiberty environ.h
Drop our compat code and assume environ exists to simplify.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2021-05-15 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* nrun.c: Include environ.h.
|
||||||
|
(environ): Delete prototype.
|
||||||
|
(main): Delete HAVE_ENVIRON check.
|
||||||
|
|
||||||
2021-05-14 Mike Frysinger <vapier@gentoo.org>
|
2021-05-14 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* callback.c (os_lseek): Change return and 3rd arg to int64_t.
|
* callback.c (os_lseek): Change return and 3rd arg to int64_t.
|
||||||
|
@ -27,16 +27,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|||||||
#include "sim-main.h"
|
#include "sim-main.h"
|
||||||
|
|
||||||
#include "bfd.h"
|
#include "bfd.h"
|
||||||
|
#include "environ.h"
|
||||||
|
|
||||||
#ifndef HAVE_STRSIGNAL
|
#ifndef HAVE_STRSIGNAL
|
||||||
/* While libiberty provides a fallback, it doesn't provide a prototype. */
|
/* While libiberty provides a fallback, it doesn't provide a prototype. */
|
||||||
extern const char *strsignal (int);
|
extern const char *strsignal (int);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_ENVIRON
|
|
||||||
extern char **environ;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_UNISTD_H
|
#ifdef HAVE_UNISTD_H
|
||||||
/* For chdir. */
|
/* For chdir. */
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
@ -133,11 +130,7 @@ main (int argc, char **argv)
|
|||||||
exit (1);
|
exit (1);
|
||||||
|
|
||||||
/* Prepare the program for execution. */
|
/* Prepare the program for execution. */
|
||||||
#ifdef HAVE_ENVIRON
|
|
||||||
sim_create_inferior (sd, prog_bfd, prog_argv, environ);
|
sim_create_inferior (sd, prog_bfd, prog_argv, environ);
|
||||||
#else
|
|
||||||
sim_create_inferior (sd, prog_bfd, prog_argv, NULL);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* To accommodate relative file paths, chdir to sysroot now. We
|
/* To accommodate relative file paths, chdir to sysroot now. We
|
||||||
mustn't do this until BFD has opened the program, else we wouldn't
|
mustn't do this until BFD has opened the program, else we wouldn't
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2021-05-15 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-if.c: Include environ.h.
|
||||||
|
(environ, GET_ENVIRON): Delete.
|
||||||
|
(sim_open): Replace my_environ with environ.
|
||||||
|
|
||||||
2021-05-14 Mike Frysinger <vapier@gentoo.org>
|
2021-05-14 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* traps.c (cris_break_13_handler): Delete 2nd arg to time callback.
|
* traps.c (cris_break_13_handler): Delete 2nd arg to time callback.
|
||||||
|
@ -30,16 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include "sim-options.h"
|
#include "sim-options.h"
|
||||||
#include "dis-asm.h"
|
#include "dis-asm.h"
|
||||||
|
#include "environ.h"
|
||||||
/* Apparently the autoconf bits are missing (though HAVE_ENVIRON is used
|
|
||||||
in other dirs; also lacking there). Patch around it for major systems. */
|
|
||||||
#if defined (HAVE_ENVIRON) || defined (__GLIBC__)
|
|
||||||
extern char **environ;
|
|
||||||
#define GET_ENVIRON() environ
|
|
||||||
#else
|
|
||||||
char *missing_environ[] = { "SHELL=/bin/sh", "PATH=/bin:/usr/bin", NULL };
|
|
||||||
#define GET_ENVIRON() missing_environ
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Used with get_progbounds to find out how much memory is needed for the
|
/* Used with get_progbounds to find out how much memory is needed for the
|
||||||
program. We don't want to allocate more, since that could mask
|
program. We don't want to allocate more, since that could mask
|
||||||
@ -747,7 +738,6 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
|
|||||||
if (abfd != NULL && !cris_bare_iron)
|
if (abfd != NULL && !cris_bare_iron)
|
||||||
{
|
{
|
||||||
const char *name = bfd_get_filename (abfd);
|
const char *name = bfd_get_filename (abfd);
|
||||||
char **my_environ = GET_ENVIRON ();
|
|
||||||
/* We use these maps to give the same behavior as the old xsim
|
/* We use these maps to give the same behavior as the old xsim
|
||||||
simulator. */
|
simulator. */
|
||||||
USI envtop = 0x40000000;
|
USI envtop = 0x40000000;
|
||||||
@ -764,8 +754,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
|
|||||||
bfd_byte buf[4];
|
bfd_byte buf[4];
|
||||||
|
|
||||||
/* Count in the environment as well. */
|
/* Count in the environment as well. */
|
||||||
for (envc = 0; my_environ[envc] != NULL; envc++)
|
for (envc = 0; environ[envc] != NULL; envc++)
|
||||||
len += strlen (my_environ[envc]) + 1;
|
len += strlen (environ[envc]) + 1;
|
||||||
|
|
||||||
for (i = 0; prog_argv[i] != NULL; my_argc++, i++)
|
for (i = 0; prog_argv[i] != NULL; my_argc++, i++)
|
||||||
len += strlen (prog_argv[i]) + 1;
|
len += strlen (prog_argv[i]) + 1;
|
||||||
@ -849,10 +839,9 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
|
|||||||
|
|
||||||
for (i = 0; i < envc; i++, csp += 4)
|
for (i = 0; i < envc; i++, csp += 4)
|
||||||
{
|
{
|
||||||
unsigned int strln = strlen (my_environ[i]) + 1;
|
unsigned int strln = strlen (environ[i]) + 1;
|
||||||
|
|
||||||
if (sim_core_write_buffer (sd, NULL, NULL_CIA, my_environ[i], epp,
|
if (sim_core_write_buffer (sd, NULL, NULL_CIA, environ[i], epp, strln)
|
||||||
strln)
|
|
||||||
!= strln)
|
!= strln)
|
||||||
goto abandon_chip;
|
goto abandon_chip;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user