diff options
-rw-r--r-- | sim/Makefile.in | 19 | ||||
-rw-r--r-- | sim/bfin/ChangeLog | 5 | ||||
-rw-r--r-- | sim/bfin/interp.c | 20 | ||||
-rw-r--r-- | sim/common/ChangeLog | 6 | ||||
-rw-r--r-- | sim/common/Make-common.in | 1 | ||||
-rw-r--r-- | sim/common/local.mk | 1 | ||||
-rw-r--r-- | sim/common/portability.c | 67 | ||||
-rw-r--r-- | sim/common/portability.h | 47 | ||||
-rw-r--r-- | sim/cris/ChangeLog | 4 | ||||
-rw-r--r-- | sim/cris/traps.c | 1 | ||||
-rw-r--r-- | sim/m32r/ChangeLog | 4 | ||||
-rw-r--r-- | sim/m32r/traps-linux.c | 1 |
12 files changed, 157 insertions, 19 deletions
diff --git a/sim/Makefile.in b/sim/Makefile.in index dbfde78..c710449 100644 --- a/sim/Makefile.in +++ b/sim/Makefile.in @@ -228,6 +228,7 @@ common_libcommon_a_AR = $(AR) $(ARFLAGS) common_libcommon_a_LIBADD = am__dirstamp = $(am__leading_dot)dirstamp am_common_libcommon_a_OBJECTS = \ + common/common_libcommon_a-portability.$(OBJEXT) \ common/common_libcommon_a-sim-load.$(OBJEXT) \ common/common_libcommon_a-version.$(OBJEXT) common_libcommon_a_OBJECTS = $(am_common_libcommon_a_OBJECTS) @@ -756,6 +757,7 @@ common_libcommon_a_CPPFLAGS = \ -I.. common_libcommon_a_SOURCES = \ + common/portability.c \ common/sim-load.c \ common/version.c @@ -871,6 +873,8 @@ common/$(am__dirstamp): common/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) common/$(DEPDIR) @: > common/$(DEPDIR)/$(am__dirstamp) +common/common_libcommon_a-portability.$(OBJEXT): \ + common/$(am__dirstamp) common/$(DEPDIR)/$(am__dirstamp) common/common_libcommon_a-sim-load.$(OBJEXT): common/$(am__dirstamp) \ common/$(DEPDIR)/$(am__dirstamp) common/common_libcommon_a-version.$(OBJEXT): common/$(am__dirstamp) \ @@ -987,6 +991,7 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/common_libcommon_a-portability.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/common_libcommon_a-sim-load.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@common/$(DEPDIR)/common_libcommon_a-version.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@igen/$(DEPDIR)/filter.Po@am__quote@ @@ -1030,6 +1035,20 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` +common/common_libcommon_a-portability.o: common/portability.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(common_libcommon_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/common_libcommon_a-portability.o -MD -MP -MF common/$(DEPDIR)/common_libcommon_a-portability.Tpo -c -o common/common_libcommon_a-portability.o `test -f 'common/portability.c' || echo '$(srcdir)/'`common/portability.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/common_libcommon_a-portability.Tpo common/$(DEPDIR)/common_libcommon_a-portability.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/portability.c' object='common/common_libcommon_a-portability.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(common_libcommon_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/common_libcommon_a-portability.o `test -f 'common/portability.c' || echo '$(srcdir)/'`common/portability.c + +common/common_libcommon_a-portability.obj: common/portability.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(common_libcommon_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/common_libcommon_a-portability.obj -MD -MP -MF common/$(DEPDIR)/common_libcommon_a-portability.Tpo -c -o common/common_libcommon_a-portability.obj `if test -f 'common/portability.c'; then $(CYGPATH_W) 'common/portability.c'; else $(CYGPATH_W) '$(srcdir)/common/portability.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/common_libcommon_a-portability.Tpo common/$(DEPDIR)/common_libcommon_a-portability.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/portability.c' object='common/common_libcommon_a-portability.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(common_libcommon_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o common/common_libcommon_a-portability.obj `if test -f 'common/portability.c'; then $(CYGPATH_W) 'common/portability.c'; else $(CYGPATH_W) '$(srcdir)/common/portability.c'; fi` + common/common_libcommon_a-sim-load.o: common/sim-load.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(common_libcommon_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT common/common_libcommon_a-sim-load.o -MD -MP -MF common/$(DEPDIR)/common_libcommon_a-sim-load.Tpo -c -o common/common_libcommon_a-sim-load.o `test -f 'common/sim-load.c' || echo '$(srcdir)/'`common/sim-load.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) common/$(DEPDIR)/common_libcommon_a-sim-load.Tpo common/$(DEPDIR)/common_libcommon_a-sim-load.Po diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog index 52ba04f..9a8777d 100644 --- a/sim/bfin/ChangeLog +++ b/sim/bfin/ChangeLog @@ -1,5 +1,10 @@ 2021-06-12 Mike Frysinger <vapier@gentoo.org> + * interp.c: Include portability.h. + (getuid, getgid, geteuid, getegid setuid, setgid): Delete. + +2021-06-12 Mike Frysinger <vapier@gentoo.org> + * configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT. * interp.c (sim_open): Set current_alignment. diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c index 2e9696f..10de001 100644 --- a/sim/bfin/interp.c +++ b/sim/bfin/interp.c @@ -30,6 +30,7 @@ #include <unistd.h> #include <sys/time.h> +#include "portability.h" #include "sim/callback.h" #include "gdb/signals.h" #include "sim-main.h" @@ -74,25 +75,6 @@ #include "dv-bfin_cec.h" #include "dv-bfin_mmu.h" -#ifndef HAVE_GETUID -# define getuid() 0 -#endif -#ifndef HAVE_GETGID -# define getgid() 0 -#endif -#ifndef HAVE_GETEUID -# define geteuid() 0 -#endif -#ifndef HAVE_GETEGID -# define getegid() 0 -#endif -#ifndef HAVE_SETUID -# define setuid(uid) -1 -#endif -#ifndef HAVE_SETGID -# define setgid(gid) -1 -#endif - static const char cb_linux_stat_map_32[] = /* Linux kernel 32bit layout: */ "st_dev,2:space,2:st_ino,4:st_mode,2:st_nlink,2:st_uid,2:st_gid,2:st_rdev,2:" diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 5d713c6..8f44658 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,5 +1,11 @@ 2021-06-12 Mike Frysinger <vapier@gentoo.org> + * Make-common.in (COMMON_OBJS_NAMES): Add portability.o. + * local.mk (%C%_libcommon_a_SOURCES): Add %D%/portability.c. + * portability.c, portability.h: New files. + +2021-06-12 Mike Frysinger <vapier@gentoo.org> + * Make-common.in (SIM_NEW_COMMON_OBJS): Move sim-load.o to ... (COMMON_OBJS_NAMES): ... here. Rename var from COMMON_OBJS. (COMMON_OBJS): Redefine. diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in index 8454d16..7a5bbc1 100644 --- a/sim/common/Make-common.in +++ b/sim/common/Make-common.in @@ -254,6 +254,7 @@ EXTRA_LIBS = $(BFD_LIB) $(OPCODES_LIB) $(LIBINTL) $(LIBIBERTY_LIB) \ $(CONFIG_LIBS) $(SIM_EXTRA_LIBS) $(LIBDL) $(LIBGNU) $(LIBGNU_EXTRA_LIBS) COMMON_OBJS_NAMES = \ + portability.o \ sim-load.o \ version.o COMMON_OBJS = $(COMMON_OBJS_NAMES:%=../common/common_libcommon_a-%) diff --git a/sim/common/local.mk b/sim/common/local.mk index a340feb..076335d 100644 --- a/sim/common/local.mk +++ b/sim/common/local.mk @@ -34,6 +34,7 @@ noinst_LIBRARIES += %D%/libcommon.a -I../bfd \ -I.. %C%_libcommon_a_SOURCES = \ + %D%/portability.c \ %D%/sim-load.c \ %D%/version.c diff --git a/sim/common/portability.c b/sim/common/portability.c new file mode 100644 index 0000000..f0ccc46 --- /dev/null +++ b/sim/common/portability.c @@ -0,0 +1,67 @@ +/* Portability shims for missing OS support. + Copyright (C) 2021 Free Software Foundation, Inc. + Contributed by Mike Frysinger. + +This file is part of the GNU Simulators. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +/* This must come before any other includes. */ +#include "defs.h" + +#include <unistd.h> + +#include "portability.h" + +#ifndef HAVE_GETEGID +int getegid(void) +{ + return 0; +} +#endif + +#ifndef HAVE_GETEUID +int geteuid(void) +{ + return 0; +} +#endif + +#ifndef HAVE_GETGID +int getgid(void) +{ + return 0; +} +#endif + +#ifndef HAVE_GETUID +int getuid(void) +{ + return 0; +} +#endif + +#ifndef HAVE_SETGID +int setgid(int gid) +{ + return -1; +} +#endif + +#ifndef HAVE_SETUID +int setuid(int uid) +{ + return -1; +} +#endif diff --git a/sim/common/portability.h b/sim/common/portability.h new file mode 100644 index 0000000..12971f6 --- /dev/null +++ b/sim/common/portability.h @@ -0,0 +1,47 @@ +/* Portability shims for missing OS support. + Copyright (C) 2021 Free Software Foundation, Inc. + Contributed by Mike Frysinger. + +This file is part of the GNU Simulators. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifndef PORTABILITY_H +#define PORTABILITY_H + +#ifndef HAVE_GETEGID +int getegid(void); +#endif + +#ifndef HAVE_GETEUID +int geteuid(void); +#endif + +#ifndef HAVE_GETGID +int getgid(void); +#endif + +#ifndef HAVE_GETUID +int getuid(void); +#endif + +#ifndef HAVE_SETGID +int setgid(int gid); +#endif + +#ifndef HAVE_SETUID +int setuid(int uid); +#endif + +#endif diff --git a/sim/cris/ChangeLog b/sim/cris/ChangeLog index 2f4be8d..4cbd808 100644 --- a/sim/cris/ChangeLog +++ b/sim/cris/ChangeLog @@ -1,5 +1,9 @@ 2021-06-12 Mike Frysinger <vapier@gentoo.org> + * traps.c: Include portability.h. + +2021-06-12 Mike Frysinger <vapier@gentoo.org> + * dv-rv.c: Delete HAVE_SYS_SELECT_H. * rvdummy.c: Likewise. diff --git a/sim/cris/traps.c b/sim/cris/traps.c index 99344a2..a55f7df 100644 --- a/sim/cris/traps.c +++ b/sim/cris/traps.c @@ -20,6 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* This must come before any other includes. */ #include "defs.h" +#include "portability.h" #include "sim-main.h" #include "sim-syscall.h" #include "sim-options.h" diff --git a/sim/m32r/ChangeLog b/sim/m32r/ChangeLog index 69795b3..1786c52 100644 --- a/sim/m32r/ChangeLog +++ b/sim/m32r/ChangeLog @@ -1,5 +1,9 @@ 2021-06-12 Mike Frysinger <vapier@gentoo.org> + * traps-linux.c: Include portability.h. + +2021-06-12 Mike Frysinger <vapier@gentoo.org> + * configure.ac: Delete call to SIM_AC_OPTION_ALIGNMENT. * sim-if.c (sim_open): Set current_alignment. diff --git a/sim/m32r/traps-linux.c b/sim/m32r/traps-linux.c index 63ed137..1e3a084 100644 --- a/sim/m32r/traps-linux.c +++ b/sim/m32r/traps-linux.c @@ -20,6 +20,7 @@ /* This must come before any other includes. */ #include "defs.h" +#include "portability.h" #include "sim-main.h" #include "sim-syscall.h" #include "syscall.h" |