]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/tools/build/src/engine/boehm_gc/doc/README.ews4800
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / tools / build / src / engine / boehm_gc / doc / README.ews4800
CommitLineData
7c673cae
FG
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