1GC on EWS4800 2------------- 3 41. 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 112. 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 223. 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-- 74Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> 75 76 77When using the new "configure; make" build process, please 78run configure with the --disable-shared option. "Make check" does not 79yet pass with dynamic libraries. Ther reasons for that are not yet 80understood. (HB, paraphrasing message from Hironori SAKAMOTO.) 81 82