summarylogtreecommitdiffstats
path: root/glibc-2.16-rpcgen-cpp-path.patch
diff options
context:
space:
mode:
authorFantix King2012-09-20 15:23:55 +0800
committerFantix King2015-11-13 01:19:06 +0800
commit5bcdaf6e549ef232c3d8da771a47ecc473841ea4 (patch)
tree65901485c23aa3b5e60213850f021475474f0355 /glibc-2.16-rpcgen-cpp-path.patch
parent462e8fb70a0b3a4e9bd76f3c9026ce0fd76bbadc (diff)
downloadaur-5bcdaf6e549ef232c3d8da771a47ecc473841ea4.tar.gz
2.16.0-3.1
Diffstat (limited to 'glibc-2.16-rpcgen-cpp-path.patch')
-rw-r--r--glibc-2.16-rpcgen-cpp-path.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/glibc-2.16-rpcgen-cpp-path.patch b/glibc-2.16-rpcgen-cpp-path.patch
new file mode 100644
index 000000000000..822b57294b3a
--- /dev/null
+++ b/glibc-2.16-rpcgen-cpp-path.patch
@@ -0,0 +1,68 @@
+diff --git a/sunrpc/rpc_main.c b/sunrpc/rpc_main.c
+index 06d951a..2103b10 100644
+--- a/sunrpc/rpc_main.c
++++ b/sunrpc/rpc_main.c
+@@ -75,12 +75,9 @@ struct commandline
+
+ static const char *cmdname;
+
+-#define SVR4_CPP "/usr/ccs/lib/cpp"
+-#define SUNOS_CPP "/lib/cpp"
+-
+ static const char *svcclosetime = "120";
+ static int cppDefined; /* explicit path for C preprocessor */
+-static const char *CPP = SUNOS_CPP;
++static const char *CPP = "/lib/cpp";
+ static const char CPPFLAGS[] = "-C";
+ static char *pathbuf;
+ static int cpp_pid;
+@@ -327,23 +324,17 @@ find_cpp (void)
+ {
+ struct stat buf;
+
+- if (stat (CPP, &buf) < 0)
+- { /* /lib/cpp or explicit cpp does not exist */
+- if (cppDefined)
+- {
+- fprintf (stderr, _ ("cannot find C preprocessor: %s \n"), CPP);
+- crash ();
+- }
+- else
+- { /* try the other one */
+- CPP = SVR4_CPP;
+- if (stat (CPP, &buf) < 0)
+- { /* can't find any cpp */
+- fputs (_ ("cannot find any C preprocessor (cpp)\n"), stdout);
+- crash ();
+- }
+- }
++ if (stat (CPP, &buf) == 0)
++ return;
++
++ if (cppDefined) /* user specified cpp but it does not exist */
++ {
++ fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
++ crash ();
+ }
++
++ /* fall back to system CPP */
++ CPP = "cpp";
+ }
+
+ /*
+@@ -374,8 +365,13 @@ open_input (const char *infile, const char *define)
+ close (1);
+ dup2 (pd[1], 1);
+ close (pd[0]);
+- execv (arglist[0], (char **) arglist);
+- perror ("execv");
++ execvp (arglist[0], (char **) arglist);
++ if (errno == ENOENT)
++ {
++ fprintf (stderr, _ ("cannot find C preprocessor: %s\n"), CPP);
++ exit (1);
++ }
++ perror ("execvp");
+ exit (1);
+ case -1:
+ perror ("fork");