OSSP CVS Repository

ossp - Check-in [57]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 57
Date: 2000-Jun-24 18:09:44 (local)
2000-Jun-24 16:09:44 (UTC)
User:rse
Branch:
Comment: *** empty log message ***
Tickets:
Inspections:
Files:
ossp-pkg/pth/PORTING      added-> 1.174

ossp-pkg/pth/PORTING -> 1.174

*** /dev/null    Fri May  3 17:00:37 2024
--- -    Fri May  3 17:00:37 2024
***************
*** 0 ****
--- 1,190 ----
+    ____  _   _
+   |  _ \| |_| |__                  ``A good magician never reveals
+   | |_) | __| '_ \                   his secret; the unbelievable trick
+   |  __/| |_| | | |                  becomes simple and obvious once it is
+   |_|    \__|_| |_|                  explained. So too with UNIX.''
+ 
+   GNU Pth - The GNU Portable Threads
+ 
+   PORTING
+   =======
+ 
+   SUCCESSFULLY TESTED PLATFORMS
+ 
+   The Pth package was successfully tested on the following platforms
+   (and should automatically adjust to other platforms, of course):
+ 
+   __PLATFORM_ID_______________________ __MACHINE_CONTEXT__ __STACK__ __VERSION__
+   i686-pc-freebsd3.4                  | sjlj/ssjlj/sas    | down    | 1.3.0 [DEV]
+   i586-pc-freebsd3.1                  | sjlj/ssjlj/sas    | down    | 1.3.3
+   i686-pc-freebsd3.1                  | sjlj/ssjlj/sas    | down    | 1.3.0
+   i586-pc-freebsd3.2                  | sjlj/ssjlj/sas    | down    | 1.2.0
+   i686-pc-freebsd3.2                  | sjlj/ssjlj/sas    | down    | 1.3.5
+   i386-pc-freebsd3.3                  | sjlj/ssjlj/sas    | down    | 1.2.1
+   i486-pc-freebsd3.3                  | sjlj/ssjlj/sas    | down    | 1.2.1
+   i586-pc-freebsd3.3                  | sjlj/ssjlj/sas    | down    | 1.3a5
+   i686-pc-freebsd3.3                  | sjlj/ssjlj/sas    | down    | 1.2.0
+   i386-pc-freebsd3.4                  | sjlj/ssjlj/sas    | down    | 1.3a2
+   i586-pc-freebsd3.4                  | sjlj/ssjlj/sas    | down    | 1.2.2
+   i686-pc-freebsd4.0                  | sjlj/ssjlj/sas    | down    | 1.3.0
+   i586-pc-freebsd4.0                  | sjlj/ssjlj/sas    | down    | 1.3b2
+   i586-pc-freebsd5.0                  | sjlj/ssjlj/sas    | down    | 1.3.4
+   i686-pc-freebsd2.2.8                | sjlj/ssjlj/sas    | down    | 1.2.0
+   alpha-unknown-freebsd4.0            | sjlj/ssjlj/sas    | down    | 1.3.0
+   alpha-unknown-freebsd5.0            | sjlj/ssjlj/sas    | down    | 1.3.5
+   powerpc-unknown-netbsd              | sjlj/ssjlj/sas    | down    | 1.3.2
+   i386-unknown-netbsd1.4              | sjlj/ssjlj/sas    | down    | 1.3.0
+   i386-unknown-netbsd1.4.1            | sjlj/ssjlj/sas    | down    | 1.3.0
+   sparc-unknown-netbsd1.4.1           | sjlj/ssjlj/sas    | down    | 1.2b8
+   alpha-unknown-netbsd1.4.1           | sjlj/ssjlj/sas    | down    | 1.3.2
+   mipsel-unknown-netbsd1.4.2          | sjlj/ssjlj/sas    | down    | 1.3.5
+   m68k-cbm-netbsd1.4.1                | sjlj/ssjlj/sas    | down    | 1.3a5
+   m68k-apple-netbsd1.4.1              | sjlj/ssjlj/sas    | down    | 1.2b5
+   i386-unknown-netbsd1.4T             | sjlj/ssjlj/sas    | down    | 1.3.5
+   powerpc-apple-netbsd1.4.2           | sjlj/ssjlj/sas    | down    | 1.3.5
+   alpha-unknown-netbsd1.3.3           | sjlj/ssjlj/sas    | down    | 1.1.4
+   i386-unknown-netbsd1.3.3            | sjlj/ssjlj/sas    | down    | 1.1.5
+   i386-unknown-openbsd2.5             | sjlj/ssjlj/sas    | down    | 1.2b5
+   sparc-unknown-openbsd2.6            | sjlj/ssjlj/sas    | down    | 1.2.0
+   i386-unknown-openbsd2.6             | sjlj/ssjlj/sas    | down    | 1.2.1
+   i386-pc-bsdi4.0                     | sjlj/ssjlj/sas    | down    | 1.3.3
+   armv4l-unknown-linux-gnu            | sjlj/ssjlj/sas    | down    | 1.2b8
+   i586-redhat-linux-gnu2.0glibc2.0    | sjlj/sjljlx/none  | down    | 1.3.0
+   i586-redhat-linux-gnu2.2glibc2.0    | sjlj/sjljlx/none  | down    | 1.3a2
+   i686-redhat-linux-gnu2.2glibc2.0    | sjlj/sjljlx/none  | down    | 1.3a1
+   i686-redhat-linux-gnu2.2glibc2.1    | sjlj/ssjlj/sas    | down    | 1.3b2
+   i586-redhat-linux-gnu2.2glibc2.1    | sjlj/ssjlj/sas    | down    | 1.3.1
+   i686-redhat-linux-gnu2.3glibc2.0    | sjlj/sjljlx/none  | down    | 1.3a4
+   i586-redhat-linux-gnu2.2glibc2.1    | sjlj/ssjlj/sas    | down    | 1.3.1
+   i686-redhat-linux-gnu2.2glibc2.1    | sjlj/ssjlj/sas    | down    | 1.3.3
+   i486-redhat-linux-gnu2.2glibc2.1    | sjlj/ssjlj/sas    | down    | 1.3.5
+   i686-suse-linux-gnu2.2glibc2.0      | sjlj/sjljlx/none  | down    | 1.3.1
+   i586-suse-linux-gnu2.2glibc2.1      | sjlj/ssjlj/sas    | down    | 1.3.2
+   i686-suse-linux-gnu2.2glibc2.1      | sjlj/ssjlj/sas    | down    | 1.3.2
+   i686-suse-linux-gnu2.2glibc2.1      | sjlj/ssjlj/sas    | down    | 1.3.2
+   i586-gnu-linux-gnu2.0glibc1         | sjlj/sjljlx/none  | down    | 1.3.1
+   i586-gnu-linux-gnu2.2glibc1         | sjlj/sjljlx/none  | down    | 1.3.1
+   i686-gnu-linux-gnu2.2glibc1         | sjlj/sjljlx/none  | down    | 1.3.5
+   i586-gnu-linux-gnu2.2glibc2.1       | sjlj/ssjlj/sas    | down    | 1.3.0
+   i686-gnu-linux-gnu2.2glibc2.1       | sjlj/ssjlj/sas    | down    | 1.3.5
+   i686-gnu-linux-gnu2.0glibc1         | sjlj/sjljlx/none  | down    | 1.3.5
+   i586-gnu-linux-gnu2.2glibc2.0       | sjlj/sjljlx/none  | down    | 1.3.3
+   i586-debian-linux-gnu2.2glibc2.0    | sjlj/sjljlx/none  | down    | 1.3.0
+   i686-debian-linux-gnu2.2glibc2.1    | sjlj/ssjlj/sas    | down    | 1.3.5
+   i586-debian-linux-gnu2.3glibc2.1    | sjlj/ssjlj/sas    | down    | 1.3.3
+   i686-va-linux-gnu2.2glibc2.1        | sjlj/ssjlj/sas    | down    | 1.3.5
+   i686-slackware-linux-gnu            | sjlj/ssjlj/sas    | down    | 1.3.0
+   i586-turbolinux-linux-gnu2.2glibc2.0| sjlj/sjljlx/none  | down    | 1.3.3
+   i686-va-linux-gnu2.2glibc2.1        | sjlj/ssjlj/sas    | down    | 1.3.3
+   i486-pc-linux-gnu                   | sjlj/sjljlx/none  | down    | 1.2.1
+   i586-pc-linux-gnu                   | sjlj/sjljlx/none  | down    | 1.2.1
+   i686-pc-linux-gnu                   | sjlj/sjljlx/none  | down    | 1.2.0
+   i386-redhat-linux-gnu               | sjlj/sjljlx/none  | down    | 1.3a1
+   i486-pc-linux-gnulibc1              | sjlj/sjljlx/none  | down    | 1.2.1
+   i586-pc-linux-gnulibc1              | sjlj/sjljlx/none  | down    | 1.2.0
+   i686-pc-linux-gnulibc1              | sjlj/sjljlx/none  | down    | 1.2.0
+   alpha-redhat-linux-gnu2.2glibc2.1   | sjlj/ssjlj/sas    | down    | 1.3.5
+   sparc64-redhat-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas    | down    | 1.3.5
+   sparc-redhat-linux-gnu2.2glibc2.1   | sjlj/ssjlj/sas    | down    | 1.3.3
+   sparc-unknown-linux-gnu             | sjlj/ssjlj/sas    | down    | 1.2.3
+   alphaev56-unknown-linux-gnu         | sjlj/ssjlj/sas    | down    | 1.2.0
+   alphaev6-unknown-linux-gnu          | sjlj/ssjlj/sas    | down    | 1.2.0
+   powerpc-unknown-linux-gnu           | sjls/ssjlj/sas    | down    | 1.2.0
+   powerpc-debian-linux-gnu2.2glibc2.1 | sjlj/ssjlj/sas    | down    | 1.3.5
+   sparc-sun-solaris2.8                | mcsc/sc/mc        | down    | 1.4a2
+   sparc-sun-solaris2.7                | mcsc/sc/mc        | down    | 1.2.0
+   sparc-sun-solaris2.6                | mcsc/sc/mc        | down    | 1.3.0
+   sparc-sun-solaris2.5                | mcsc/sc/mc        | down    | 1.1.4
+   sparc-sun-solaris2.5.1              | mcsc/sc/mc        | down    | 1.2.0
+   sparc-sun-sunos4.1.3_U1             | sjlj/ssjlj/ss     | down    | 1.1.4
+   sparc-sun-sunos4.1.4                | sjlj/ssjlj/ss     | down    | 1.1.6
+   i386-pc-sysv5uw7                    | mcsc/sc/mc        | down    | 1.3.0
+   i386-pc-sysv5uw7.1.0                | mcsc/sc/mc        | down    | 1.3.5
+   i386-pc-sysv5uw7.1.1                | mcsc/sc/mc        | down    | 1.3.3
+   i386-pc-sysv4.2uw2.1.3              | mcsc/sc/mc        | down    | 1.3.0
+   i386-pc-sysv4.2uw2.1                | mcsc/sc/mc        | down    | 1.1.6
+   i586-pc-sco3.2v5.0.2                | sjlj/ssjlj/sas    | down    | 1.3.2
+   i586-pc-sco3.2v5.0.4                | sjlj/ssjlj/sas    | down    | 1.2.0
+   i686-pc-sco3.2v5.0.4                | sjlj/ssjlj/sas    | down    | 1.3.5
+   i386-pc-sco3.2v5.0.5                | sjlj/ssjlj/sas    | down    | 1.2.1
+   i686-pc-sco3.2v5.0.5                | sjlj/ssjlj/sas    | down    | 1.2.1
+   i386-pc-sco3.2v5.0.5                | sjlj/ssjlj/sas    | down    | 1.2.2
+   rs6000-ibm-aix4.3.2.0               | mcsc/sc/mc        | down    | 1.1.5
+   rs6000-ibm-aix4.2.1.0               | mcsc/sc/mc        | down    | 1.1.5
+   powerpc-ibm-aix4.1.4.0              | mcsc/sc/mc        | down    | 1.1.6
+   powerpc-ibm-aix4.1.5.0              | mcsc/sc/mc        | down    | 1.1.5
+   rs6000-ibm-aix4.1.5.0               | sjlj/ssjlj/ss     | down    | 1.3.5
+   powerpc-ibm-aix4.2.1.0              | mcsc/sc/mc        | down    | 1.1.6
+   powerpc-ibm-aix4.3.2.0              | mcsc/sc/mc        | down    | 1.2.1
+   rs6000-ibm-aix4.3.3.0               | mcsc/sc/mc        | down    | 1.3.5
+   powerpc-ibm-aix4.3.3.0              | mcsc/sc/mc        | down    | 1.3.5
+   m68k-hp-hpux9.10                    | sjlj/ssjlj/ss     | down    | 1.2.0
+   hppa1.1-hp-hpux10.01                | sjlj/ssjlj/ss     | up      | 1.3.3
+   hppa1.1-hp-hpux10.20                | sjlj/ssjlj/sas    | up      | 1.3.0
+   hppa2.0-hp-hpux10.20                | sjlj/ssjlj/sas    | up      | 1.3.0
+   hppa1.1-hp-hpux11.00                | mcsc/sc/mc        | up      | 1.2.3
+   hppa2.0n-hp-hpux11.00               | mcsc/sc/mc        | up      | 1.2.1
+   hppa2.0w-hp-hpux11.00               | mcsc/sc/mc        | up      | 1.4a1
+   mips-sgi-irix5.3                    | sjlj/ssjlj/sas    | down    | 1.2.2
+   mips-sgi-irix6.5                    | mcsc/sc/mc        | down    | 1.2b1
+   mips-sgi-irix6.2                    | mcsc/sc/mc        | down    | 1.3.0
+   i386-pc-isc4.0                      | sjlj/sjljisc/none | down    | 1.2b2
+   powerpc-apple-rhapsody5.5           | sjlj/ssjlj/sas    | down    | 1.2b3
+   powerpc-apple-netbsd1.4.1           | sjlj/ssjlj/sas    | down    | 1.2.1
+   alpha-dec-osf4.0e                   | mcsc/sc/mc        | down    | 1.3.3
+   alpha-dec-osf4.0f                   | mcsc/sc/mc        | down    | 1.2.1
+   alphaev56-dec-osf4.0d               | mcsc/sc/mc        | down    | 1.2b6
+   alphaev56-dec-osf4.0e               | mcsc/sc/mc        | down    | 1.3.4
+   alphaev56-dec-osf4.0f               | mcsc/sc/mc        | down    | 1.2.0
+   alphaev6-dec-osf4.0f                | mcsc/sc/mc        | down    | 1.3.5
+   alphaev6-dec-osf5.0                 | mcsc/sc/mc        | down    | 1.2.0
+   alpha-dec-osf5.0                    | mcsc/sc/mc        | down    | 1.2.1
+   m68k-unknown-amigaos                | sjlj/ssjlj/ss     | down    | 1.2.1
+   m68k-cbm-amigaos                    | sjlj/ssjlj/ss     | down    | 1.3.5
+   i586-ncr-sysv4.3.03                 | mcsc/sc/mc        | down    | 1.2.1
+   mips-sni-sysv4                      | mcsc/sc/mc        | down    | 1.2.3
+   hppa1.1-stratus-sysv4               | mcsc/sc/mc        | up      | 1.3.1
+   powerpc-apple-macosX                | sjlj/ssjlj/sas    | down    | 1.3.2
+   i686-pc-cygwin                      | sjlj/sjljw32/none | down    | 1.3.5
+   i386-pc-interix                     | sjlj/sjljisc/none | down    | 1.3.5
+ 
+   HINTS FOR PORTING TO NEW PLATFORMS
+ 
+   In case you're not able to use Pth on a new and esoteric platform,
+   here are a few hints.
+ 
+   Pth has only one part which perhaps has to be ported to new platforms: the
+   machine context initialization, i.e. the function pth_mctx_set() in
+   pth_mctx.c.  The exercise is to write a pth_mctx_set() function which
+   initializes a `jmp_buf' (see setjmp(3)) with a given function and stack, so
+   when the next longjmp(3) is done on this `jmp_buf', the function starts
+   executing on the given stack.
+ 
+   By default, Pth uses a very tricky sigstack/sigaltstack() based approach for
+   establishing this `jmp_buf' which is mostly portable to all major Unix
+   platforms which support the involved POSIX functions (see rse-pmt.ps for a
+   detailed description of the trick). So the chance is very high that this
+   approach also works for forthcoming platforms and no real porting is
+   required.
+ 
+   When this approach should not work (for instance brain-dead achient
+   GNU/Linux versions have a dummy sigstack/sigaltstack(), so we've no chance
+   this way), then you've to provide an alternative implementation. This
+   usually is done be fiddling around with the ingredients of a `jmp_buf'
+   structure. For this look inside your /usr/include/setjmp.h (plus files it
+   includes) and there especially for things like _pc or JB_PC (the program
+   counter) and _sp or JB_SP (the stack pointer). Then write an alternative
+   pth_mctx_set() function in pth_mctx.c.
+ 
+   Currently, as mentioned, Pth requires such an alternative only under
+   GNU/Linux where sigstack/sigaltstack() are dummy functions. Look at the
+   GNU/Linux pth_mctx_set() variant in pth_mctx.c to get an impression what
+   type of `jmp_buf' fiddling you perhaps have to do for esoteric platforms.
+   Don't be confused by the fact that such specialized pth_mctx_set() functions
+   are just a few lines long while the standard function is very large. That's
+   all just needed for maximum portability.  The goal nevertheless only is to
+   initialize a `jmp_buf' with PC and SP. That's all...
+ 
+   Additionally see the INSTALL document for the --enable-mctx-XXX options.
+   These can be used to easily try out mctx combinations on a platform, too.
+ 

CVSTrac 2.0.1