mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
Update.
1998-10-21 14:38 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysdep.h (INLINE_SYSCALL): New macro. Simply call __syscall_* function. * sysdeps/unix/sysv/linux/aio_sigqueue.c: Use INLINE_SYSCALL instead of calling __syscall_* function. * sysdeps/unix/sysv/linux/fxstat.c: Likewise. * sysdeps/unix/sysv/linux/fxstat64.c: Likewise. * sysdeps/unix/sysv/linux/getcwd.c: Likewise. * sysdeps/unix/sysv/linux/getdents.c: Likewise. * sysdeps/unix/sysv/linux/getpriority.c: Likewise. * sysdeps/unix/sysv/linux/getresgid.c: Likewise. * sysdeps/unix/sysv/linux/getresuid.c: Likewise. * sysdeps/unix/sysv/linux/lxstat.c: Likewise. * sysdeps/unix/sysv/linux/lxstat64.c: Likewise. * sysdeps/unix/sysv/linux/poll.c: Likewise. * sysdeps/unix/sysv/linux/pread.c: Likewise. * sysdeps/unix/sysv/linux/pread64.c: Likewise. * sysdeps/unix/sysv/linux/ptrace.c: Likewise. * sysdeps/unix/sysv/linux/pwrite.c: Likewise. * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. * sysdeps/unix/sysv/linux/readv.c: Likewise. * sysdeps/unix/sysv/linux/reboot.c: Likewise. * sysdeps/unix/sysv/linux/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/siglist.h: Likewise. * sysdeps/unix/sysv/linux/sigpending.c: Likewise. * sysdeps/unix/sysv/linux/sigprocmask.c: Likewise. * sysdeps/unix/sysv/linux/sigqueue.c: Likewise. * sysdeps/unix/sysv/linux/sigsuspend.c: Likewise. * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise. * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise. * sysdeps/unix/sysv/linux/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sysctl.c: Likewise. * sysdeps/unix/sysv/linux/ustat.c: Likewise. * sysdeps/unix/sysv/linux/writev.c: Likewise. * sysdeps/unix/sysv/linux/xmknod.c: Likewise. * sysdeps/unix/sysv/linux/xstat.c: Likewise. * sysdeps/unix/sysv/linux/xstat64.c: Likewise. * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. * sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise. * sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setfsuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setresuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setuid.c: Likewise. * sysdeps/unix/sysv/linux/i386/sysdep.h: Define INLINE_SYSCALL using inline assembler. * sysdeps/unix/sysv/linux/i386/syscalls.list: Remove various __syscall_* definitions. * sysdeps/unix/sysv/linux/syscalls.list: Move various __syscall_* definitions to... * sysdeps/unix/sysv/linux/alpha/syscalls.list: ...here... * sysdeps/unix/sysv/linux/arm/syscalls.list: ...and here... * sysdeps/unix/sysv/linux/m68k/syscalls.list: ...and here... * sysdeps/unix/sysv/linux/mips/syscalls.list: ...and here... * sysdeps/unix/sysv/linux/powerpc/syscalls.list: ...and here... * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: ...and here... * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: ...and here. * sysdeps/unix/sysv/linux/i386/Makefile [subdir=misc] (sysdep_routines): Remove s_pread64 and s_pwrite64. * sysdeps/unix/sysv/linux/i386/pread.c: New file. * sysdeps/unix/sysv/linux/i386/pread64.c: New file. * sysdeps/unix/sysv/linux/i386/pwrite.c: New file. * sysdeps/unix/sysv/linux/i386/pwrite64.c: New file. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Removed. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Removed. 1998-10-21 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/siglist.h: Fix some typos in these files and bring them in synch. * sysdeps/unix/siglist.c: Likewise. Reported by Vladimir Michl <michlv@risc.upol.cz> [PR libc/832]. 1998-10-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sysdeps/unix/sysv/linux/i386/setresuid.c: Allow -1 as arguments. * sysdeps/unix/sysv/linux/i386/setresgid.c: Likewise. * sysdeps/unix/sysv/linux/i386/setreuid.c: New file. * sysdeps/unix/sysv/linux/i386/setregid.c: New file. * sysdeps/unix/sysv/linux/m68k/setreuid.c: New file. * sysdeps/unix/sysv/linux/m68k/setregid.c: New file. * sysdeps/unix/sysv/linux/arm/setreuid.c: New file. * sysdeps/unix/sysv/linux/arm/setregid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setreuid.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/setregid.c: New file. * sysdeps/unix/sysv/linux/i386/syscalls.list: Add s_setreuid and s_setregid. * sysdeps/unix/sysv/linux/m68k/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/arm/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise. 1998-10-20 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sunrpc/rpc_main.c (close_output, close_input): New functions. (c_output, h_output, s_output, l_output, t_output, svc_output, clnt_output, mkfile_output): Call them at the end. 1998-10-19 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * db/Makefile (LDFLAGS-db1.so): New variable, to avoid duplicating link command. 1998-10-18 Zack Weinberg <zack@rabi.phys.columbia.edu> * sysdeps/unix/opendir.c: Check at runtime for kernel support for O_DIRECTORY. 1998-10-20 H.J. Lu <hjl@gnu.org> * sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Fix argument types.
This commit is contained in:
@@ -47,6 +47,7 @@ const char main_rcsid[] =
|
||||
#include <sys/param.h>
|
||||
#include <sys/file.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/wait.h>
|
||||
#include "rpc_parse.h"
|
||||
#include "rpc_util.h"
|
||||
#include "rpc_scan.h"
|
||||
@@ -82,6 +83,7 @@ static int cppDefined = 0; /* explicit path for C preprocessor */
|
||||
static const char *CPP = SUNOS_CPP;
|
||||
static char CPPFLAGS[] = "-C";
|
||||
static char *pathbuf;
|
||||
static int cpp_pid;
|
||||
static const char *allv[] =
|
||||
{
|
||||
"rpcgen", "-s", "udp", "-s", "tcp",
|
||||
@@ -296,6 +298,18 @@ open_output (const char *infile, const char *outfile)
|
||||
record_open (outfile);
|
||||
}
|
||||
|
||||
/* Close the output file and check for write errors. */
|
||||
static void
|
||||
close_output (const char *outfile)
|
||||
{
|
||||
if (fclose (fout) == EOF)
|
||||
{
|
||||
fprintf (stderr, _("%s: while writing output: "), cmdname);
|
||||
perror (outfile ?: "<stdout>");
|
||||
crash ();
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
add_warning (void)
|
||||
{
|
||||
@@ -354,7 +368,8 @@ open_input (const char *infile, const char *define)
|
||||
perror ("pipe");
|
||||
exit (1);
|
||||
}
|
||||
switch (fork ())
|
||||
cpp_pid = fork ();
|
||||
switch (cpp_pid)
|
||||
{
|
||||
case 0:
|
||||
find_cpp ();
|
||||
@@ -384,6 +399,32 @@ open_input (const char *infile, const char *define)
|
||||
}
|
||||
}
|
||||
|
||||
/* Close the connection to the C-preprocessor and check for successfull
|
||||
termination. */
|
||||
static void
|
||||
close_input (void)
|
||||
{
|
||||
int status;
|
||||
|
||||
fclose (fin);
|
||||
/* Check the termination status. */
|
||||
if (waitpid (cpp_pid, &status, 0) < 0)
|
||||
{
|
||||
perror ("waitpid");
|
||||
crash ();
|
||||
}
|
||||
if (WIFSIGNALED (status) || WEXITSTATUS (status) != 0)
|
||||
{
|
||||
if (WIFSIGNALED (status))
|
||||
fprintf (stderr, _("%s: C preprocessor failed with signal %d\n"),
|
||||
cmdname, WTERMSIG (status));
|
||||
else
|
||||
fprintf (stderr, _("%s: C preprocessor failed with exit code %d\n"),
|
||||
cmdname, WEXITSTATUS (status));
|
||||
crash ();
|
||||
}
|
||||
}
|
||||
|
||||
/* valid tirpc nettypes */
|
||||
static const char *valid_ti_nettypes[] =
|
||||
{
|
||||
@@ -454,6 +495,8 @@ c_output (const char *infile, const char *define, int extend,
|
||||
|
||||
if (extend && tell == ftell (fout))
|
||||
unlink (outfilename);
|
||||
close_input ();
|
||||
close_output (outfilename);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -620,6 +663,8 @@ h_output (const char *infile, const char *define, int extend,
|
||||
}
|
||||
|
||||
fprintf (fout, "\n#endif /* !_%s */\n", guard);
|
||||
close_input ();
|
||||
close_output (outfilename);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -750,6 +795,8 @@ s_output (int argc, const char *argv[], const char *infile, const char *define,
|
||||
}
|
||||
write_rest ();
|
||||
}
|
||||
close_input ();
|
||||
close_output (outfilename);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -787,6 +834,8 @@ l_output (const char *infile, const char *define, int extend,
|
||||
return;
|
||||
}
|
||||
write_stubs ();
|
||||
close_input ();
|
||||
close_output (outfilename);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -814,6 +863,8 @@ t_output (const char *infile, const char *define, int extend,
|
||||
return;
|
||||
}
|
||||
write_tables ();
|
||||
close_input ();
|
||||
close_output (outfilename);
|
||||
}
|
||||
|
||||
/* sample routine for the server template */
|
||||
@@ -851,6 +902,8 @@ svc_output (const char *infile, const char *define, int extend,
|
||||
{
|
||||
unlink (outfilename);
|
||||
}
|
||||
close_input ();
|
||||
close_output (outfilename);
|
||||
}
|
||||
|
||||
|
||||
@@ -893,6 +946,8 @@ clnt_output (const char *infile, const char *define, int extend,
|
||||
{
|
||||
unlink (outfilename);
|
||||
}
|
||||
close_input ();
|
||||
close_output (outfilename);
|
||||
}
|
||||
|
||||
static char *
|
||||
@@ -995,6 +1050,7 @@ $(LDLIBS) \n\n");
|
||||
f_print (fout, "\t$(LINK.c) -o $(SERVER) $(OBJECTS_SVC) $(LDLIBS)\n\n ");
|
||||
f_print (fout, "clean:\n\t $(RM) core $(TARGETS) $(OBJECTS_CLNT) \
|
||||
$(OBJECTS_SVC) $(CLIENT) $(SERVER)\n\n");
|
||||
close_output (mkfilename);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user