forked from Imagelibrary/binutils-gdb
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:
@@ -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
|
||||
Reference in New Issue
Block a user