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>