📄 readme.ews4800
字号:
GC on EWS4800-------------1. About EWS4800 EWS4800 is 32bit/64bit workstation. Vender: NEC Corporation OS: UX/4800 R9.* - R13.* (SystemV R4.2) CPU: R4000, R4400, R10000 (MIPS)2. Compiler 32bit: Use ANSI C compiler. CC = /usr/abiccs/bin/cc 64bit: Use 64bit ANSI C compiler. CC = /usr/ccs64/bin/cc AR = /usr/ccs64/bin/ar3. ELF file format *** Caution: The following infomation is empirical. *** 32bit: ELF file has an 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. 64bit: 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 <hsaka@mth.biglobe.ne.jp>When using the new "configure; make" build process, pleaserun configure with the --disable-shared option. "Make check" does notyet pass with dynamic libraries. Ther reasons for that are not yetunderstood. (HB, paraphrasing message from Hironori SAKAMOTO.)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -