~ubuntu-branches/ubuntu/intrepid/ecl/intrepid

« back to all changes in this revision

Viewing changes to src/gc/include/private/gcconfig.h

  • Committer: Bazaar Package Importer
  • Author(s): Peter Van Eynde
  • Date: 2006-06-21 09:21:21 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20060621092121-txz1f21lj0wh0f67
Tags: 0.9h-20060617-1
* New upstream version
* Updated standards version without real changes. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
249
249
#    define POWERPC
250
250
#    define mach_type_known
251
251
# endif
 
252
# if defined(FREEBSD) && (defined(powerpc) || defined(__powerpc__))
 
253
#    define POWERPC
 
254
#    define mach_type_known
 
255
# endif
252
256
# if defined(LINUX) && defined(__mc68000__)
253
257
#    define M68K
254
258
#    define mach_type_known
298
302
#   if defined(__ppc__)  || defined(__ppc64__)
299
303
#    define POWERPC
300
304
#    define mach_type_known
301
 
#   elif defined(__i386__)
 
305
#   endif
 
306
#   if defined(__i386__)
302
307
#    define I386
303
308
#    define mach_type_known
304
309
#   endif
444
449
#     define  mach_type_known
445
450
#    endif 
446
451
# endif
 
452
# if defined(__TANDEM)
 
453
    /* Nonstop S-series */
 
454
    /* FIXME: Should recognize Integrity series? */
 
455
#   define MIPS
 
456
#   define NONSTOP
 
457
#   define mach_type_known
 
458
# endif
447
459
 
448
460
/* Feel free to add more clauses here */
449
461
 
465
477
                    /*               FREEBSD, THREE86BSD, MSWIN32,      */
466
478
                    /*               BSDI,SUNOS5, NEXT, other variants) */
467
479
                    /*             NS32K      ==> Encore Multimax       */
468
 
                    /*             MIPS       ==> R2000 or R3000        */
469
 
                    /*                  (RISCOS, ULTRIX variants)       */
 
480
                    /*             MIPS       ==> R2000 through R14K    */
 
481
                    /*                  (many variants)                 */
470
482
                    /*             VAX        ==> DEC VAX               */
471
483
                    /*                  (BSD, ULTRIX variants)          */
472
484
                    /*             RS6000     ==> IBM RS/6000 AIX3.X    */
767
779
#     if defined(__powerpc64__)
768
780
#       define ALIGNMENT 8
769
781
#       define CPP_WORDSZ 64
 
782
#       ifndef HBLKSIZE
 
783
#         define HBLKSIZE 4096
 
784
#       endif
770
785
#     else
771
786
#       define ALIGNMENT 4
772
787
#     endif
814
829
         should be looked into some more */
815
830
#     define NO_PTHREAD_TRYLOCK
816
831
#   endif
 
832
#   ifdef FREEBSD
 
833
#       define ALIGNMENT 4
 
834
#       define OS_TYPE "FREEBSD"
 
835
#       ifndef GC_FREEBSD_THREADS
 
836
#           define MPROTECT_VDB
 
837
#       endif
 
838
#       define SIG_SUSPEND SIGUSR1
 
839
#       define SIG_THR_RESTART SIGUSR2
 
840
#       define FREEBSD_STACKBOTTOM
 
841
#       ifdef __ELF__
 
842
#           define DYNAMIC_LOADING
 
843
#       endif
 
844
        extern char etext[];
 
845
        extern char * GC_FreeBSDGetDataStart();
 
846
#       define DATASTART GC_FreeBSDGetDataStart(0x1000, &etext)
 
847
#   endif
817
848
#   ifdef NETBSD
818
849
#     define ALIGNMENT 4
819
850
#     define OS_TYPE "NETBSD"
1279
1310
#     define DYNAMIC_LOADING
1280
1311
#   endif
1281
1312
#   ifdef DARWIN
1282
 
#   if defined(__LP64__) || defined(_WIN64)
1283
 
#     define CPP_WORDSZ 64
1284
 
#     define ALIGNMENT 8
1285
 
#   else
1286
 
#     define CPP_WORDSZ 32
1287
 
#     define ALIGNMENT 4
1288
 
                        /* Appears to hold for all "32 bit" compilers   */
1289
 
                        /* except Borland.  The -a4 option fixes        */
1290
 
                        /* Borland.                                     */
1291
 
                        /* Ivan Demakov: For Watcom the option is -zp4. */
1292
 
#   endif
1293
1313
#     define OS_TYPE "DARWIN"
 
1314
#     define DARWIN_DONT_PARSE_STACK
1294
1315
#     define DYNAMIC_LOADING
1295
1316
      /* XXX: see get_end(3), get_etext() and get_end() should not be used.
1296
 
         These aren't used when dyld support is enabled (it is by default) */
 
1317
        These aren't used when dyld support is enabled (it is by default) */
1297
1318
#     define DATASTART ((ptr_t) get_etext())
1298
1319
#     define DATAEND    ((ptr_t) get_end())
1299
1320
#     define STACKBOTTOM ((ptr_t) 0xc0000000)
1301
1322
#     define USE_MMAP_ANON
1302
1323
#     define USE_ASM_PUSH_REGS
1303
1324
      /* This is potentially buggy. It needs more testing. See the comments in
1304
 
         os_dep.c.  It relies on threads to track writes. */
 
1325
        os_dep.c.  It relies on threads to track writes. */
1305
1326
#     ifdef GC_DARWIN_THREADS
1306
 
/* #       define MPROTECT_VDB -- diabled for now.  May work for some apps. */
 
1327
/* #       define MPROTECT_VDB -- disabled for now.  May work for some apps. */
1307
1328
#     endif
1308
1329
#     include <unistd.h>
1309
1330
#     define GETPAGESIZE() getpagesize()
1310
 
 
1311
 
#if 0
1312
 
#     if defined(USE_PPC_PREFETCH) && defined(__GNUC__)
1313
 
        /* The performance impact of prefetches is untested */
1314
 
#       define PREFETCH(x) \
1315
 
          __asm__ __volatile__ ("dcbt 0,%0" : : "r" ((const void *) (x)))
1316
 
#       define PREFETCH_FOR_WRITE(x) \
1317
 
          __asm__ __volatile__ ("dcbtst 0,%0" : : "r" ((const void *) (x)))
1318
 
#     endif
1319
 
#endif
1320
1331
      /* There seems to be some issues with trylock hanging on darwin. This
1321
1332
         should be looked into some more */
1322
 
#     define NO_PTHREAD_TRYLOCK
1323
 
#   endif
1324
 
 
 
1333
#      define NO_PTHREAD_TRYLOCK
 
1334
#   endif /* DARWIN */
1325
1335
# endif
1326
1336
 
1327
1337
# ifdef NS32K
1427
1437
#       define DATAEND /* not needed */
1428
1438
#   endif
1429
1439
#   if defined(NETBSD)
 
1440
#     define OS_TYPE "NETBSD"
1430
1441
#     define ALIGNMENT 4
1431
 
#     define OS_TYPE "NETBSD"
1432
1442
#     define HEURISTIC2
1433
1443
#     define USE_GENERIC_PUSH_REGS
1434
1444
#     ifdef __ELF__
1441
1451
#       define STACKBOTTOM ((ptr_t) 0x7ffff000)
1442
1452
#     endif /* _ELF_ */
1443
1453
#  endif
 
1454
#  if defined(NONSTOP)
 
1455
#    define CPP_WORDSZ 32
 
1456
#    define OS_TYPE "NONSTOP"
 
1457
#    define ALIGNMENT 4
 
1458
#    define DATASTART ((ptr_t) 0x08000000)
 
1459
     extern int _end[];
 
1460
#    define DATAEND (_end)
 
1461
#    define STACKBOTTOM ((ptr_t) 0x4fffffff)
 
1462
#    define USE_GENERIC_PUSH_REGS
 
1463
#   endif
1444
1464
# endif
1445
1465
 
1446
1466
# ifdef RS6000
1783
1803
#   define MACH_TYPE "S390"
1784
1804
#   define USE_GENERIC_PUSH_REGS
1785
1805
#   ifndef __s390x__
1786
 
#   define ALIGNMENT 4
1787
 
#   define CPP_WORDSZ 32
 
1806
#     define ALIGNMENT 4
 
1807
#     define CPP_WORDSZ 32
1788
1808
#   else
1789
 
#   define ALIGNMENT 8
1790
 
#   define CPP_WORDSZ 64
1791
 
#   define HBLKSIZE 4096
 
1809
#     define ALIGNMENT 8
 
1810
#     define CPP_WORDSZ 64
 
1811
#   endif
 
1812
#   ifndef HBLKSIZE
 
1813
#     define HBLKSIZE 4096
1792
1814
#   endif
1793
1815
#   ifdef LINUX
1794
1816
#       define OS_TYPE "LINUX"
1828
1850
#   endif
1829
1851
#   ifdef LINUX
1830
1852
#       define OS_TYPE "LINUX"
1831
 
#       define HEURISTIC1
 
1853
#       define LINUX_STACKBOTTOM
1832
1854
#       undef STACK_GRAN
1833
1855
#       define STACK_GRAN 0x10000000
1834
1856
#       define USE_GENERIC_PUSH_REGS
1893
1915
#   endif
1894
1916
#   ifdef LINUX
1895
1917
#     define OS_TYPE "LINUX"
1896
 
#     define STACKBOTTOM ((ptr_t) 0x7c000000)
 
1918
#     define LINUX_STACKBOTTOM
1897
1919
#     define USE_GENERIC_PUSH_REGS
1898
1920
#     define DYNAMIC_LOADING
1899
1921
#     define SEARCH_FOR_DATA_START
1904
1926
#      define OS_TYPE "NETBSD"
1905
1927
#      define HEURISTIC2
1906
1928
#      define DATASTART GC_data_start
1907
 
#       define USE_GENERIC_PUSH_REGS
 
1929
#      define USE_GENERIC_PUSH_REGS
1908
1930
#      define DYNAMIC_LOADING
1909
1931
#   endif
1910
1932
# endif
2046
2068
#   define SUNOS5SIGS
2047
2069
# endif
2048
2070
 
 
2071
# ifdef GC_NETBSD_THREADS
 
2072
#   define SIGRTMIN 33
 
2073
#   define SIGRTMAX 63
 
2074
# endif
 
2075
 
2049
2076
# if defined(SVR4) || defined(LINUX) || defined(IRIX5) || defined(HPUX) \
2050
2077
            || defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) \
2051
2078
            || defined(DGUX) || defined(BSD) || defined(SUNOS4) \
2136
2163
# if defined(GC_LINUX_THREADS) && !defined(LINUX)
2137
2164
        --> inconsistent configuration
2138
2165
# endif
 
2166
# if defined(GC_NETBSD_THREADS) && !defined(NETBSD)
 
2167
        --> inconsistent configuration
 
2168
# endif
2139
2169
# if defined(GC_SOLARIS_THREADS) && !defined(SUNOS5)
2140
2170
        --> inconsistent configuration
2141
2171
# endif
2269
2299
                                            + GC_page_size) \
2270
2300
                                            + GC_page_size-1)
2271
2301
#   else
2272
 
#     if defined(NEXT) || defined(DOS4GW) || \
 
2302
#     if defined(NEXT) || defined(DOS4GW) || defined(NONSTOP) || \
2273
2303
                 (defined(AMIGA) && !defined(GC_AMIGA_FASTALLOC)) || \
2274
2304
                 (defined(SUNOS5) && !defined(USE_MMAP))
2275
2305
#       define GET_MEM(bytes) HBLKPTR((size_t) \