1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* ***** BEGIN LICENSE BLOCK *****
3
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
5
* The contents of this file are subject to the Mozilla Public License Version
6
* 1.1 (the "License"); you may not use this file except in compliance with
7
* the License. You may obtain a copy of the License at
8
* http://www.mozilla.org/MPL/
10
* Software distributed under the License is distributed on an "AS IS" basis,
11
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12
* for the specific language governing rights and limitations under the
15
* The Original Code is the Netscape Portable Runtime (NSPR).
17
* The Initial Developer of the Original Code is
18
* Netscape Communications Corporation.
19
* Portions created by the Initial Developer are Copyright (C) 1998-2000
20
* the Initial Developer. All Rights Reserved.
24
* Alternatively, the contents of this file may be used under the terms of
25
* either the GNU General Public License Version 2 or later (the "GPL"), or
26
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27
* in which case the provisions of the GPL or the LGPL are applicable instead
28
* of those above. If you wish to allow use of your version of this file only
29
* under the terms of either the GPL or the LGPL, and not to allow others to
30
* use your version of this file under the terms of the MPL, indicate your
31
* decision by deleting the provisions above and replace them with the notice
32
* and other provisions required by the GPL or the LGPL. If you do not delete
33
* the provisions above, a recipient may use your version of this file under
34
* the terms of any one of the MPL, the GPL or the LGPL.
36
* ***** END LICENSE BLOCK ***** */
39
* This file is used by not only Linux but also other glibc systems
40
* such as GNU/Hurd and GNU/k*BSD.
43
#ifndef nspr_cpucfg___
44
#define nspr_cpucfg___
50
#if !defined(LINUX) && defined(__linux__)
54
#ifdef __FreeBSD_kernel__
55
#define PR_AF_INET6 28 /* same as AF_INET6 */
57
#define PR_AF_INET6 10 /* same as AF_INET6 */
62
#undef IS_LITTLE_ENDIAN
63
#define IS_BIG_ENDIAN 1
66
#define PR_BYTES_PER_BYTE 1
67
#define PR_BYTES_PER_SHORT 2
68
#define PR_BYTES_PER_INT 4
69
#define PR_BYTES_PER_INT64 8
70
#define PR_BYTES_PER_LONG 8
71
#define PR_BYTES_PER_FLOAT 4
72
#define PR_BYTES_PER_DOUBLE 8
73
#define PR_BYTES_PER_WORD 8
74
#define PR_BYTES_PER_DWORD 8
76
#define PR_BITS_PER_BYTE 8
77
#define PR_BITS_PER_SHORT 16
78
#define PR_BITS_PER_INT 32
79
#define PR_BITS_PER_INT64 64
80
#define PR_BITS_PER_LONG 64
81
#define PR_BITS_PER_FLOAT 32
82
#define PR_BITS_PER_DOUBLE 64
83
#define PR_BITS_PER_WORD 64
85
#define PR_BITS_PER_BYTE_LOG2 3
86
#define PR_BITS_PER_SHORT_LOG2 4
87
#define PR_BITS_PER_INT_LOG2 5
88
#define PR_BITS_PER_INT64_LOG2 6
89
#define PR_BITS_PER_LONG_LOG2 6
90
#define PR_BITS_PER_FLOAT_LOG2 5
91
#define PR_BITS_PER_DOUBLE_LOG2 6
92
#define PR_BITS_PER_WORD_LOG2 6
94
#define PR_ALIGN_OF_SHORT 2
95
#define PR_ALIGN_OF_INT 4
96
#define PR_ALIGN_OF_LONG 8
97
#define PR_ALIGN_OF_INT64 8
98
#define PR_ALIGN_OF_FLOAT 4
99
#define PR_ALIGN_OF_DOUBLE 8
100
#define PR_ALIGN_OF_POINTER 8
101
#define PR_ALIGN_OF_WORD 8
103
#define PR_BYTES_PER_WORD_LOG2 3
104
#define PR_BYTES_PER_DWORD_LOG2 3
106
#elif defined(__powerpc__)
108
#undef IS_LITTLE_ENDIAN
109
#define IS_BIG_ENDIAN 1
111
#define PR_BYTES_PER_BYTE 1
112
#define PR_BYTES_PER_SHORT 2
113
#define PR_BYTES_PER_INT 4
114
#define PR_BYTES_PER_INT64 8
115
#define PR_BYTES_PER_LONG 4
116
#define PR_BYTES_PER_FLOAT 4
117
#define PR_BYTES_PER_DOUBLE 8
118
#define PR_BYTES_PER_WORD 4
119
#define PR_BYTES_PER_DWORD 8
121
#define PR_BITS_PER_BYTE 8
122
#define PR_BITS_PER_SHORT 16
123
#define PR_BITS_PER_INT 32
124
#define PR_BITS_PER_INT64 64
125
#define PR_BITS_PER_LONG 32
126
#define PR_BITS_PER_FLOAT 32
127
#define PR_BITS_PER_DOUBLE 64
128
#define PR_BITS_PER_WORD 32
130
#define PR_BITS_PER_BYTE_LOG2 3
131
#define PR_BITS_PER_SHORT_LOG2 4
132
#define PR_BITS_PER_INT_LOG2 5
133
#define PR_BITS_PER_INT64_LOG2 6
134
#define PR_BITS_PER_LONG_LOG2 5
135
#define PR_BITS_PER_FLOAT_LOG2 5
136
#define PR_BITS_PER_DOUBLE_LOG2 6
137
#define PR_BITS_PER_WORD_LOG2 5
139
#define PR_ALIGN_OF_SHORT 2
140
#define PR_ALIGN_OF_INT 4
141
#define PR_ALIGN_OF_LONG 4
142
#define PR_ALIGN_OF_INT64 8
143
#define PR_ALIGN_OF_FLOAT 4
144
#define PR_ALIGN_OF_DOUBLE 8
145
#define PR_ALIGN_OF_POINTER 4
146
#define PR_ALIGN_OF_WORD 4
148
#define PR_BYTES_PER_WORD_LOG2 2
149
#define PR_BYTES_PER_DWORD_LOG2 3
151
#elif defined(__alpha)
153
#define IS_LITTLE_ENDIAN 1
157
#define PR_BYTES_PER_BYTE 1
158
#define PR_BYTES_PER_SHORT 2
159
#define PR_BYTES_PER_INT 4
160
#define PR_BYTES_PER_INT64 8
161
#define PR_BYTES_PER_LONG 8
162
#define PR_BYTES_PER_FLOAT 4
163
#define PR_BYTES_PER_DOUBLE 8
164
#define PR_BYTES_PER_WORD 8
165
#define PR_BYTES_PER_DWORD 8
167
#define PR_BITS_PER_BYTE 8
168
#define PR_BITS_PER_SHORT 16
169
#define PR_BITS_PER_INT 32
170
#define PR_BITS_PER_INT64 64
171
#define PR_BITS_PER_LONG 64
172
#define PR_BITS_PER_FLOAT 32
173
#define PR_BITS_PER_DOUBLE 64
174
#define PR_BITS_PER_WORD 64
176
#define PR_BITS_PER_BYTE_LOG2 3
177
#define PR_BITS_PER_SHORT_LOG2 4
178
#define PR_BITS_PER_INT_LOG2 5
179
#define PR_BITS_PER_INT64_LOG2 6
180
#define PR_BITS_PER_LONG_LOG2 6
181
#define PR_BITS_PER_FLOAT_LOG2 5
182
#define PR_BITS_PER_DOUBLE_LOG2 6
183
#define PR_BITS_PER_WORD_LOG2 6
185
#define PR_ALIGN_OF_SHORT 2
186
#define PR_ALIGN_OF_INT 4
187
#define PR_ALIGN_OF_LONG 8
188
#define PR_ALIGN_OF_INT64 8
189
#define PR_ALIGN_OF_FLOAT 4
190
#define PR_ALIGN_OF_DOUBLE 8
191
#define PR_ALIGN_OF_POINTER 8
192
#define PR_ALIGN_OF_WORD 8
194
#define PR_BYTES_PER_WORD_LOG2 3
195
#define PR_BYTES_PER_DWORD_LOG2 3
197
#elif defined(__ia64__)
199
#define IS_LITTLE_ENDIAN 1
203
#define PR_BYTES_PER_BYTE 1
204
#define PR_BYTES_PER_SHORT 2
205
#define PR_BYTES_PER_INT 4
206
#define PR_BYTES_PER_INT64 8
207
#define PR_BYTES_PER_LONG 8
208
#define PR_BYTES_PER_FLOAT 4
209
#define PR_BYTES_PER_DOUBLE 8
210
#define PR_BYTES_PER_WORD 8
211
#define PR_BYTES_PER_DWORD 8
213
#define PR_BITS_PER_BYTE 8
214
#define PR_BITS_PER_SHORT 16
215
#define PR_BITS_PER_INT 32
216
#define PR_BITS_PER_INT64 64
217
#define PR_BITS_PER_LONG 64
218
#define PR_BITS_PER_FLOAT 32
219
#define PR_BITS_PER_DOUBLE 64
220
#define PR_BITS_PER_WORD 64
222
#define PR_BITS_PER_BYTE_LOG2 3
223
#define PR_BITS_PER_SHORT_LOG2 4
224
#define PR_BITS_PER_INT_LOG2 5
225
#define PR_BITS_PER_INT64_LOG2 6
226
#define PR_BITS_PER_LONG_LOG2 6
227
#define PR_BITS_PER_FLOAT_LOG2 5
228
#define PR_BITS_PER_DOUBLE_LOG2 6
229
#define PR_BITS_PER_WORD_LOG2 6
231
#define PR_ALIGN_OF_SHORT 2
232
#define PR_ALIGN_OF_INT 4
233
#define PR_ALIGN_OF_LONG 8
234
#define PR_ALIGN_OF_INT64 8
235
#define PR_ALIGN_OF_FLOAT 4
236
#define PR_ALIGN_OF_DOUBLE 8
237
#define PR_ALIGN_OF_POINTER 8
238
#define PR_ALIGN_OF_WORD 8
240
#define PR_BYTES_PER_WORD_LOG2 3
241
#define PR_BYTES_PER_DWORD_LOG2 3
243
#elif defined(__x86_64__)
245
#define IS_LITTLE_ENDIAN 1
249
#define PR_BYTES_PER_BYTE 1
250
#define PR_BYTES_PER_SHORT 2
251
#define PR_BYTES_PER_INT 4
252
#define PR_BYTES_PER_INT64 8
253
#define PR_BYTES_PER_LONG 8
254
#define PR_BYTES_PER_FLOAT 4
255
#define PR_BYTES_PER_DOUBLE 8
256
#define PR_BYTES_PER_WORD 8
257
#define PR_BYTES_PER_DWORD 8
259
#define PR_BITS_PER_BYTE 8
260
#define PR_BITS_PER_SHORT 16
261
#define PR_BITS_PER_INT 32
262
#define PR_BITS_PER_INT64 64
263
#define PR_BITS_PER_LONG 64
264
#define PR_BITS_PER_FLOAT 32
265
#define PR_BITS_PER_DOUBLE 64
266
#define PR_BITS_PER_WORD 64
268
#define PR_BITS_PER_BYTE_LOG2 3
269
#define PR_BITS_PER_SHORT_LOG2 4
270
#define PR_BITS_PER_INT_LOG2 5
271
#define PR_BITS_PER_INT64_LOG2 6
272
#define PR_BITS_PER_LONG_LOG2 6
273
#define PR_BITS_PER_FLOAT_LOG2 5
274
#define PR_BITS_PER_DOUBLE_LOG2 6
275
#define PR_BITS_PER_WORD_LOG2 6
277
#define PR_ALIGN_OF_SHORT 2
278
#define PR_ALIGN_OF_INT 4
279
#define PR_ALIGN_OF_LONG 8
280
#define PR_ALIGN_OF_INT64 8
281
#define PR_ALIGN_OF_FLOAT 4
282
#define PR_ALIGN_OF_DOUBLE 8
283
#define PR_ALIGN_OF_POINTER 8
284
#define PR_ALIGN_OF_WORD 8
286
#define PR_BYTES_PER_WORD_LOG2 3
287
#define PR_BYTES_PER_DWORD_LOG2 3
289
#elif defined(__mc68000__)
291
#undef IS_LITTLE_ENDIAN
292
#define IS_BIG_ENDIAN 1
294
#define PR_BYTES_PER_BYTE 1
295
#define PR_BYTES_PER_SHORT 2
296
#define PR_BYTES_PER_INT 4
297
#define PR_BYTES_PER_INT64 8
298
#define PR_BYTES_PER_LONG 4
299
#define PR_BYTES_PER_FLOAT 4
300
#define PR_BYTES_PER_DOUBLE 8
301
#define PR_BYTES_PER_WORD 4
302
#define PR_BYTES_PER_DWORD 8
304
#define PR_BITS_PER_BYTE 8
305
#define PR_BITS_PER_SHORT 16
306
#define PR_BITS_PER_INT 32
307
#define PR_BITS_PER_INT64 64
308
#define PR_BITS_PER_LONG 32
309
#define PR_BITS_PER_FLOAT 32
310
#define PR_BITS_PER_DOUBLE 64
311
#define PR_BITS_PER_WORD 32
313
#define PR_BITS_PER_BYTE_LOG2 3
314
#define PR_BITS_PER_SHORT_LOG2 4
315
#define PR_BITS_PER_INT_LOG2 5
316
#define PR_BITS_PER_INT64_LOG2 6
317
#define PR_BITS_PER_LONG_LOG2 5
318
#define PR_BITS_PER_FLOAT_LOG2 5
319
#define PR_BITS_PER_DOUBLE_LOG2 6
320
#define PR_BITS_PER_WORD_LOG2 5
322
#define PR_ALIGN_OF_SHORT 2
323
#define PR_ALIGN_OF_INT 2
324
#define PR_ALIGN_OF_LONG 2
325
#define PR_ALIGN_OF_INT64 2
326
#define PR_ALIGN_OF_FLOAT 2
327
#define PR_ALIGN_OF_DOUBLE 2
328
#define PR_ALIGN_OF_POINTER 2
329
#define PR_ALIGN_OF_WORD 2
331
#define PR_BYTES_PER_WORD_LOG2 2
332
#define PR_BYTES_PER_DWORD_LOG2 3
334
#elif defined(__sparc__) && defined (__arch64__)
336
#undef IS_LITTLE_ENDIAN
337
#define IS_BIG_ENDIAN 1
340
#define PR_BYTES_PER_BYTE 1
341
#define PR_BYTES_PER_SHORT 2
342
#define PR_BYTES_PER_INT 4
343
#define PR_BYTES_PER_INT64 8
344
#define PR_BYTES_PER_LONG 8
345
#define PR_BYTES_PER_FLOAT 4
346
#define PR_BYTES_PER_DOUBLE 8
347
#define PR_BYTES_PER_WORD 8
348
#define PR_BYTES_PER_DWORD 8
350
#define PR_BITS_PER_BYTE 8
351
#define PR_BITS_PER_SHORT 16
352
#define PR_BITS_PER_INT 32
353
#define PR_BITS_PER_INT64 64
354
#define PR_BITS_PER_LONG 64
355
#define PR_BITS_PER_FLOAT 32
356
#define PR_BITS_PER_DOUBLE 64
357
#define PR_BITS_PER_WORD 64
359
#define PR_BITS_PER_BYTE_LOG2 3
360
#define PR_BITS_PER_SHORT_LOG2 4
361
#define PR_BITS_PER_INT_LOG2 5
362
#define PR_BITS_PER_INT64_LOG2 6
363
#define PR_BITS_PER_LONG_LOG2 6
364
#define PR_BITS_PER_FLOAT_LOG2 5
365
#define PR_BITS_PER_DOUBLE_LOG2 6
366
#define PR_BITS_PER_WORD_LOG2 6
368
#define PR_ALIGN_OF_SHORT 2
369
#define PR_ALIGN_OF_INT 4
370
#define PR_ALIGN_OF_INT64 8
371
#define PR_ALIGN_OF_LONG 8
372
#define PR_ALIGN_OF_FLOAT 4
373
#define PR_ALIGN_OF_DOUBLE 8
374
#define PR_ALIGN_OF_POINTER 8
375
#define PR_ALIGN_OF_WORD 8
377
#define PR_BYTES_PER_WORD_LOG2 3
378
#define PR_BYTES_PER_DWORD_LOG2 3
380
#elif defined(__sparc__)
382
#undef IS_LITTLE_ENDIAN
383
#define IS_BIG_ENDIAN 1
385
#define PR_BYTES_PER_BYTE 1
386
#define PR_BYTES_PER_SHORT 2
387
#define PR_BYTES_PER_INT 4
388
#define PR_BYTES_PER_INT64 8
389
#define PR_BYTES_PER_LONG 4
390
#define PR_BYTES_PER_FLOAT 4
391
#define PR_BYTES_PER_DOUBLE 8
392
#define PR_BYTES_PER_WORD 4
393
#define PR_BYTES_PER_DWORD 8
395
#define PR_BITS_PER_BYTE 8
396
#define PR_BITS_PER_SHORT 16
397
#define PR_BITS_PER_INT 32
398
#define PR_BITS_PER_INT64 64
399
#define PR_BITS_PER_LONG 32
400
#define PR_BITS_PER_FLOAT 32
401
#define PR_BITS_PER_DOUBLE 64
402
#define PR_BITS_PER_WORD 32
404
#define PR_BITS_PER_BYTE_LOG2 3
405
#define PR_BITS_PER_SHORT_LOG2 4
406
#define PR_BITS_PER_INT_LOG2 5
407
#define PR_BITS_PER_INT64_LOG2 6
408
#define PR_BITS_PER_LONG_LOG2 5
409
#define PR_BITS_PER_FLOAT_LOG2 5
410
#define PR_BITS_PER_DOUBLE_LOG2 6
411
#define PR_BITS_PER_WORD_LOG2 5
413
#define PR_ALIGN_OF_SHORT 2
414
#define PR_ALIGN_OF_INT 4
415
#define PR_ALIGN_OF_LONG 4
416
#define PR_ALIGN_OF_INT64 8
417
#define PR_ALIGN_OF_FLOAT 4
418
#define PR_ALIGN_OF_DOUBLE 8
419
#define PR_ALIGN_OF_POINTER 4
420
#define PR_ALIGN_OF_WORD 4
422
#define PR_BYTES_PER_WORD_LOG2 2
423
#define PR_BYTES_PER_DWORD_LOG2 3
425
#elif defined(__i386__)
427
#define IS_LITTLE_ENDIAN 1
430
#define PR_BYTES_PER_BYTE 1
431
#define PR_BYTES_PER_SHORT 2
432
#define PR_BYTES_PER_INT 4
433
#define PR_BYTES_PER_INT64 8
434
#define PR_BYTES_PER_LONG 4
435
#define PR_BYTES_PER_FLOAT 4
436
#define PR_BYTES_PER_DOUBLE 8
437
#define PR_BYTES_PER_WORD 4
438
#define PR_BYTES_PER_DWORD 8
440
#define PR_BITS_PER_BYTE 8
441
#define PR_BITS_PER_SHORT 16
442
#define PR_BITS_PER_INT 32
443
#define PR_BITS_PER_INT64 64
444
#define PR_BITS_PER_LONG 32
445
#define PR_BITS_PER_FLOAT 32
446
#define PR_BITS_PER_DOUBLE 64
447
#define PR_BITS_PER_WORD 32
449
#define PR_BITS_PER_BYTE_LOG2 3
450
#define PR_BITS_PER_SHORT_LOG2 4
451
#define PR_BITS_PER_INT_LOG2 5
452
#define PR_BITS_PER_INT64_LOG2 6
453
#define PR_BITS_PER_LONG_LOG2 5
454
#define PR_BITS_PER_FLOAT_LOG2 5
455
#define PR_BITS_PER_DOUBLE_LOG2 6
456
#define PR_BITS_PER_WORD_LOG2 5
458
#define PR_ALIGN_OF_SHORT 2
459
#define PR_ALIGN_OF_INT 4
460
#define PR_ALIGN_OF_LONG 4
461
#define PR_ALIGN_OF_INT64 4
462
#define PR_ALIGN_OF_FLOAT 4
463
#define PR_ALIGN_OF_DOUBLE 4
464
#define PR_ALIGN_OF_POINTER 4
465
#define PR_ALIGN_OF_WORD 4
467
#define PR_BYTES_PER_WORD_LOG2 2
468
#define PR_BYTES_PER_DWORD_LOG2 3
470
#elif defined(__mips__)
473
#define IS_BIG_ENDIAN 1
474
#undef IS_LITTLE_ENDIAN
475
#elif defined(__MIPSEL__)
476
#define IS_LITTLE_ENDIAN 1
479
#error "Unknown MIPS endianness."
482
#define PR_BYTES_PER_BYTE 1
483
#define PR_BYTES_PER_SHORT 2
484
#define PR_BYTES_PER_INT 4
485
#define PR_BYTES_PER_INT64 8
486
#define PR_BYTES_PER_LONG 4
487
#define PR_BYTES_PER_FLOAT 4
488
#define PR_BYTES_PER_DOUBLE 8
489
#define PR_BYTES_PER_WORD 4
490
#define PR_BYTES_PER_DWORD 8
492
#define PR_BITS_PER_BYTE 8
493
#define PR_BITS_PER_SHORT 16
494
#define PR_BITS_PER_INT 32
495
#define PR_BITS_PER_INT64 64
496
#define PR_BITS_PER_LONG 32
497
#define PR_BITS_PER_FLOAT 32
498
#define PR_BITS_PER_DOUBLE 64
499
#define PR_BITS_PER_WORD 32
501
#define PR_BITS_PER_BYTE_LOG2 3
502
#define PR_BITS_PER_SHORT_LOG2 4
503
#define PR_BITS_PER_INT_LOG2 5
504
#define PR_BITS_PER_INT64_LOG2 6
505
#define PR_BITS_PER_LONG_LOG2 5
506
#define PR_BITS_PER_FLOAT_LOG2 5
507
#define PR_BITS_PER_DOUBLE_LOG2 6
508
#define PR_BITS_PER_WORD_LOG2 5
510
#define PR_ALIGN_OF_SHORT 2
511
#define PR_ALIGN_OF_INT 4
512
#define PR_ALIGN_OF_LONG 4
513
#define PR_ALIGN_OF_INT64 8
514
#define PR_ALIGN_OF_FLOAT 4
515
#define PR_ALIGN_OF_DOUBLE 8
516
#define PR_ALIGN_OF_POINTER 4
517
#define PR_ALIGN_OF_WORD 4
519
#define PR_BYTES_PER_WORD_LOG2 2
520
#define PR_BYTES_PER_DWORD_LOG2 3
522
#elif defined(__arm__)
525
#undef IS_LITTLE_ENDIAN
526
#define IS_BIG_ENDIAN 1
527
#elif defined(__ARMEL__)
528
#define IS_LITTLE_ENDIAN 1
531
#error "Unknown ARM endianness."
534
#define PR_BYTES_PER_BYTE 1
535
#define PR_BYTES_PER_SHORT 2
536
#define PR_BYTES_PER_INT 4
537
#define PR_BYTES_PER_INT64 8
538
#define PR_BYTES_PER_LONG 4
539
#define PR_BYTES_PER_FLOAT 4
540
#define PR_BYTES_PER_DOUBLE 8
541
#define PR_BYTES_PER_WORD 4
542
#define PR_BYTES_PER_DWORD 8
544
#define PR_BITS_PER_BYTE 8
545
#define PR_BITS_PER_SHORT 16
546
#define PR_BITS_PER_INT 32
547
#define PR_BITS_PER_INT64 64
548
#define PR_BITS_PER_LONG 32
549
#define PR_BITS_PER_FLOAT 32
550
#define PR_BITS_PER_DOUBLE 64
551
#define PR_BITS_PER_WORD 32
553
#define PR_BITS_PER_BYTE_LOG2 3
554
#define PR_BITS_PER_SHORT_LOG2 4
555
#define PR_BITS_PER_INT_LOG2 5
556
#define PR_BITS_PER_INT64_LOG2 6
557
#define PR_BITS_PER_LONG_LOG2 5
558
#define PR_BITS_PER_FLOAT_LOG2 5
559
#define PR_BITS_PER_DOUBLE_LOG2 6
560
#define PR_BITS_PER_WORD_LOG2 5
562
#define PR_ALIGN_OF_SHORT 2
563
#define PR_ALIGN_OF_INT 4
564
#define PR_ALIGN_OF_LONG 4
565
#define PR_ALIGN_OF_INT64 4
566
#define PR_ALIGN_OF_FLOAT 4
567
#define PR_ALIGN_OF_DOUBLE 4
568
#define PR_ALIGN_OF_POINTER 4
569
#define PR_ALIGN_OF_WORD 4
571
#define PR_BYTES_PER_WORD_LOG2 2
572
#define PR_BYTES_PER_DWORD_LOG2 3
574
#elif defined(__hppa__)
576
#undef IS_LITTLE_ENDIAN
577
#define IS_BIG_ENDIAN 1
579
#define PR_BYTES_PER_BYTE 1
580
#define PR_BYTES_PER_SHORT 2
581
#define PR_BYTES_PER_INT 4
582
#define PR_BYTES_PER_INT64 8
583
#define PR_BYTES_PER_LONG 4
584
#define PR_BYTES_PER_FLOAT 4
585
#define PR_BYTES_PER_DOUBLE 8
586
#define PR_BYTES_PER_WORD 4
587
#define PR_BYTES_PER_DWORD 8
589
#define PR_BITS_PER_BYTE 8
590
#define PR_BITS_PER_SHORT 16
591
#define PR_BITS_PER_INT 32
592
#define PR_BITS_PER_INT64 64
593
#define PR_BITS_PER_LONG 32
594
#define PR_BITS_PER_FLOAT 32
595
#define PR_BITS_PER_DOUBLE 64
596
#define PR_BITS_PER_WORD 32
598
#define PR_BITS_PER_BYTE_LOG2 3
599
#define PR_BITS_PER_SHORT_LOG2 4
600
#define PR_BITS_PER_INT_LOG2 5
601
#define PR_BITS_PER_INT64_LOG2 6
602
#define PR_BITS_PER_LONG_LOG2 5
603
#define PR_BITS_PER_FLOAT_LOG2 5
604
#define PR_BITS_PER_DOUBLE_LOG2 6
605
#define PR_BITS_PER_WORD_LOG2 5
607
#define PR_ALIGN_OF_SHORT 2
608
#define PR_ALIGN_OF_INT 4
609
#define PR_ALIGN_OF_LONG 4
610
#define PR_ALIGN_OF_INT64 8
611
#define PR_ALIGN_OF_FLOAT 4
612
#define PR_ALIGN_OF_DOUBLE 8
613
#define PR_ALIGN_OF_POINTER 4
614
#define PR_ALIGN_OF_WORD 4
616
#define PR_BYTES_PER_WORD_LOG2 2
617
#define PR_BYTES_PER_DWORD_LOG2 3
619
#elif defined(__s390x__)
621
#define IS_BIG_ENDIAN 1
622
#undef IS_LITTLE_ENDIAN
625
#define PR_BYTES_PER_BYTE 1
626
#define PR_BYTES_PER_SHORT 2
627
#define PR_BYTES_PER_INT 4
628
#define PR_BYTES_PER_INT64 8
629
#define PR_BYTES_PER_LONG 8
630
#define PR_BYTES_PER_FLOAT 4
631
#define PR_BYTES_PER_DOUBLE 8
632
#define PR_BYTES_PER_WORD 8
633
#define PR_BYTES_PER_DWORD 8
635
#define PR_BITS_PER_BYTE 8
636
#define PR_BITS_PER_SHORT 16
637
#define PR_BITS_PER_INT 32
638
#define PR_BITS_PER_INT64 64
639
#define PR_BITS_PER_LONG 64
640
#define PR_BITS_PER_FLOAT 32
641
#define PR_BITS_PER_DOUBLE 64
642
#define PR_BITS_PER_WORD 64
644
#define PR_BITS_PER_BYTE_LOG2 3
645
#define PR_BITS_PER_SHORT_LOG2 4
646
#define PR_BITS_PER_INT_LOG2 5
647
#define PR_BITS_PER_INT64_LOG2 6
648
#define PR_BITS_PER_LONG_LOG2 6
649
#define PR_BITS_PER_FLOAT_LOG2 5
650
#define PR_BITS_PER_DOUBLE_LOG2 6
651
#define PR_BITS_PER_WORD_LOG2 6
653
#define PR_ALIGN_OF_SHORT 2
654
#define PR_ALIGN_OF_INT 4
655
#define PR_ALIGN_OF_LONG 8
656
#define PR_ALIGN_OF_INT64 8
657
#define PR_ALIGN_OF_FLOAT 4
658
#define PR_ALIGN_OF_DOUBLE 8
659
#define PR_ALIGN_OF_POINTER 8
660
#define PR_ALIGN_OF_WORD 8
662
#define PR_BYTES_PER_WORD_LOG2 3
663
#define PR_BYTES_PER_DWORD_LOG2 3
665
#elif defined(__s390__)
667
#define IS_BIG_ENDIAN 1
668
#undef IS_LITTLE_ENDIAN
670
#define PR_BYTES_PER_BYTE 1
671
#define PR_BYTES_PER_SHORT 2
672
#define PR_BYTES_PER_INT 4
673
#define PR_BYTES_PER_INT64 8
674
#define PR_BYTES_PER_LONG 4
675
#define PR_BYTES_PER_FLOAT 4
676
#define PR_BYTES_PER_DOUBLE 8
677
#define PR_BYTES_PER_WORD 4
678
#define PR_BYTES_PER_DWORD 8
680
#define PR_BITS_PER_BYTE 8
681
#define PR_BITS_PER_SHORT 16
682
#define PR_BITS_PER_INT 32
683
#define PR_BITS_PER_INT64 64
684
#define PR_BITS_PER_LONG 32
685
#define PR_BITS_PER_FLOAT 32
686
#define PR_BITS_PER_DOUBLE 64
687
#define PR_BITS_PER_WORD 32
689
#define PR_BITS_PER_BYTE_LOG2 3
690
#define PR_BITS_PER_SHORT_LOG2 4
691
#define PR_BITS_PER_INT_LOG2 5
692
#define PR_BITS_PER_INT64_LOG2 6
693
#define PR_BITS_PER_LONG_LOG2 5
694
#define PR_BITS_PER_FLOAT_LOG2 5
695
#define PR_BITS_PER_DOUBLE_LOG2 6
696
#define PR_BITS_PER_WORD_LOG2 5
698
#define PR_ALIGN_OF_SHORT 2
699
#define PR_ALIGN_OF_INT 4
700
#define PR_ALIGN_OF_LONG 4
701
#define PR_ALIGN_OF_INT64 4
702
#define PR_ALIGN_OF_FLOAT 4
703
#define PR_ALIGN_OF_DOUBLE 4
704
#define PR_ALIGN_OF_POINTER 4
705
#define PR_ALIGN_OF_WORD 4
707
#define PR_BYTES_PER_WORD_LOG2 2
708
#define PR_BYTES_PER_DWORD_LOG2 3
710
#elif defined(__sh__)
712
#define IS_LITTLE_ENDIAN 1
715
#define PR_BYTES_PER_BYTE 1
716
#define PR_BYTES_PER_SHORT 2
717
#define PR_BYTES_PER_INT 4
718
#define PR_BYTES_PER_INT64 8
719
#define PR_BYTES_PER_LONG 4
720
#define PR_BYTES_PER_FLOAT 4
721
#define PR_BYTES_PER_DOUBLE 8
722
#define PR_BYTES_PER_WORD 4
723
#define PR_BYTES_PER_DWORD 8
725
#define PR_BITS_PER_BYTE 8
726
#define PR_BITS_PER_SHORT 16
727
#define PR_BITS_PER_INT 32
728
#define PR_BITS_PER_INT64 64
729
#define PR_BITS_PER_LONG 32
730
#define PR_BITS_PER_FLOAT 32
731
#define PR_BITS_PER_DOUBLE 64
732
#define PR_BITS_PER_WORD 32
734
#define PR_BITS_PER_BYTE_LOG2 3
735
#define PR_BITS_PER_SHORT_LOG2 4
736
#define PR_BITS_PER_INT_LOG2 5
737
#define PR_BITS_PER_INT64_LOG2 6
738
#define PR_BITS_PER_LONG_LOG2 5
739
#define PR_BITS_PER_FLOAT_LOG2 5
740
#define PR_BITS_PER_DOUBLE_LOG2 6
741
#define PR_BITS_PER_WORD_LOG2 5
743
#define PR_ALIGN_OF_SHORT 2
744
#define PR_ALIGN_OF_INT 4
745
#define PR_ALIGN_OF_LONG 4
746
#define PR_ALIGN_OF_INT64 4
747
#define PR_ALIGN_OF_FLOAT 4
748
#define PR_ALIGN_OF_DOUBLE 4
749
#define PR_ALIGN_OF_POINTER 4
750
#define PR_ALIGN_OF_WORD 4
752
#define PR_BYTES_PER_WORD_LOG2 2
753
#define PR_BYTES_PER_DWORD_LOG2 3
755
#elif defined(__avr32__)
757
#undef IS_LITTLE_ENDIAN
758
#define IS_BIG_ENDIAN 1
760
#define PR_BYTES_PER_BYTE 1
761
#define PR_BYTES_PER_SHORT 2
762
#define PR_BYTES_PER_INT 4
763
#define PR_BYTES_PER_INT64 8
764
#define PR_BYTES_PER_LONG 4
765
#define PR_BYTES_PER_FLOAT 4
766
#define PR_BYTES_PER_DOUBLE 8
767
#define PR_BYTES_PER_WORD 4
768
#define PR_BYTES_PER_DWORD 8
770
#define PR_BITS_PER_BYTE 8
771
#define PR_BITS_PER_SHORT 16
772
#define PR_BITS_PER_INT 32
773
#define PR_BITS_PER_INT64 64
774
#define PR_BITS_PER_LONG 32
775
#define PR_BITS_PER_FLOAT 32
776
#define PR_BITS_PER_DOUBLE 64
777
#define PR_BITS_PER_WORD 32
779
#define PR_BITS_PER_BYTE_LOG2 3
780
#define PR_BITS_PER_SHORT_LOG2 4
781
#define PR_BITS_PER_INT_LOG2 5
782
#define PR_BITS_PER_INT64_LOG2 6
783
#define PR_BITS_PER_LONG_LOG2 5
784
#define PR_BITS_PER_FLOAT_LOG2 5
785
#define PR_BITS_PER_DOUBLE_LOG2 6
786
#define PR_BITS_PER_WORD_LOG2 5
788
#define PR_ALIGN_OF_SHORT 2
789
#define PR_ALIGN_OF_INT 4
790
#define PR_ALIGN_OF_LONG 4
791
#define PR_ALIGN_OF_INT64 4
792
#define PR_ALIGN_OF_FLOAT 4
793
#define PR_ALIGN_OF_DOUBLE 4
794
#define PR_ALIGN_OF_POINTER 4
795
#define PR_ALIGN_OF_WORD 4
797
#define PR_BYTES_PER_WORD_LOG2 2
798
#define PR_BYTES_PER_DWORD_LOG2 3
800
#elif defined(__m32r__)
802
#undef IS_LITTLE_ENDIAN
803
#define IS_BIG_ENDIAN 1
805
#define PR_BYTES_PER_BYTE 1
806
#define PR_BYTES_PER_SHORT 2
807
#define PR_BYTES_PER_INT 4
808
#define PR_BYTES_PER_INT64 8
809
#define PR_BYTES_PER_LONG 4
810
#define PR_BYTES_PER_FLOAT 4
811
#define PR_BYTES_PER_DOUBLE 8
812
#define PR_BYTES_PER_WORD 4
813
#define PR_BYTES_PER_DWORD 8
815
#define PR_BITS_PER_BYTE 8
816
#define PR_BITS_PER_SHORT 16
817
#define PR_BITS_PER_INT 32
818
#define PR_BITS_PER_INT64 64
819
#define PR_BITS_PER_LONG 32
820
#define PR_BITS_PER_FLOAT 32
821
#define PR_BITS_PER_DOUBLE 64
822
#define PR_BITS_PER_WORD 32
824
#define PR_BITS_PER_BYTE_LOG2 3
825
#define PR_BITS_PER_SHORT_LOG2 4
826
#define PR_BITS_PER_INT_LOG2 5
827
#define PR_BITS_PER_INT64_LOG2 6
828
#define PR_BITS_PER_LONG_LOG2 5
829
#define PR_BITS_PER_FLOAT_LOG2 5
830
#define PR_BITS_PER_DOUBLE_LOG2 6
831
#define PR_BITS_PER_WORD_LOG2 5
833
#define PR_ALIGN_OF_SHORT 2
834
#define PR_ALIGN_OF_INT 4
835
#define PR_ALIGN_OF_LONG 4
836
#define PR_ALIGN_OF_INT64 4
837
#define PR_ALIGN_OF_FLOAT 4
838
#define PR_ALIGN_OF_DOUBLE 4
839
#define PR_ALIGN_OF_POINTER 4
840
#define PR_ALIGN_OF_WORD 4
842
#define PR_BYTES_PER_WORD_LOG2 2
843
#define PR_BYTES_PER_DWORD_LOG2 3
847
#error "Unknown CPU architecture"
851
#ifndef HAVE_LONG_LONG
852
#define HAVE_LONG_LONG
854
#if PR_ALIGN_OF_DOUBLE == 8
855
#define HAVE_ALIGNED_DOUBLES
857
#if PR_ALIGN_OF_INT64 == 8
858
#define HAVE_ALIGNED_LONGLONGS
861
#ifndef NO_NSPR_10_SUPPORT
863
#define BYTES_PER_BYTE PR_BYTES_PER_BYTE
864
#define BYTES_PER_SHORT PR_BYTES_PER_SHORT
865
#define BYTES_PER_INT PR_BYTES_PER_INT
866
#define BYTES_PER_INT64 PR_BYTES_PER_INT64
867
#define BYTES_PER_LONG PR_BYTES_PER_LONG
868
#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT
869
#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE
870
#define BYTES_PER_WORD PR_BYTES_PER_WORD
871
#define BYTES_PER_DWORD PR_BYTES_PER_DWORD
873
#define BITS_PER_BYTE PR_BITS_PER_BYTE
874
#define BITS_PER_SHORT PR_BITS_PER_SHORT
875
#define BITS_PER_INT PR_BITS_PER_INT
876
#define BITS_PER_INT64 PR_BITS_PER_INT64
877
#define BITS_PER_LONG PR_BITS_PER_LONG
878
#define BITS_PER_FLOAT PR_BITS_PER_FLOAT
879
#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE
880
#define BITS_PER_WORD PR_BITS_PER_WORD
882
#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2
883
#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
884
#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2
885
#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
886
#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2
887
#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
888
#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2
889
#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2
891
#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT
892
#define ALIGN_OF_INT PR_ALIGN_OF_INT
893
#define ALIGN_OF_LONG PR_ALIGN_OF_LONG
894
#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64
895
#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT
896
#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE
897
#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER
898
#define ALIGN_OF_WORD PR_ALIGN_OF_WORD
900
#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2
901
#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2
902
#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2
904
#endif /* NO_NSPR_10_SUPPORT */
906
#endif /* nspr_cpucfg___ */