sim: start unifying portability shims
There are some functions that gnulib does not yet provide fallbacks for, so start a common file of our own for holding existing stubs.
This commit is contained in:
parent
dd8e16ea7b
commit
ad9cc20970
12 changed files with 157 additions and 19 deletions
|
@ -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
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
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.
|
||||
|
|
|
@ -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:"
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
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 ...
|
||||
|
|
|
@ -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-%)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
67
sim/common/portability.c
Normal file
67
sim/common/portability.c
Normal file
|
@ -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
|
47
sim/common/portability.h
Normal file
47
sim/common/portability.h
Normal file
|
@ -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
|
|
@ -1,3 +1,7 @@
|
|||
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.
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
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.
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Add table
Reference in a new issue