dwww Home | Show directory contents | Find package

GC on EWS4800
-------------

1. About EWS4800

 EWS4800 is a 32/64-bit workstation.

     Vendor: NEC Corporation
     OS: UX/4800 R9.* - R13.* (SystemV R4.2)
     CPU: R4000, R4400, R10000 (MIPS)

2. Compiler

 32-bit:
   Use ANSI C compiler.
     CC = /usr/abiccs/bin/cc

 64-bit:
   Use the 64-bit ANSI C compiler.
     CC = /usr/ccs64/bin/cc
     AR = /usr/ccs64/bin/ar

3. ELF file format
   *** Caution: The following information is empirical. ***

 32-bit:
   ELF file has a unique format. (See a.out(4) and end(3C).)

     &_start
        :      text segment
     &etext
     DATASTART
        :      data segment (initialized)
     &edata
     DATASTART2
        :      data segment (uninitialized)
     &end

   Here, DATASTART and DATASTART2 are macros of GC, and are defined as
   the following equations. (See include/private/gcconfig.h.)
   The algorithm for DATASTART is similar with the function
   GC_SysVGetDataStart() in os_dep.c.

     DATASTART  = ((&etext + 0x3ffff) & ~0x3ffff) + (&etext & 0xffff)

    Dynamically linked:
     DATASTART2 = (&_gp + 0x8000 + 0x3ffff) & ~0x3ffff

    Statically linked:
     DATASTART2 = &edata

   GC has to check addresses both between DATASTART and &edata, and
   between DATASTART2 and &end. If a program accesses between &etext
   and DATASTART, or between &edata and DATASTART2, the segmentation
   error occurs and the program stops.

   If a program is statically linked, there is not a gap between
   &edata and DATASTART2. The global symbol &_DYNAMIC_LINKING is used
   for the detection.

 64-bit:
   ELF file has a simple format. (See end(3C).)

     _ftext
        :      text segment
     _etext
     _fdata = DATASTART
        :      data segment (initialized)
     _edata
     _fbss
        :      data segment (uninitialized)
     _end = DATAEND

--
Hironori SAKAMOTO


When using the new "configure; make" build process, please
run configure with the --disable-shared option.  "Make check" does not
yet pass with dynamic libraries.  The reasons for that are not yet
understood.  (HB, paraphrasing message from Hironori SAKAMOTO.)

Generated by dwww version 1.15 on Sun Jun 2 00:35:54 CEST 2024.