]> git.draconx.ca Git - gentoo-fixes.git/blob - sys-devel/heirloom-devtools/files/heirloom-devtools-070527-solaris.patch
sys-devel/heirloom-devtools: Build fix for modern glibc.
[gentoo-fixes.git] / sys-devel / heirloom-devtools / files / heirloom-devtools-070527-solaris.patch
1 diff --git a/make/include/mksh/defs.h b/make/include/mksh/defs.h
2 index 1992205..8065a77 100644
3 --- a/make/include/mksh/defs.h
4 +++ b/make/include/mksh/defs.h
5 @@ -63,7 +63,6 @@
6  #include <widec.h>
7  #endif
8  
9 -#ifndef __sun
10  /*
11   * Definition of wchar functions.
12   */
13 @@ -90,7 +89,6 @@
14  #      define wscmp(x,y) wcscmp(x,y)
15  #      undef wsncmp
16  #      define wsncmp(x,y,z) wcsncmp(x,y,z)
17 -#endif
18  
19  #if defined (__FreeBSD__) || defined (__APPLE__) || defined (__hpux)
20  extern "C" { wchar_t   *wcsdup(const wchar_t *s); }
21 diff --git a/make/makestate/lock.c b/make/makestate/lock.c
22 index cdf7562..aa6083e 100644
23 --- a/make/makestate/lock.c
24 +++ b/make/makestate/lock.c
25 @@ -42,18 +42,6 @@
26  #include <sys/errno.h>
27  #include <errno.h>             /* errno */
28  
29 -#if defined(_LP64)
30 -/*
31 - * The symbols _sys_errlist and _sys_nerr are not visible in the
32 - * LP64 libc.  Use strerror(3C) instead.
33 - */
34 -#else  /* #_LP64 */
35 -#if defined (__sun) || defined (__hpux)
36 -extern char *          sys_errlist[];
37 -extern int             sys_nerr;
38 -#endif
39 -#endif /* #_LP64 */
40 -
41  static void            file_lock_error(char *, char *, const char *, char *, char *);
42  
43  /*
44 @@ -167,16 +155,7 @@ file_lock_error(char * msg, char * file, const char * str, char * arg1,
45         len = strlen(msg);
46         sprintf(&msg[len], str, arg1, arg2);
47         strcat(msg, " failed - ");
48 -#if defined(_LP64)
49         /* Needs to be changed to use strerror(3C) instead. */
50         len = strlen(msg);
51         sprintf(&msg[len], "errno %d", errno);
52 -#else  /* #_LP64 */
53 -       if (errno < sys_nerr) {
54 -               strcat(msg, sys_errlist[errno]);
55 -       } else {
56 -               len = strlen(msg);
57 -               sprintf(&msg[len], "errno %d", errno);
58 -       }
59 -#endif /* #_LP64 */
60  }
61 diff --git a/make/mksh/macro.cc b/make/mksh/macro.cc
62 index 6ddb624..23b0315 100644
63 --- a/make/mksh/macro.cc
64 +++ b/make/mksh/macro.cc
65 @@ -43,6 +43,7 @@
66  /*
67   * Included files
68   */
69 +#include <alloca.h>
70  #include <wordexp.h>
71  #include <mksh/dosys.h>                /* sh_command2string() */
72  #include <mksh/i18n.h>         /* get_char_semantics_value() */
73 @@ -1403,13 +1404,6 @@ found_it:;
74                         new_value = ALLOC_WC(length);
75                         new_value_allocated = true;
76                         WCSTOMBS(mbs_buffer, old_vr);
77 -#ifdef __sun
78 -                       wsprintf(new_value,
79 -                                       NOCATGETS("/usr/arch/%s/%s:%s"),
80 -                                       ha->string_mb + 1,
81 -                                       ta->string_mb + 1,
82 -                                       mbs_buffer);
83 -#else
84                         char * mbs_new_value = (char *)getmem(length);
85                         sprintf(mbs_new_value,
86                                         NOCATGETS("/usr/arch/%s/%s:%s"),
87 @@ -1418,7 +1412,6 @@ found_it:;
88                                         mbs_buffer);
89                         MBSTOWCS(new_value, mbs_new_value);
90                         retmem_mb(mbs_new_value);
91 -#endif
92                 }
93                 if (new_value[0] != 0) {
94                         setvar_daemon(virtual_root,
95 diff --git a/make/mksh/misc.cc b/make/mksh/misc.cc
96 index 11122cf..d617591 100644
97 --- a/make/mksh/misc.cc
98 +++ b/make/mksh/misc.cc
99 @@ -382,30 +382,7 @@ setup_char_semantics(void)
100  char *
101  errmsg(int errnum)
102  {
103 -#ifndef __sun
104         return strerror(errnum);
105 -#else // __sun
106 -
107 -       extern int              sys_nerr;
108 -#ifdef SUN4_x
109 -       extern char             *sys_errlist[];
110 -#endif
111 -       char                    *errbuf;
112 -
113 -       if ((errnum < 0) || (errnum > sys_nerr)) {
114 -               errbuf = getmem(6+1+11+1);
115 -               sprintf(errbuf, "Error %d", errnum);
116 -               return errbuf;
117 -       } else {
118 -#ifdef SUN4_x
119 -               return(sys_errlist[errnum]);
120 -#endif
121 -#ifdef SUN5_0
122 -               return strerror(errnum);
123 -#endif
124 -
125 -       }
126 -#endif // !__sun
127  }
128  
129  extern const char      *progname;
130 diff --git a/make/src/implicit.cc b/make/src/implicit.cc
131 index 2d388cc..a1cee7e 100644
132 --- a/make/src/implicit.cc
133 +++ b/make/src/implicit.cc
134 @@ -43,10 +43,13 @@
135  /*
136   * Included files
137   */
138 +#include <cstdio>
139  #include <mk/defs.h>
140  #include <mksh/macro.h>                /* expand_value() */
141  #include <mksh/misc.h>         /* retmem() */
142  
143 +using std::printf;
144 +
145  /*
146   * Defined macros
147   */
148 @@ -97,8 +100,6 @@ extern       void            add_target_to_chain(Name target, Chain * query);
149   *             recursion_level Used for tracing
150   */
151  
152 -extern int printf (const char *, ...);
153 -
154  static Boolean actual_doname = false;
155  
156  /* /tolik/
157 diff --git a/make/src/nse_printdep.cc b/make/src/nse_printdep.cc
158 index 6201a18..38826d2 100644
159 --- a/make/src/nse_printdep.cc
160 +++ b/make/src/nse_printdep.cc
161 @@ -37,9 +37,12 @@
162  /*
163   * Included files
164   */
165 +#include <cstdio>
166  #include <mk/defs.h>
167  #include <mksh/misc.h>         /* get_prop() */
168  
169 +using std::printf;
170 +
171  /*
172   * File table of contents
173   */
174 @@ -59,7 +62,6 @@ static void   print_rule(register Name target);
175  static void    print_rec_info(Name target);
176  static Boolean is_out_of_date(Property line);
177  extern void depvar_print_results (void);
178 -extern int printf (const char *, ...);
179  extern int _flsbuf (unsigned int, FILE *);
180  
181  /*
182 diff --git a/make/vroot/lock.cc b/make/vroot/lock.cc
183 index 1d6239b..1a20bc0 100644
184 --- a/make/vroot/lock.cc
185 +++ b/make/vroot/lock.cc
186 @@ -48,11 +48,6 @@
187  #include <signal.h>
188  #include <errno.h>                     /* errno */
189  
190 -#if defined(sun) || defined(HP_UX)
191 -extern char            *sys_errlist[];
192 -extern int             sys_nerr;
193 -#endif
194 -
195  static void            file_lock_error(char *msg, char *file, char *str, int arg1, int arg2);
196  
197  #define BLOCK_INTERUPTS sigfillset(&newset) ; \
198 @@ -179,20 +174,6 @@ file_lock_error(char *msg, char *file, char *str, int arg1, int arg2)
199         len = strlen(msg);
200         sprintf(&msg[len], str, arg1, arg2);
201         strcat(msg, " failed - ");
202 -#ifdef __sun
203 -       if (errno < sys_nerr) {
204 -#ifdef SUN4_x
205 -               strcat(msg, sys_errlist[errno]);
206 -#endif
207 -#ifdef SUN5_0
208 -               strcat(msg, strerror(errno));
209 -#endif
210 -       } else {
211 -               len = strlen(msg);
212 -               sprintf(&msg[len], NOCATGETS("errno %d"), errno);
213 -       }
214 -#else
215         strcat(msg, strerror(errno));
216 -#endif
217  }
218  
219 diff --git a/sccs/src/vc.c b/sccs/src/vc.c
220 index d7f7187..1c0ffb1 100644
221 --- a/sccs/src/vc.c
222 +++ b/sccs/src/vc.c
223 @@ -37,6 +37,7 @@
224   */
225  /*     from OpenSolaris "sccs:cmd/vc.c"        */
226  # include      <defines.h>
227 +# include      <limits.h>
228  # include      <locale.h>
229  
230