nsprpub/pr/include/md/_linux.cfg

branch
TOR_BUG_9701
changeset 13
44a2da4a2ab2
equal deleted inserted replaced
-1:000000000000 0:575dcfd53dd3
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6 /*
7 * This file is used by not only Linux but also other glibc systems
8 * such as GNU/Hurd and GNU/k*BSD.
9 */
10
11 #ifndef nspr_cpucfg___
12 #define nspr_cpucfg___
13
14 #ifndef XP_UNIX
15 #define XP_UNIX
16 #endif
17
18 #if !defined(LINUX) && defined(__linux__)
19 #define LINUX
20 #endif
21
22 #ifdef __FreeBSD_kernel__
23 #define PR_AF_INET6 28 /* same as AF_INET6 */
24 #elif defined(__GNU__)
25 #define PR_AF_INET6 26 /* same as AF_INET6 */
26 #else
27 #define PR_AF_INET6 10 /* same as AF_INET6 */
28 #endif
29
30 #ifdef __powerpc64__
31
32 #ifdef __LITTLE_ENDIAN__
33 #define IS_LITTLE_ENDIAN 1
34 #undef IS_BIG_ENDIAN
35 #else
36 #undef IS_LITTLE_ENDIAN
37 #define IS_BIG_ENDIAN 1
38 #endif
39 #define IS_64
40
41 #define PR_BYTES_PER_BYTE 1
42 #define PR_BYTES_PER_SHORT 2
43 #define PR_BYTES_PER_INT 4
44 #define PR_BYTES_PER_INT64 8
45 #define PR_BYTES_PER_LONG 8
46 #define PR_BYTES_PER_FLOAT 4
47 #define PR_BYTES_PER_DOUBLE 8
48 #define PR_BYTES_PER_WORD 8
49 #define PR_BYTES_PER_DWORD 8
50
51 #define PR_BITS_PER_BYTE 8
52 #define PR_BITS_PER_SHORT 16
53 #define PR_BITS_PER_INT 32
54 #define PR_BITS_PER_INT64 64
55 #define PR_BITS_PER_LONG 64
56 #define PR_BITS_PER_FLOAT 32
57 #define PR_BITS_PER_DOUBLE 64
58 #define PR_BITS_PER_WORD 64
59
60 #define PR_BITS_PER_BYTE_LOG2 3
61 #define PR_BITS_PER_SHORT_LOG2 4
62 #define PR_BITS_PER_INT_LOG2 5
63 #define PR_BITS_PER_INT64_LOG2 6
64 #define PR_BITS_PER_LONG_LOG2 6
65 #define PR_BITS_PER_FLOAT_LOG2 5
66 #define PR_BITS_PER_DOUBLE_LOG2 6
67 #define PR_BITS_PER_WORD_LOG2 6
68
69 #define PR_ALIGN_OF_SHORT 2
70 #define PR_ALIGN_OF_INT 4
71 #define PR_ALIGN_OF_LONG 8
72 #define PR_ALIGN_OF_INT64 8
73 #define PR_ALIGN_OF_FLOAT 4
74 #define PR_ALIGN_OF_DOUBLE 8
75 #define PR_ALIGN_OF_POINTER 8
76 #define PR_ALIGN_OF_WORD 8
77
78 #define PR_BYTES_PER_WORD_LOG2 3
79 #define PR_BYTES_PER_DWORD_LOG2 3
80
81 #elif defined(__powerpc__)
82
83 #ifdef __LITTLE_ENDIAN__
84 #define IS_LITTLE_ENDIAN 1
85 #undef IS_BIG_ENDIAN
86 #else
87 #undef IS_LITTLE_ENDIAN
88 #define IS_BIG_ENDIAN 1
89 #endif
90
91 #define PR_BYTES_PER_BYTE 1
92 #define PR_BYTES_PER_SHORT 2
93 #define PR_BYTES_PER_INT 4
94 #define PR_BYTES_PER_INT64 8
95 #define PR_BYTES_PER_LONG 4
96 #define PR_BYTES_PER_FLOAT 4
97 #define PR_BYTES_PER_DOUBLE 8
98 #define PR_BYTES_PER_WORD 4
99 #define PR_BYTES_PER_DWORD 8
100
101 #define PR_BITS_PER_BYTE 8
102 #define PR_BITS_PER_SHORT 16
103 #define PR_BITS_PER_INT 32
104 #define PR_BITS_PER_INT64 64
105 #define PR_BITS_PER_LONG 32
106 #define PR_BITS_PER_FLOAT 32
107 #define PR_BITS_PER_DOUBLE 64
108 #define PR_BITS_PER_WORD 32
109
110 #define PR_BITS_PER_BYTE_LOG2 3
111 #define PR_BITS_PER_SHORT_LOG2 4
112 #define PR_BITS_PER_INT_LOG2 5
113 #define PR_BITS_PER_INT64_LOG2 6
114 #define PR_BITS_PER_LONG_LOG2 5
115 #define PR_BITS_PER_FLOAT_LOG2 5
116 #define PR_BITS_PER_DOUBLE_LOG2 6
117 #define PR_BITS_PER_WORD_LOG2 5
118
119 #define PR_ALIGN_OF_SHORT 2
120 #define PR_ALIGN_OF_INT 4
121 #define PR_ALIGN_OF_LONG 4
122 #define PR_ALIGN_OF_INT64 8
123 #define PR_ALIGN_OF_FLOAT 4
124 #define PR_ALIGN_OF_DOUBLE 8
125 #define PR_ALIGN_OF_POINTER 4
126 #define PR_ALIGN_OF_WORD 4
127
128 #define PR_BYTES_PER_WORD_LOG2 2
129 #define PR_BYTES_PER_DWORD_LOG2 3
130
131 #elif defined(__alpha)
132
133 #define IS_LITTLE_ENDIAN 1
134 #undef IS_BIG_ENDIAN
135 #define IS_64
136
137 #define PR_BYTES_PER_BYTE 1
138 #define PR_BYTES_PER_SHORT 2
139 #define PR_BYTES_PER_INT 4
140 #define PR_BYTES_PER_INT64 8
141 #define PR_BYTES_PER_LONG 8
142 #define PR_BYTES_PER_FLOAT 4
143 #define PR_BYTES_PER_DOUBLE 8
144 #define PR_BYTES_PER_WORD 8
145 #define PR_BYTES_PER_DWORD 8
146
147 #define PR_BITS_PER_BYTE 8
148 #define PR_BITS_PER_SHORT 16
149 #define PR_BITS_PER_INT 32
150 #define PR_BITS_PER_INT64 64
151 #define PR_BITS_PER_LONG 64
152 #define PR_BITS_PER_FLOAT 32
153 #define PR_BITS_PER_DOUBLE 64
154 #define PR_BITS_PER_WORD 64
155
156 #define PR_BITS_PER_BYTE_LOG2 3
157 #define PR_BITS_PER_SHORT_LOG2 4
158 #define PR_BITS_PER_INT_LOG2 5
159 #define PR_BITS_PER_INT64_LOG2 6
160 #define PR_BITS_PER_LONG_LOG2 6
161 #define PR_BITS_PER_FLOAT_LOG2 5
162 #define PR_BITS_PER_DOUBLE_LOG2 6
163 #define PR_BITS_PER_WORD_LOG2 6
164
165 #define PR_ALIGN_OF_SHORT 2
166 #define PR_ALIGN_OF_INT 4
167 #define PR_ALIGN_OF_LONG 8
168 #define PR_ALIGN_OF_INT64 8
169 #define PR_ALIGN_OF_FLOAT 4
170 #define PR_ALIGN_OF_DOUBLE 8
171 #define PR_ALIGN_OF_POINTER 8
172 #define PR_ALIGN_OF_WORD 8
173
174 #define PR_BYTES_PER_WORD_LOG2 3
175 #define PR_BYTES_PER_DWORD_LOG2 3
176
177 #elif defined(__ia64__)
178
179 #define IS_LITTLE_ENDIAN 1
180 #undef IS_BIG_ENDIAN
181 #define IS_64
182
183 #define PR_BYTES_PER_BYTE 1
184 #define PR_BYTES_PER_SHORT 2
185 #define PR_BYTES_PER_INT 4
186 #define PR_BYTES_PER_INT64 8
187 #define PR_BYTES_PER_LONG 8
188 #define PR_BYTES_PER_FLOAT 4
189 #define PR_BYTES_PER_DOUBLE 8
190 #define PR_BYTES_PER_WORD 8
191 #define PR_BYTES_PER_DWORD 8
192
193 #define PR_BITS_PER_BYTE 8
194 #define PR_BITS_PER_SHORT 16
195 #define PR_BITS_PER_INT 32
196 #define PR_BITS_PER_INT64 64
197 #define PR_BITS_PER_LONG 64
198 #define PR_BITS_PER_FLOAT 32
199 #define PR_BITS_PER_DOUBLE 64
200 #define PR_BITS_PER_WORD 64
201
202 #define PR_BITS_PER_BYTE_LOG2 3
203 #define PR_BITS_PER_SHORT_LOG2 4
204 #define PR_BITS_PER_INT_LOG2 5
205 #define PR_BITS_PER_INT64_LOG2 6
206 #define PR_BITS_PER_LONG_LOG2 6
207 #define PR_BITS_PER_FLOAT_LOG2 5
208 #define PR_BITS_PER_DOUBLE_LOG2 6
209 #define PR_BITS_PER_WORD_LOG2 6
210
211 #define PR_ALIGN_OF_SHORT 2
212 #define PR_ALIGN_OF_INT 4
213 #define PR_ALIGN_OF_LONG 8
214 #define PR_ALIGN_OF_INT64 8
215 #define PR_ALIGN_OF_FLOAT 4
216 #define PR_ALIGN_OF_DOUBLE 8
217 #define PR_ALIGN_OF_POINTER 8
218 #define PR_ALIGN_OF_WORD 8
219
220 #define PR_BYTES_PER_WORD_LOG2 3
221 #define PR_BYTES_PER_DWORD_LOG2 3
222
223 #elif defined(__x86_64__)
224
225 #ifdef __ILP32__
226
227 #define IS_LITTLE_ENDIAN 1
228 #undef IS_BIG_ENDIAN
229
230 #define PR_BYTES_PER_BYTE 1
231 #define PR_BYTES_PER_SHORT 2
232 #define PR_BYTES_PER_INT 4
233 #define PR_BYTES_PER_INT64 8
234 #define PR_BYTES_PER_LONG 4
235 #define PR_BYTES_PER_FLOAT 4
236 #define PR_BYTES_PER_DOUBLE 8
237 #define PR_BYTES_PER_WORD 4
238 #define PR_BYTES_PER_DWORD 8
239
240 #define PR_BITS_PER_BYTE 8
241 #define PR_BITS_PER_SHORT 16
242 #define PR_BITS_PER_INT 32
243 #define PR_BITS_PER_INT64 64
244 #define PR_BITS_PER_LONG 32
245 #define PR_BITS_PER_FLOAT 32
246 #define PR_BITS_PER_DOUBLE 64
247 #define PR_BITS_PER_WORD 32
248
249 #define PR_BITS_PER_BYTE_LOG2 3
250 #define PR_BITS_PER_SHORT_LOG2 4
251 #define PR_BITS_PER_INT_LOG2 5
252 #define PR_BITS_PER_INT64_LOG2 6
253 #define PR_BITS_PER_LONG_LOG2 5
254 #define PR_BITS_PER_FLOAT_LOG2 5
255 #define PR_BITS_PER_DOUBLE_LOG2 6
256 #define PR_BITS_PER_WORD_LOG2 5
257
258 #define PR_ALIGN_OF_SHORT 2
259 #define PR_ALIGN_OF_INT 4
260 #define PR_ALIGN_OF_LONG 4
261 #define PR_ALIGN_OF_INT64 8
262 #define PR_ALIGN_OF_FLOAT 4
263 #define PR_ALIGN_OF_DOUBLE 8
264 #define PR_ALIGN_OF_POINTER 4
265 #define PR_ALIGN_OF_WORD 4
266
267 #define PR_BYTES_PER_WORD_LOG2 2
268 #define PR_BYTES_PER_DWORD_LOG2 3
269
270 #else
271
272 #define IS_LITTLE_ENDIAN 1
273 #undef IS_BIG_ENDIAN
274 #define IS_64
275
276 #define PR_BYTES_PER_BYTE 1
277 #define PR_BYTES_PER_SHORT 2
278 #define PR_BYTES_PER_INT 4
279 #define PR_BYTES_PER_INT64 8
280 #define PR_BYTES_PER_LONG 8
281 #define PR_BYTES_PER_FLOAT 4
282 #define PR_BYTES_PER_DOUBLE 8
283 #define PR_BYTES_PER_WORD 8
284 #define PR_BYTES_PER_DWORD 8
285
286 #define PR_BITS_PER_BYTE 8
287 #define PR_BITS_PER_SHORT 16
288 #define PR_BITS_PER_INT 32
289 #define PR_BITS_PER_INT64 64
290 #define PR_BITS_PER_LONG 64
291 #define PR_BITS_PER_FLOAT 32
292 #define PR_BITS_PER_DOUBLE 64
293 #define PR_BITS_PER_WORD 64
294
295 #define PR_BITS_PER_BYTE_LOG2 3
296 #define PR_BITS_PER_SHORT_LOG2 4
297 #define PR_BITS_PER_INT_LOG2 5
298 #define PR_BITS_PER_INT64_LOG2 6
299 #define PR_BITS_PER_LONG_LOG2 6
300 #define PR_BITS_PER_FLOAT_LOG2 5
301 #define PR_BITS_PER_DOUBLE_LOG2 6
302 #define PR_BITS_PER_WORD_LOG2 6
303
304 #define PR_ALIGN_OF_SHORT 2
305 #define PR_ALIGN_OF_INT 4
306 #define PR_ALIGN_OF_LONG 8
307 #define PR_ALIGN_OF_INT64 8
308 #define PR_ALIGN_OF_FLOAT 4
309 #define PR_ALIGN_OF_DOUBLE 8
310 #define PR_ALIGN_OF_POINTER 8
311 #define PR_ALIGN_OF_WORD 8
312
313 #define PR_BYTES_PER_WORD_LOG2 3
314 #define PR_BYTES_PER_DWORD_LOG2 3
315
316 #endif
317
318 #elif defined(__mc68000__)
319
320 #undef IS_LITTLE_ENDIAN
321 #define IS_BIG_ENDIAN 1
322
323 #define PR_BYTES_PER_BYTE 1
324 #define PR_BYTES_PER_SHORT 2
325 #define PR_BYTES_PER_INT 4
326 #define PR_BYTES_PER_INT64 8
327 #define PR_BYTES_PER_LONG 4
328 #define PR_BYTES_PER_FLOAT 4
329 #define PR_BYTES_PER_DOUBLE 8
330 #define PR_BYTES_PER_WORD 4
331 #define PR_BYTES_PER_DWORD 8
332
333 #define PR_BITS_PER_BYTE 8
334 #define PR_BITS_PER_SHORT 16
335 #define PR_BITS_PER_INT 32
336 #define PR_BITS_PER_INT64 64
337 #define PR_BITS_PER_LONG 32
338 #define PR_BITS_PER_FLOAT 32
339 #define PR_BITS_PER_DOUBLE 64
340 #define PR_BITS_PER_WORD 32
341
342 #define PR_BITS_PER_BYTE_LOG2 3
343 #define PR_BITS_PER_SHORT_LOG2 4
344 #define PR_BITS_PER_INT_LOG2 5
345 #define PR_BITS_PER_INT64_LOG2 6
346 #define PR_BITS_PER_LONG_LOG2 5
347 #define PR_BITS_PER_FLOAT_LOG2 5
348 #define PR_BITS_PER_DOUBLE_LOG2 6
349 #define PR_BITS_PER_WORD_LOG2 5
350
351 #define PR_ALIGN_OF_SHORT 2
352 #define PR_ALIGN_OF_INT 2
353 #define PR_ALIGN_OF_LONG 2
354 #define PR_ALIGN_OF_INT64 2
355 #define PR_ALIGN_OF_FLOAT 2
356 #define PR_ALIGN_OF_DOUBLE 2
357 #define PR_ALIGN_OF_POINTER 2
358 #define PR_ALIGN_OF_WORD 2
359
360 #define PR_BYTES_PER_WORD_LOG2 2
361 #define PR_BYTES_PER_DWORD_LOG2 3
362
363 #elif defined(__sparc__) && defined (__arch64__)
364
365 #undef IS_LITTLE_ENDIAN
366 #define IS_BIG_ENDIAN 1
367 #define IS_64
368
369 #define PR_BYTES_PER_BYTE 1
370 #define PR_BYTES_PER_SHORT 2
371 #define PR_BYTES_PER_INT 4
372 #define PR_BYTES_PER_INT64 8
373 #define PR_BYTES_PER_LONG 8
374 #define PR_BYTES_PER_FLOAT 4
375 #define PR_BYTES_PER_DOUBLE 8
376 #define PR_BYTES_PER_WORD 8
377 #define PR_BYTES_PER_DWORD 8
378
379 #define PR_BITS_PER_BYTE 8
380 #define PR_BITS_PER_SHORT 16
381 #define PR_BITS_PER_INT 32
382 #define PR_BITS_PER_INT64 64
383 #define PR_BITS_PER_LONG 64
384 #define PR_BITS_PER_FLOAT 32
385 #define PR_BITS_PER_DOUBLE 64
386 #define PR_BITS_PER_WORD 64
387
388 #define PR_BITS_PER_BYTE_LOG2 3
389 #define PR_BITS_PER_SHORT_LOG2 4
390 #define PR_BITS_PER_INT_LOG2 5
391 #define PR_BITS_PER_INT64_LOG2 6
392 #define PR_BITS_PER_LONG_LOG2 6
393 #define PR_BITS_PER_FLOAT_LOG2 5
394 #define PR_BITS_PER_DOUBLE_LOG2 6
395 #define PR_BITS_PER_WORD_LOG2 6
396
397 #define PR_ALIGN_OF_SHORT 2
398 #define PR_ALIGN_OF_INT 4
399 #define PR_ALIGN_OF_INT64 8
400 #define PR_ALIGN_OF_LONG 8
401 #define PR_ALIGN_OF_FLOAT 4
402 #define PR_ALIGN_OF_DOUBLE 8
403 #define PR_ALIGN_OF_POINTER 8
404 #define PR_ALIGN_OF_WORD 8
405
406 #define PR_BYTES_PER_WORD_LOG2 3
407 #define PR_BYTES_PER_DWORD_LOG2 3
408
409 #elif defined(__sparc__)
410
411 #undef IS_LITTLE_ENDIAN
412 #define IS_BIG_ENDIAN 1
413
414 #define PR_BYTES_PER_BYTE 1
415 #define PR_BYTES_PER_SHORT 2
416 #define PR_BYTES_PER_INT 4
417 #define PR_BYTES_PER_INT64 8
418 #define PR_BYTES_PER_LONG 4
419 #define PR_BYTES_PER_FLOAT 4
420 #define PR_BYTES_PER_DOUBLE 8
421 #define PR_BYTES_PER_WORD 4
422 #define PR_BYTES_PER_DWORD 8
423
424 #define PR_BITS_PER_BYTE 8
425 #define PR_BITS_PER_SHORT 16
426 #define PR_BITS_PER_INT 32
427 #define PR_BITS_PER_INT64 64
428 #define PR_BITS_PER_LONG 32
429 #define PR_BITS_PER_FLOAT 32
430 #define PR_BITS_PER_DOUBLE 64
431 #define PR_BITS_PER_WORD 32
432
433 #define PR_BITS_PER_BYTE_LOG2 3
434 #define PR_BITS_PER_SHORT_LOG2 4
435 #define PR_BITS_PER_INT_LOG2 5
436 #define PR_BITS_PER_INT64_LOG2 6
437 #define PR_BITS_PER_LONG_LOG2 5
438 #define PR_BITS_PER_FLOAT_LOG2 5
439 #define PR_BITS_PER_DOUBLE_LOG2 6
440 #define PR_BITS_PER_WORD_LOG2 5
441
442 #define PR_ALIGN_OF_SHORT 2
443 #define PR_ALIGN_OF_INT 4
444 #define PR_ALIGN_OF_LONG 4
445 #define PR_ALIGN_OF_INT64 8
446 #define PR_ALIGN_OF_FLOAT 4
447 #define PR_ALIGN_OF_DOUBLE 8
448 #define PR_ALIGN_OF_POINTER 4
449 #define PR_ALIGN_OF_WORD 4
450
451 #define PR_BYTES_PER_WORD_LOG2 2
452 #define PR_BYTES_PER_DWORD_LOG2 3
453
454 #elif defined(__i386__)
455
456 #define IS_LITTLE_ENDIAN 1
457 #undef IS_BIG_ENDIAN
458
459 #define PR_BYTES_PER_BYTE 1
460 #define PR_BYTES_PER_SHORT 2
461 #define PR_BYTES_PER_INT 4
462 #define PR_BYTES_PER_INT64 8
463 #define PR_BYTES_PER_LONG 4
464 #define PR_BYTES_PER_FLOAT 4
465 #define PR_BYTES_PER_DOUBLE 8
466 #define PR_BYTES_PER_WORD 4
467 #define PR_BYTES_PER_DWORD 8
468
469 #define PR_BITS_PER_BYTE 8
470 #define PR_BITS_PER_SHORT 16
471 #define PR_BITS_PER_INT 32
472 #define PR_BITS_PER_INT64 64
473 #define PR_BITS_PER_LONG 32
474 #define PR_BITS_PER_FLOAT 32
475 #define PR_BITS_PER_DOUBLE 64
476 #define PR_BITS_PER_WORD 32
477
478 #define PR_BITS_PER_BYTE_LOG2 3
479 #define PR_BITS_PER_SHORT_LOG2 4
480 #define PR_BITS_PER_INT_LOG2 5
481 #define PR_BITS_PER_INT64_LOG2 6
482 #define PR_BITS_PER_LONG_LOG2 5
483 #define PR_BITS_PER_FLOAT_LOG2 5
484 #define PR_BITS_PER_DOUBLE_LOG2 6
485 #define PR_BITS_PER_WORD_LOG2 5
486
487 #define PR_ALIGN_OF_SHORT 2
488 #define PR_ALIGN_OF_INT 4
489 #define PR_ALIGN_OF_LONG 4
490 #define PR_ALIGN_OF_INT64 4
491 #define PR_ALIGN_OF_FLOAT 4
492 #define PR_ALIGN_OF_DOUBLE 4
493 #define PR_ALIGN_OF_POINTER 4
494 #define PR_ALIGN_OF_WORD 4
495
496 #define PR_BYTES_PER_WORD_LOG2 2
497 #define PR_BYTES_PER_DWORD_LOG2 3
498
499 #elif defined(__mips__)
500
501 #ifdef __MIPSEB__
502 #define IS_BIG_ENDIAN 1
503 #undef IS_LITTLE_ENDIAN
504 #elif defined(__MIPSEL__)
505 #define IS_LITTLE_ENDIAN 1
506 #undef IS_BIG_ENDIAN
507 #else
508 #error "Unknown MIPS endianness."
509 #endif
510
511 #define PR_BYTES_PER_BYTE 1
512 #define PR_BYTES_PER_SHORT 2
513 #define PR_BYTES_PER_INT 4
514 #define PR_BYTES_PER_INT64 8
515 #define PR_BYTES_PER_LONG 4
516 #define PR_BYTES_PER_FLOAT 4
517 #define PR_BYTES_PER_DOUBLE 8
518 #define PR_BYTES_PER_WORD 4
519 #define PR_BYTES_PER_DWORD 8
520
521 #define PR_BITS_PER_BYTE 8
522 #define PR_BITS_PER_SHORT 16
523 #define PR_BITS_PER_INT 32
524 #define PR_BITS_PER_INT64 64
525 #define PR_BITS_PER_LONG 32
526 #define PR_BITS_PER_FLOAT 32
527 #define PR_BITS_PER_DOUBLE 64
528 #define PR_BITS_PER_WORD 32
529
530 #define PR_BITS_PER_BYTE_LOG2 3
531 #define PR_BITS_PER_SHORT_LOG2 4
532 #define PR_BITS_PER_INT_LOG2 5
533 #define PR_BITS_PER_INT64_LOG2 6
534 #define PR_BITS_PER_LONG_LOG2 5
535 #define PR_BITS_PER_FLOAT_LOG2 5
536 #define PR_BITS_PER_DOUBLE_LOG2 6
537 #define PR_BITS_PER_WORD_LOG2 5
538
539 #define PR_ALIGN_OF_SHORT 2
540 #define PR_ALIGN_OF_INT 4
541 #define PR_ALIGN_OF_LONG 4
542 #define PR_ALIGN_OF_INT64 8
543 #define PR_ALIGN_OF_FLOAT 4
544 #define PR_ALIGN_OF_DOUBLE 8
545 #define PR_ALIGN_OF_POINTER 4
546 #define PR_ALIGN_OF_WORD 4
547
548 #define PR_BYTES_PER_WORD_LOG2 2
549 #define PR_BYTES_PER_DWORD_LOG2 3
550
551 #elif defined(__arm__)
552
553 #ifdef __ARMEB__
554 #undef IS_LITTLE_ENDIAN
555 #define IS_BIG_ENDIAN 1
556 #elif defined(__ARMEL__)
557 #define IS_LITTLE_ENDIAN 1
558 #undef IS_BIG_ENDIAN
559 #else
560 #error "Unknown ARM endianness."
561 #endif
562
563 #define PR_BYTES_PER_BYTE 1
564 #define PR_BYTES_PER_SHORT 2
565 #define PR_BYTES_PER_INT 4
566 #define PR_BYTES_PER_INT64 8
567 #define PR_BYTES_PER_LONG 4
568 #define PR_BYTES_PER_FLOAT 4
569 #define PR_BYTES_PER_DOUBLE 8
570 #define PR_BYTES_PER_WORD 4
571 #define PR_BYTES_PER_DWORD 8
572
573 #define PR_BITS_PER_BYTE 8
574 #define PR_BITS_PER_SHORT 16
575 #define PR_BITS_PER_INT 32
576 #define PR_BITS_PER_INT64 64
577 #define PR_BITS_PER_LONG 32
578 #define PR_BITS_PER_FLOAT 32
579 #define PR_BITS_PER_DOUBLE 64
580 #define PR_BITS_PER_WORD 32
581
582 #define PR_BITS_PER_BYTE_LOG2 3
583 #define PR_BITS_PER_SHORT_LOG2 4
584 #define PR_BITS_PER_INT_LOG2 5
585 #define PR_BITS_PER_INT64_LOG2 6
586 #define PR_BITS_PER_LONG_LOG2 5
587 #define PR_BITS_PER_FLOAT_LOG2 5
588 #define PR_BITS_PER_DOUBLE_LOG2 6
589 #define PR_BITS_PER_WORD_LOG2 5
590
591 #define PR_ALIGN_OF_SHORT 2
592 #define PR_ALIGN_OF_INT 4
593 #define PR_ALIGN_OF_LONG 4
594 #define PR_ALIGN_OF_INT64 4
595 #define PR_ALIGN_OF_FLOAT 4
596 #define PR_ALIGN_OF_DOUBLE 4
597 #define PR_ALIGN_OF_POINTER 4
598 #define PR_ALIGN_OF_WORD 4
599
600 #define PR_BYTES_PER_WORD_LOG2 2
601 #define PR_BYTES_PER_DWORD_LOG2 3
602
603 #elif defined(__aarch64__)
604
605 #ifdef __AARCH64EB__
606 #undef IS_LITTLE_ENDIAN
607 #define IS_BIG_ENDIAN 1
608 #elif defined(__AARCH64EL__)
609 #define IS_LITTLE_ENDIAN 1
610 #undef IS_BIG_ENDIAN
611 #else
612 #error "Unknown Aarch64 endianness."
613 #endif
614 #define IS_64
615
616 #define PR_BYTES_PER_BYTE 1
617 #define PR_BYTES_PER_SHORT 2
618 #define PR_BYTES_PER_INT 4
619 #define PR_BYTES_PER_INT64 8
620 #define PR_BYTES_PER_LONG 8
621 #define PR_BYTES_PER_FLOAT 4
622 #define PR_BYTES_PER_DOUBLE 8
623 #define PR_BYTES_PER_WORD 8
624 #define PR_BYTES_PER_DWORD 8
625
626 #define PR_BITS_PER_BYTE 8
627 #define PR_BITS_PER_SHORT 16
628 #define PR_BITS_PER_INT 32
629 #define PR_BITS_PER_INT64 64
630 #define PR_BITS_PER_LONG 64
631 #define PR_BITS_PER_FLOAT 32
632 #define PR_BITS_PER_DOUBLE 64
633 #define PR_BITS_PER_WORD 64
634
635 #define PR_BITS_PER_BYTE_LOG2 3
636 #define PR_BITS_PER_SHORT_LOG2 4
637 #define PR_BITS_PER_INT_LOG2 5
638 #define PR_BITS_PER_INT64_LOG2 6
639 #define PR_BITS_PER_LONG_LOG2 6
640 #define PR_BITS_PER_FLOAT_LOG2 5
641 #define PR_BITS_PER_DOUBLE_LOG2 6
642 #define PR_BITS_PER_WORD_LOG2 6
643
644 #define PR_ALIGN_OF_SHORT 2
645 #define PR_ALIGN_OF_INT 4
646 #define PR_ALIGN_OF_LONG 8
647 #define PR_ALIGN_OF_INT64 8
648 #define PR_ALIGN_OF_FLOAT 4
649 #define PR_ALIGN_OF_DOUBLE 8
650 #define PR_ALIGN_OF_POINTER 8
651 #define PR_ALIGN_OF_WORD 8
652
653 #define PR_BYTES_PER_WORD_LOG2 3
654 #define PR_BYTES_PER_DWORD_LOG2 3
655
656 #elif defined(__hppa__)
657
658 #undef IS_LITTLE_ENDIAN
659 #define IS_BIG_ENDIAN 1
660
661 #define PR_BYTES_PER_BYTE 1
662 #define PR_BYTES_PER_SHORT 2
663 #define PR_BYTES_PER_INT 4
664 #define PR_BYTES_PER_INT64 8
665 #define PR_BYTES_PER_LONG 4
666 #define PR_BYTES_PER_FLOAT 4
667 #define PR_BYTES_PER_DOUBLE 8
668 #define PR_BYTES_PER_WORD 4
669 #define PR_BYTES_PER_DWORD 8
670
671 #define PR_BITS_PER_BYTE 8
672 #define PR_BITS_PER_SHORT 16
673 #define PR_BITS_PER_INT 32
674 #define PR_BITS_PER_INT64 64
675 #define PR_BITS_PER_LONG 32
676 #define PR_BITS_PER_FLOAT 32
677 #define PR_BITS_PER_DOUBLE 64
678 #define PR_BITS_PER_WORD 32
679
680 #define PR_BITS_PER_BYTE_LOG2 3
681 #define PR_BITS_PER_SHORT_LOG2 4
682 #define PR_BITS_PER_INT_LOG2 5
683 #define PR_BITS_PER_INT64_LOG2 6
684 #define PR_BITS_PER_LONG_LOG2 5
685 #define PR_BITS_PER_FLOAT_LOG2 5
686 #define PR_BITS_PER_DOUBLE_LOG2 6
687 #define PR_BITS_PER_WORD_LOG2 5
688
689 #define PR_ALIGN_OF_SHORT 2
690 #define PR_ALIGN_OF_INT 4
691 #define PR_ALIGN_OF_LONG 4
692 #define PR_ALIGN_OF_INT64 8
693 #define PR_ALIGN_OF_FLOAT 4
694 #define PR_ALIGN_OF_DOUBLE 8
695 #define PR_ALIGN_OF_POINTER 4
696 #define PR_ALIGN_OF_WORD 4
697
698 #define PR_BYTES_PER_WORD_LOG2 2
699 #define PR_BYTES_PER_DWORD_LOG2 3
700
701 #elif defined(__s390x__)
702
703 #define IS_BIG_ENDIAN 1
704 #undef IS_LITTLE_ENDIAN
705 #define IS_64
706
707 #define PR_BYTES_PER_BYTE 1
708 #define PR_BYTES_PER_SHORT 2
709 #define PR_BYTES_PER_INT 4
710 #define PR_BYTES_PER_INT64 8
711 #define PR_BYTES_PER_LONG 8
712 #define PR_BYTES_PER_FLOAT 4
713 #define PR_BYTES_PER_DOUBLE 8
714 #define PR_BYTES_PER_WORD 8
715 #define PR_BYTES_PER_DWORD 8
716
717 #define PR_BITS_PER_BYTE 8
718 #define PR_BITS_PER_SHORT 16
719 #define PR_BITS_PER_INT 32
720 #define PR_BITS_PER_INT64 64
721 #define PR_BITS_PER_LONG 64
722 #define PR_BITS_PER_FLOAT 32
723 #define PR_BITS_PER_DOUBLE 64
724 #define PR_BITS_PER_WORD 64
725
726 #define PR_BITS_PER_BYTE_LOG2 3
727 #define PR_BITS_PER_SHORT_LOG2 4
728 #define PR_BITS_PER_INT_LOG2 5
729 #define PR_BITS_PER_INT64_LOG2 6
730 #define PR_BITS_PER_LONG_LOG2 6
731 #define PR_BITS_PER_FLOAT_LOG2 5
732 #define PR_BITS_PER_DOUBLE_LOG2 6
733 #define PR_BITS_PER_WORD_LOG2 6
734
735 #define PR_ALIGN_OF_SHORT 2
736 #define PR_ALIGN_OF_INT 4
737 #define PR_ALIGN_OF_LONG 8
738 #define PR_ALIGN_OF_INT64 8
739 #define PR_ALIGN_OF_FLOAT 4
740 #define PR_ALIGN_OF_DOUBLE 8
741 #define PR_ALIGN_OF_POINTER 8
742 #define PR_ALIGN_OF_WORD 8
743
744 #define PR_BYTES_PER_WORD_LOG2 3
745 #define PR_BYTES_PER_DWORD_LOG2 3
746
747 #elif defined(__s390__)
748
749 #define IS_BIG_ENDIAN 1
750 #undef IS_LITTLE_ENDIAN
751
752 #define PR_BYTES_PER_BYTE 1
753 #define PR_BYTES_PER_SHORT 2
754 #define PR_BYTES_PER_INT 4
755 #define PR_BYTES_PER_INT64 8
756 #define PR_BYTES_PER_LONG 4
757 #define PR_BYTES_PER_FLOAT 4
758 #define PR_BYTES_PER_DOUBLE 8
759 #define PR_BYTES_PER_WORD 4
760 #define PR_BYTES_PER_DWORD 8
761
762 #define PR_BITS_PER_BYTE 8
763 #define PR_BITS_PER_SHORT 16
764 #define PR_BITS_PER_INT 32
765 #define PR_BITS_PER_INT64 64
766 #define PR_BITS_PER_LONG 32
767 #define PR_BITS_PER_FLOAT 32
768 #define PR_BITS_PER_DOUBLE 64
769 #define PR_BITS_PER_WORD 32
770
771 #define PR_BITS_PER_BYTE_LOG2 3
772 #define PR_BITS_PER_SHORT_LOG2 4
773 #define PR_BITS_PER_INT_LOG2 5
774 #define PR_BITS_PER_INT64_LOG2 6
775 #define PR_BITS_PER_LONG_LOG2 5
776 #define PR_BITS_PER_FLOAT_LOG2 5
777 #define PR_BITS_PER_DOUBLE_LOG2 6
778 #define PR_BITS_PER_WORD_LOG2 5
779
780 #define PR_ALIGN_OF_SHORT 2
781 #define PR_ALIGN_OF_INT 4
782 #define PR_ALIGN_OF_LONG 4
783 #define PR_ALIGN_OF_INT64 4
784 #define PR_ALIGN_OF_FLOAT 4
785 #define PR_ALIGN_OF_DOUBLE 4
786 #define PR_ALIGN_OF_POINTER 4
787 #define PR_ALIGN_OF_WORD 4
788
789 #define PR_BYTES_PER_WORD_LOG2 2
790 #define PR_BYTES_PER_DWORD_LOG2 3
791
792 #elif defined(__sh__)
793
794 #define IS_LITTLE_ENDIAN 1
795 #undef IS_BIG_ENDIAN
796
797 #define PR_BYTES_PER_BYTE 1
798 #define PR_BYTES_PER_SHORT 2
799 #define PR_BYTES_PER_INT 4
800 #define PR_BYTES_PER_INT64 8
801 #define PR_BYTES_PER_LONG 4
802 #define PR_BYTES_PER_FLOAT 4
803 #define PR_BYTES_PER_DOUBLE 8
804 #define PR_BYTES_PER_WORD 4
805 #define PR_BYTES_PER_DWORD 8
806
807 #define PR_BITS_PER_BYTE 8
808 #define PR_BITS_PER_SHORT 16
809 #define PR_BITS_PER_INT 32
810 #define PR_BITS_PER_INT64 64
811 #define PR_BITS_PER_LONG 32
812 #define PR_BITS_PER_FLOAT 32
813 #define PR_BITS_PER_DOUBLE 64
814 #define PR_BITS_PER_WORD 32
815
816 #define PR_BITS_PER_BYTE_LOG2 3
817 #define PR_BITS_PER_SHORT_LOG2 4
818 #define PR_BITS_PER_INT_LOG2 5
819 #define PR_BITS_PER_INT64_LOG2 6
820 #define PR_BITS_PER_LONG_LOG2 5
821 #define PR_BITS_PER_FLOAT_LOG2 5
822 #define PR_BITS_PER_DOUBLE_LOG2 6
823 #define PR_BITS_PER_WORD_LOG2 5
824
825 #define PR_ALIGN_OF_SHORT 2
826 #define PR_ALIGN_OF_INT 4
827 #define PR_ALIGN_OF_LONG 4
828 #define PR_ALIGN_OF_INT64 4
829 #define PR_ALIGN_OF_FLOAT 4
830 #define PR_ALIGN_OF_DOUBLE 4
831 #define PR_ALIGN_OF_POINTER 4
832 #define PR_ALIGN_OF_WORD 4
833
834 #define PR_BYTES_PER_WORD_LOG2 2
835 #define PR_BYTES_PER_DWORD_LOG2 3
836
837 #elif defined(__avr32__)
838
839 #undef IS_LITTLE_ENDIAN
840 #define IS_BIG_ENDIAN 1
841
842 #define PR_BYTES_PER_BYTE 1
843 #define PR_BYTES_PER_SHORT 2
844 #define PR_BYTES_PER_INT 4
845 #define PR_BYTES_PER_INT64 8
846 #define PR_BYTES_PER_LONG 4
847 #define PR_BYTES_PER_FLOAT 4
848 #define PR_BYTES_PER_DOUBLE 8
849 #define PR_BYTES_PER_WORD 4
850 #define PR_BYTES_PER_DWORD 8
851
852 #define PR_BITS_PER_BYTE 8
853 #define PR_BITS_PER_SHORT 16
854 #define PR_BITS_PER_INT 32
855 #define PR_BITS_PER_INT64 64
856 #define PR_BITS_PER_LONG 32
857 #define PR_BITS_PER_FLOAT 32
858 #define PR_BITS_PER_DOUBLE 64
859 #define PR_BITS_PER_WORD 32
860
861 #define PR_BITS_PER_BYTE_LOG2 3
862 #define PR_BITS_PER_SHORT_LOG2 4
863 #define PR_BITS_PER_INT_LOG2 5
864 #define PR_BITS_PER_INT64_LOG2 6
865 #define PR_BITS_PER_LONG_LOG2 5
866 #define PR_BITS_PER_FLOAT_LOG2 5
867 #define PR_BITS_PER_DOUBLE_LOG2 6
868 #define PR_BITS_PER_WORD_LOG2 5
869
870 #define PR_ALIGN_OF_SHORT 2
871 #define PR_ALIGN_OF_INT 4
872 #define PR_ALIGN_OF_LONG 4
873 #define PR_ALIGN_OF_INT64 4
874 #define PR_ALIGN_OF_FLOAT 4
875 #define PR_ALIGN_OF_DOUBLE 4
876 #define PR_ALIGN_OF_POINTER 4
877 #define PR_ALIGN_OF_WORD 4
878
879 #define PR_BYTES_PER_WORD_LOG2 2
880 #define PR_BYTES_PER_DWORD_LOG2 3
881
882 #elif defined(__m32r__)
883
884 #undef IS_LITTLE_ENDIAN
885 #define IS_BIG_ENDIAN 1
886
887 #define PR_BYTES_PER_BYTE 1
888 #define PR_BYTES_PER_SHORT 2
889 #define PR_BYTES_PER_INT 4
890 #define PR_BYTES_PER_INT64 8
891 #define PR_BYTES_PER_LONG 4
892 #define PR_BYTES_PER_FLOAT 4
893 #define PR_BYTES_PER_DOUBLE 8
894 #define PR_BYTES_PER_WORD 4
895 #define PR_BYTES_PER_DWORD 8
896
897 #define PR_BITS_PER_BYTE 8
898 #define PR_BITS_PER_SHORT 16
899 #define PR_BITS_PER_INT 32
900 #define PR_BITS_PER_INT64 64
901 #define PR_BITS_PER_LONG 32
902 #define PR_BITS_PER_FLOAT 32
903 #define PR_BITS_PER_DOUBLE 64
904 #define PR_BITS_PER_WORD 32
905
906 #define PR_BITS_PER_BYTE_LOG2 3
907 #define PR_BITS_PER_SHORT_LOG2 4
908 #define PR_BITS_PER_INT_LOG2 5
909 #define PR_BITS_PER_INT64_LOG2 6
910 #define PR_BITS_PER_LONG_LOG2 5
911 #define PR_BITS_PER_FLOAT_LOG2 5
912 #define PR_BITS_PER_DOUBLE_LOG2 6
913 #define PR_BITS_PER_WORD_LOG2 5
914
915 #define PR_ALIGN_OF_SHORT 2
916 #define PR_ALIGN_OF_INT 4
917 #define PR_ALIGN_OF_LONG 4
918 #define PR_ALIGN_OF_INT64 4
919 #define PR_ALIGN_OF_FLOAT 4
920 #define PR_ALIGN_OF_DOUBLE 4
921 #define PR_ALIGN_OF_POINTER 4
922 #define PR_ALIGN_OF_WORD 4
923
924 #define PR_BYTES_PER_WORD_LOG2 2
925 #define PR_BYTES_PER_DWORD_LOG2 3
926
927 #else
928
929 #error "Unknown CPU architecture"
930
931 #endif
932
933 #ifndef HAVE_LONG_LONG
934 #define HAVE_LONG_LONG
935 #endif
936 #if PR_ALIGN_OF_DOUBLE == 8
937 #define HAVE_ALIGNED_DOUBLES
938 #endif
939 #if PR_ALIGN_OF_INT64 == 8
940 #define HAVE_ALIGNED_LONGLONGS
941 #endif
942
943 #ifndef NO_NSPR_10_SUPPORT
944
945 #define BYTES_PER_BYTE PR_BYTES_PER_BYTE
946 #define BYTES_PER_SHORT PR_BYTES_PER_SHORT
947 #define BYTES_PER_INT PR_BYTES_PER_INT
948 #define BYTES_PER_INT64 PR_BYTES_PER_INT64
949 #define BYTES_PER_LONG PR_BYTES_PER_LONG
950 #define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT
951 #define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE
952 #define BYTES_PER_WORD PR_BYTES_PER_WORD
953 #define BYTES_PER_DWORD PR_BYTES_PER_DWORD
954
955 #define BITS_PER_BYTE PR_BITS_PER_BYTE
956 #define BITS_PER_SHORT PR_BITS_PER_SHORT
957 #define BITS_PER_INT PR_BITS_PER_INT
958 #define BITS_PER_INT64 PR_BITS_PER_INT64
959 #define BITS_PER_LONG PR_BITS_PER_LONG
960 #define BITS_PER_FLOAT PR_BITS_PER_FLOAT
961 #define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE
962 #define BITS_PER_WORD PR_BITS_PER_WORD
963
964 #define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2
965 #define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
966 #define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2
967 #define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
968 #define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2
969 #define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
970 #define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2
971 #define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2
972
973 #define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT
974 #define ALIGN_OF_INT PR_ALIGN_OF_INT
975 #define ALIGN_OF_LONG PR_ALIGN_OF_LONG
976 #define ALIGN_OF_INT64 PR_ALIGN_OF_INT64
977 #define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT
978 #define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE
979 #define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER
980 #define ALIGN_OF_WORD PR_ALIGN_OF_WORD
981
982 #define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2
983 #define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2
984 #define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2
985
986 #endif /* NO_NSPR_10_SUPPORT */
987
988 #endif /* nspr_cpucfg___ */

mercurial