[BACK]Return to README.ews4800 CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / gc / doc

Annotation of OpenXM_contrib2/asir2000/gc/doc/README.ews4800, Revision 1.1

1.1     ! noro        1: GC on EWS4800
        !             2: -------------
        !             3:
        !             4: 1. About EWS4800
        !             5:    EWS4800 is 32bit/64bit workstation.
        !             6:
        !             7:      Vender: NEC Corporation
        !             8:      OS: UX/4800 R9.* - R13.* (SystemV R4.2)
        !             9:      CPU: R4000, R4400, R10000 (MIPS)
        !            10:
        !            11: 2. Compiler
        !            12:
        !            13:  32bit:
        !            14:    Use ANSI C compiler.
        !            15:      CC = /usr/abiccs/bin/cc
        !            16:
        !            17:  64bit:
        !            18:    Use 64bit ANSI C compiler.
        !            19:      CC = /usr/ccs64/bin/cc
        !            20:      AR = /usr/ccs64/bin/ar
        !            21:
        !            22: 3. ELF file format
        !            23:    *** Caution: The following infomation is empirical. ***
        !            24:
        !            25:  32bit:
        !            26:    ELF file has an unique format. (See a.out(4) and end(3C).)
        !            27:
        !            28:      &_start
        !            29:         :      text segment
        !            30:      &etext
        !            31:      DATASTART
        !            32:         :      data segment (initialized)
        !            33:      &edata
        !            34:      DATASTART2
        !            35:         :      data segment (uninitialized)
        !            36:      &end
        !            37:
        !            38:    Here, DATASTART and DATASTART2 are macros of GC, and are defined as
        !            39:    the following equations. (See include/private/gcconfig.h.)
        !            40:    The algorithm for DATASTART is similar with the function
        !            41:    GC_SysVGetDataStart() in os_dep.c.
        !            42:
        !            43:      DATASTART  = ((&etext + 0x3ffff) & ~0x3ffff) + (&etext & 0xffff)
        !            44:
        !            45:     Dynamically linked:
        !            46:      DATASTART2 = (&_gp + 0x8000 + 0x3ffff) & ~0x3ffff
        !            47:
        !            48:     Statically linked:
        !            49:      DATASTART2 = &edata
        !            50:
        !            51:    GC has to check addresses both between DATASTART and &edata, and
        !            52:    between DATASTART2 and &end. If a program accesses between &etext
        !            53:    and DATASTART, or between &edata and DATASTART2, the segmentation
        !            54:    error occurs and the program stops.
        !            55:
        !            56:    If a program is statically linked, there is not a gap between
        !            57:    &edata and DATASTART2. The global symbol &_DYNAMIC_LINKING is used
        !            58:    for the detection.
        !            59:
        !            60:  64bit:
        !            61:    ELF file has a simple format. (See end(3C).)
        !            62:
        !            63:      _ftext
        !            64:         :      text segment
        !            65:      _etext
        !            66:      _fdata = DATASTART
        !            67:         :      data segment (initialized)
        !            68:      _edata
        !            69:      _fbss
        !            70:         :      data segment (uninitialized)
        !            71:      _end = DATAEND
        !            72:
        !            73: --
        !            74: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
        !            75:
        !            76:
        !            77: When using the new "configure; make" build process, please
        !            78: run configure with the --disable-shared option.  "Make check" does not
        !            79: yet pass with dynamic libraries.  Ther reasons for that are not yet
        !            80: understood.  (HB, paraphrasing message from Hironori SAKAMOTO.)
        !            81:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>