summaryrefslogtreecommitdiffstats
path: root/src/mingw-utils-1-portability-fix.patch
blob: 42237cb94120b3141be9727e82e27b80780878fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
This file is part of MXE.
See index.html for further information.

This patch has been taken from:
http://sourceforge.net/tracker/?func=detail&aid=3119898&group_id=2435&atid=102435

diff -r 62cf992c82c9 reimp/reimp.c
--- a/reimp/reimp.c	Fri Nov 26 19:02:28 2010 +0100
+++ b/reimp/reimp.c	Fri Nov 26 19:14:59 2010 +0100
@@ -80,20 +80,20 @@
   return 1;
 }
 
-static int do_import (char *, uint32, FILE *);
+static int do_import (char *, uint32_t, FILE *);
 
 /* read second linker member and process all archive members */
 static int
 read_link_member (struct ar_hdr *hdr, FILE *f)
 {
-  uint32 n_memb;
-  uint32 n_syms;
-  uint32 *ofs;
-  uint16 *idx;
+  uint32_t n_memb;
+  uint32_t n_syms;
+  uint32_t *ofs;
+  uint16_t *idx;
   char *buf;
   char *sym;
-  uint32 n;
-  uint16 i;
+  uint32_t n;
+  uint16_t i;
 
   /* FIXME: are offsets and sizes in host endianness?  Currently we
      assume so. */
@@ -305,7 +305,7 @@
 }
 
 void
-extract_member (char *name, uint32 size, FILE *f)
+extract_member (char *name, uint32_t size, FILE *f)
 {
   static int non_imports = 0;
   char buf[2048];
@@ -379,7 +379,7 @@
 
 /* process an import */
 static int
-do_import (char *name, uint32 offset, FILE *f)
+do_import (char *name, uint32_t offset, FILE *f)
 {
   struct ar_hdr ar_hdr;
   struct imp_hdr imp_hdr;
@@ -410,7 +410,7 @@
           extract_member (get_ar_name (&ar_hdr),
                           strtol (ar_hdr.ar_size, NULL, 10), f);
         }
-      return;
+      return 0;
     }
 
   sym = buf = xmalloc (imp_hdr.size);
diff -r 62cf992c82c9 reimp/reimp.h
--- a/reimp/reimp.h	Fri Nov 26 19:02:28 2010 +0100
+++ b/reimp/reimp.h	Fri Nov 26 19:14:59 2010 +0100
@@ -1,14 +1,6 @@
 #include <stddef.h>
+#include <stdint.h>
 #include <stdio.h>
-
-/* we need integers of specific sizes */
-#ifndef uint32
-#define uint32 unsigned long
-#endif
-
-#ifndef uint16
-#define uint16 unsigned short
-#endif
 
 /* defines for archive */
 #ifndef ARMAG
@@ -41,13 +33,13 @@
 
 /* import header */
 struct imp_hdr {
-  uint16 sig1;
-  uint16 sig2;
-  uint16 version;
-  uint32 time;
-  uint32 size;
-  uint16 ord_or_hint;
-  uint16 type;
+  uint16_t sig1;
+  uint16_t sig2;
+  uint16_t version;
+  uint32_t time;
+  uint32_t size;
+  uint16_t ord_or_hint;
+  uint16_t type;
 };
 
 /* sig1 */
@@ -67,7 +59,7 @@
 #define IMPORT_NAME_UNDECORATE	IMPNT(3)
 #define TEST_IMPNT(t,v) (((t) & IMPNT(7)) == (v))
 
-uint32 swap_endian (uint32);
+uint32_t swap_endian (uint32_t);
 
 #ifdef BIG_ENDIAN
 #define btonat(u) u
@@ -87,7 +79,7 @@
 
 #if !defined(_WIN32) && !defined(__MSDOS__)
 #define spawnvp do_spawn
-int spawnvp (int, char *, char **);
+int spawnvp (int, char *, const char * const *);
 #define P_WAIT 0
 #define P_NOWAIT 1
 #endif
diff -r 62cf992c82c9 reimp/util.c
--- a/reimp/util.c	Fri Nov 26 19:02:28 2010 +0100
+++ b/reimp/util.c	Fri Nov 26 19:14:59 2010 +0100
@@ -1,6 +1,7 @@
 #include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
+#include <unistd.h>
 
 #include <reimp.h>
 
@@ -9,14 +10,14 @@
 #define swapb(a,b) a ^= b; b ^= a; a ^= b
 
 /* swap little <=> big endian */
-uint32
-swap_endian (uint32 u)
+uint32_t
+swap_endian (uint32_t u)
 {
 #define swapb(a,b) a ^= b; b ^= a; a ^= b
   unsigned char *p = (unsigned char *) &u;
   swapb (p[0], p[3]);
   swapb (p[1], p[2]);
-  return *((uint32 *) p);
+  return *((uint32_t *) p);
 }
 
 
@@ -79,7 +80,7 @@
 #endif
 
 int
-spawnvp (int mode, char *path, char **argv)
+spawnvp (int mode, char *path, const char * const *argv)
 {
   int pid;
   int status;
@@ -89,7 +90,7 @@
     case -1:
       return -1;
     case 0:
-      execvp (path, argv);
+      execvp (path, (char * const *) argv);
 
       _exit (EXIT_FAILURE);
       break;