Anda di halaman 1dari 17

A COMMON VENDOR ABI FOR C++

GCCs WHY, WHAT, AND NOT

W H I T E P A P E R

NATHAN SIDWELL, MENTOR GRAPHICS

w w w.m e n t o r.c o m

     
 
 " !$# %'&)('# %+*-,.*0/214350,
6 798;:<7>=@?BADC0EGFIHJH
KGL CMFN? LPOMQSR F QUT V2VWK
X'Y>Z\[]Y^X`_<acbPd`e0fcb^g0hia\e>hcjGkUa-bml
npo 8;:qMFsr Q;O 7 QtT n9uPuPv
yw x>z|{~}U{
]UUSU <]00UyttN.
<@+s
;]02UU+UM <s
I|m

UtUB+]0N'S<)|Ni)Ni))U|<W]0]sU
t+U+t2i Us|WUUU+]|+UUU+2+U
UU)Ui.UtU
tU;|'+~ImN

)m)+mm+N ~U Im 'mI2Imm
|NmP-m"2N9PWm<mGt2"+m""m
mN;W)m+2mm";"]"NW'|N)m+W]'9N
smI
mm$Im"Gsmm"Wm;p"m~mWmmN;m
m"|Nm);im2W]`">;mmGNSIy9' m"`
m ;m9"imym")mmm mGN;m"N
Im
N;m""]
p"m;
 +@~ 2]`mmII)  y"` GI ]Gm2;|"
N| ;m<GNSItmIMN;m"" ;`mMN;PmmM]IN
Gm"G`msmGmpmmm"mmGm""$mIW'
mGm;"m"""

])+ ;]mN;m 
I'9
"m) 9"Gmm|NIm
W]|  +m"mWN Im2]N;2Nmsm ~ 2m
mm2mWmImP Imym ""m2]`]INWm+I;W
Im
mmN;"m"" IIN;"m'']m9-NINIBN;
]I pyp"m+Im -~|"GNSIWmP;m
m"$9G"GI G " )m| mGm;"m"" ;y"m p
p"m; mm" ;2]'m"PmUI ;M"pm+m";m 
mIGIG"G)N;imm"m m
W]M99m"9]]I
mI+m
|m"m;|m~m`i"`mJINm~Nm+m"m"
W]-
m);|m~m]WN;`$m"cm"p; mym) "`|NI
I"G  m+ mI |m"m;')Iy W]'N'N; 

mGW]|cm| "mss 2]|M;m~mGW' SJ


)mm9
mIm))mmN|ImmN)NImN
Isi9"N
mI;mm2]
;D0)mim9<m
ms
p"mI|;);Bm+W]'m|  m+ I "IG]M sp
\"y])+@W]'m  )p im m"m;|m~m`)m

)+ W]'I]
Nm"" " |m"m'^ )I
]+]sm sm^]N^ BsD 
 2;]m   |s Pm2I""m)+W'
' "mI9mm Pm
mspNWmW]|  +m"m2"<i"
m+m)|;~)sm
)m2ImIIW |Im)+ 2]< m;mDM)I 2]<N 9m
GG~9tMm"B2"mmmW]Bm<G mI9"N
;m\mSmyG"mW;m mm+m+m2]9"mm Wm
|mI
 

2+" 9t\I)W]
2mmWim@W]| )N;+m"  Im
;ys9 mUsImI"N|"m$;"mMmNG~Nm
m ~m|m)mG 2]mNI+mm"m G|Nm"Pm| 2m
) I" mmm"mm0)m ) W]'mp
+mm"NpmmN|"mGm )mNm
2mI""N9spm|9 9
]mmm"m"m"mI""m2msN\m
@"N>mI" G|Nm"

IWsp+G;"ImG"
 IINmIIm
2Gm"mymIm m ps"m+;G+s;>N
 "Npsmmmmm>
0"mGI IG
mI m
)mWI>m")2m"p"m)+ W]2 ;D
+<"pt
G)
m+NmI
""
I|;D
!

"$#!%'&&)(*%,+.-0/21)%346587:9 1;/%#*<=/=3>?1@7!-03&
) mm-mmNm|mIP\;\Im"|;mBAI;Um"m"MI+s"mDC
"NPmm~"m
m spIG;"P0sI2;mm"m>m)tm
m"N"F-E G9<;mm
) ;"m9mm"0 MM"G9
GIHDJK,L'LNMPO?MRQ?S
T!UWV.MXQWQYMRZ\[RT]O_^.QYS
Ta`!MPbdceVe^fUWTgZhMPOIQiMRJ2jkZ\MPO_lhT![XmOWnhjoJpO_n\TaU_TqjoUWT]MrJBO_n\Tts\Jhm TaU_[RcuMrJhvOwcuSxTzy
bd^zU,T:{\joVeS\[RT}|u~u~h
o zwuux;n\T}V.TjoJ\MRJ\ve^ob;Q_sh`Injem T`:[XjoUIjOWMr^zJ2MXQMrVeS\[RT!VeTaJzOIjOWMr^zJm\T:lhJ\Tm


N;Wm""N; A_i Cm~m; GNSI+ "U 9;"m


" "m"
WGm" mm>s"m-ImmW"GIs"m-Im
|m"M)I<;"m"
|"m`mm~G9iIG"iN9'"Nm|m

p"sGmm"9   |"mmG)Isp|"mNS| 9m|
p" IGsN<mm~"m 
  s W"N`mm~""m
]~|m"m mG|;mpyII"mm "mmGmGmIm;
mN;"m+"N'Im9"m"Ps"miImm I
9m
9"G"immW m+N+")"mm"
)m<sNIm+|I< pimy-Im"N;mm~NUN;G"m
9"IG;P"NcNysS;m Um"mGsN;cImm
s"m
N)mm2]msm"p"WW Wm|m;mm
"NWmm~"m|"msNN; )mW]GmNI m$ "!#$ %&'
'( *)+)+,)^m m~  mpBm+p"sGmm"W
)m|;m9);sS;
p   s+ - / .(021(39"`)m
m p+ mm~sm  +W'|Pm|$";";mmimN;
NWm ')m+'m/ 4BmmN)~m 0m+sm"
yyx >" mG$; mI"Mm m"m |mImym
mm ;mmmGsm `]mN+m
'mI"mM ;im)|I
]"m
S
> m
)m|;m+I
W"m>mm~" p")mI 5
2
pI"Gm"s~
@9+IG;"9
W"mPN+;
p
2SI2mmIUm"mGsN;cImm
ssNcNy
)mm s"m\SI"mmm
)mWm))"]m m2|Ic mGN;<)mI
sm"mmIm
mW|I-m+mGm
40"m+mU
m| ysm"
I)ImU];m)m|I" m;yU9m~mIm
sm"p"9"mG"mm"
m|;m;$ WN;]N ISm
Smm" p; 9mmp"<msN;'mm~"9
;)"

s"mpm++";;]m|B;Im;;m
m|;)"-m~ +mG>NS|Gpm I
N;
)m'mNymy |m"p"-mNym$NG|I
p)"s;N<)m"N+")"m6 7%8 ! )+^

9;: <>=NQYO_UWsh`:O_s\UWTaQ?joUWT,O_nhT'K,L'LNT ?zshAM @jo[RT!JO^ob K[XjoJhvfshjfvfTgQYO_UWsh` OWs\UWTaQa n\TacnhBj @fTgJ\^0`!^fJhQYO_UWsh` OW^fUF^fU


\m TaQYO_UWsh` OW^fUy J\^eJ\^fJC S\s\Zh[rMX`tlhT![Xm\Qay\J\^D@uMrU_O_shjf[bds\Jh`:O_MR^fJhQay J\^eZhjfQ_T'`:[XjfQWQYTQ!yuJ\^`!^fSucBjfQWQ_MrvzJ\VeT!JO?^zSxTaUWjoO_^zUay
Jh^U_T!bdT!UWT!Jh`!TtVeT!V0ZxTaUWQgjoJhm2J\^eJ\^fJECF: <>=V.TaVkZ
T!UIQ!*: <>= s\J\MR^fJhQ,jfU_T'Q_MrVeMR[RjfU_[Rcpm T!lhJ\Tam
G;H S
^f[RcuVe^fUWS\n\MX` OwcuS
T,MRQ m\T:lhJ\TmkZuckO_n\TgK,L'LQYOWjfJhm\jfUWm.jfQ@j'`:[XjfQWJQ I,n\MX`In.m T!lhJ\TQ;^fU;MRJ\n\TaU_MrOWQ;>j @uMrU_O_sxjo[
bdshJh` OWMr^zJ
K H OIjoJ\MRs\V sxQYTQibdshJh` OWMr^zJm TQ_`!U_MRS OW^fUIQ bd^zU?MrOWQ?bdshJh` OWMr^zJ2S
^fMRJO_T!U^zZ LwTa`:OWQa@nhT}m\TaQW`:UWMrS OW^fUIQF`!^fJOWjfMrJ2Zx^fO_n
j`!^ m T'jfm\m UWTaQWQjoJhmjem\joOWjejfm\m\U_TQ_Qa


Vbase offsets

Offset to top
this ptr

Typeinfo ptr
Vfunc ptrs

Base Vtable

Vbase offsets

Derived Vtable

Vcall offsets

Vfunc ptrs

40"my '2|;m"mm"m

mNN; sm"9"]mImImm]|I
p)"s;9 ;pm+N
2-NmIm" m i6m9U"ImWN"
N)m"Wm ;"PNm"| m)+|IN9GPWN;
|"NmIm
cmB"mi
m-m@"y;+GmI-)mi|"NmIm
) i m~y"I U;"Iy+m Im;4"G;"
")
2GIGNW'92UG"Gm;mmUsIm; m ]N;
]m9G"s; ;+IGG
p~+"ImGm"s~
)mm"+|I|<mm" Nm|GmImm"
IN;"I]m+m"Im;
4N"UmWm
N]2"mm
m;NN;|G9 40"Nms"m
N"s;;mymMmy
2;PNIymUyI|;cNmIm
t"PM"]m~ms: i -)Is"m'mGm""s; ym~
s~
)m +m9Bm"Sm';0m| N;|s"mm" 
]mU' m"m )I ' m~\m| IIm
m'"NsN<mN;`"0p 3,1  `)m~NW;c ]m
mN;+mm|ms)m"m"mmWsN;PN9I9
GmBpNmImm;
 9U>
2smm
|m"9"'"]s];'
p~ mN`|"m<;m
mI]Gm<N; mIm"N;2' 
9p;'
p 9m
m+N;N msm"p"mmI
I")mmII
2mI)+ 9G)NmN; ;WpNp+mP
m")mIm"G  N>N|mI
)m;I iGp"
GNy;W"m~2m Iy;m i9
Im"

Vbase offset

Object
this ptr

Vtable

Vtable ptr

Vbase offset (+N)


Offset to top (0)

Data members

Typeinfo ptr
Vfunc ptrs

Virtual base

40I }2NPm

)m$pym"m"mGp m" mG" mmG


|m"p;
p~mmI""N-mW;|mmmyIsN
N
M)I
m`9`9"0 )+,' # ! # # *$' E  > ,)
Gmi 2N2I
Nm^ I|Ism|Iim"
s~2N") Mm GmsII2sN\mm~"IGNI |I
"m" "$ms~N"N;ymmI"" G>)mpis"m
mm
"  (!$$' E< Mm"I~ImP^I |I
"
$~s~yN"N; G"ymGmmm"P
t'i" 9
 
# J   !"^ )m"; "GN;I`
' %&# J `N;ym
I)mU
"N;Imm";
 



 

E ) 
  # * )+ 

]mm|m"|"m<mSmi`sNNN;I"my s"m
N G"GmsI$)Immm~;
p~0"
"$ *)+ )+( 
m|m") Gs~]9B)m<"';G"GmUiUimIs"m  +2]|
m|m"m9i"mms~]ym; sN;9m<m;]
m sNBNm ""~<GG +"U N;
m+m"sN;PN U@;"N>m+;9WmmIW"sIP
2 GIG"cpIy"sN;im"
psGmm"2]Umm m2|I29"' ;Im 40I ymU)I|
sN;PN^m I ;;m-I+mmm9

E $$,
  $ $' E )

)mmWm|;m$"GIsN)mI"mGN;I9m9P
)m'mm"NM m"m)mGNysN;<Im m|$
tIm m"im mm  sNimm~ tIm|
mI py;m N;mI $mU"mmIm
 U;~m s9)mmG ;]I
m"
 $");>m|9GySm9y2;mU"mIGmm~"
ym;<mIm 9"2ItImsN;-mI" ;Wm|I
mm ;sSmUmmmm~P>2mG9"
Gmm^\mm
")I+mG]mmI9
m"N\mm~"
UmW"NPmm~"IIGN
mN .(021(3 9"09+IGN;m9smm+mI
!

Object

Vtable

Vtable ptr

Vbase offset (+N)

Typeinfo ptr
Data members

Primary

Offset to top (0)

Vfunc ptrs
Vcall offsets

Vtable ptr
Virtual base

Offset to top (N)


Typeinfo ptr
Vfunc ptrs

40I  }2NPm

Secondary

Offset to top

Vbase offset

this ptr

s~'mU"mImm>y)m"mmymtm+I .0 1(39


m U"mm Nm m s IsN; N"m
P m Sm"m; m| m sNN; "G"
mySm2;9mU"mI
""Bp 9mI " G
m"<G+I pis"mmNM)msN
x >im)sm"
mI"|;m2]m+;SmGN mI m" s
s"m0N; )mI"2 ;sS mmN-;W"m|;mym"m

>'mUmIsNNm
m/ .0 1(3p'>m
U"mmmm~P
)m"+;" 2'   )+( E);)IsImmm~mU+m9"im
;2x >"mm|;m;;m mm ;"m Imm Smm .0 1(3
p" 40"m2  mU)m| +|m"m
9
p)2"s;mmN;
sm"y9mIGm sN;-m N;
my I mN .0 1(3
p"M <`9I M9 II;I)tmG`+pmm"+m
mm^])Im
Im+U"mmsN>Im)"msmGGN 
msN>N;')I2]])m|N/ %8 E * ! #  $ 
)m;y;MU;
~msp2"N;mm" "G"]Im9 2m;
"
]mW~msp2I| N]9SmPNmmtmG ]"m
G+m"s9N+sp;] I;9 II;m"
>^mI
m"
+m ;I
p~Wm" sN
pWMm "

p"mN
U;)mm .0 1(3tmmmIs
cmmIsy;. A .(0 13Sm"mmIs+p9'mm
mM"mm~m C\"t'yimy2m mIs mI"P0]m) m"m;
G" GGsm|m"mpNmm;m|pN>
2I"I
Nmm m" mmm; mm>2"Gm"sG
m+mIyp"+G|Nm"y2"m\<msImyIy
mmm;Dmm>\|mmm~"mUP 4NWIW9G;|m~;m;\"
mpp"mm~m N; ;)m mmm ;m m
mm;Im ""P)m2] Im<m9"I|I""m
p"I ;"m  +I"mGmm"$IU"mmmm>MmI
m m]|;I;|;2- m"m"9'|mG;')m2m~"m 2]<mGm
N+;\
p~9Im+m"]'m" N " sImW;~p"
mN


tI -"N^N2sN^mm~ ; mIyG


m"]
m >)s"mPN I
 

)  $'  7) *



,)  $'  7)

mm~ IIm~"sm
'
`s"m2m"]s~M)I mmyN`Gm"]mUm)^I 
Im mIPmsN;PN
`s"m Nmps~WI.s.)m mm~N;G"
m"
mUmW\m2]UI mI I m]sN^N AmI
m">IP m~I s"m>N; C~
Wmmm+mm~;mIm~"PmIW9Bms mm
pms9)mN9"mm>)ms"m'mI"mym& .  1 $ym
pNi"pm
Ns9"im
INs 4^<Imm<"mI<sN;9mIm
s~mI" m mm m m's~ )mm"
Ncm sm"y"2`mys~W"9
IyNsp - W|;mW)mI"
m" s~mm~"U m ".m m9|m"mm
mmNym~P)N;Im;| mm ]m s"m'm
P)mGIm" Wm;+mN - sm""0Im;sN0NI
m mNmGm s m msp"9Im
Gm"sm
sN;NN"s;mBIpI~M)IsNNm
";"mm mU m+I I"mm";W|;m
)m+G m ymm;p>mm~"|m" m"|mIS
"N>mUI 'Im~s~
msN;pmm~"9]]mm
mmmWIm Im~"P2)Iym"yW;<mmsm"pm
<|m
Nsm+sNNN;mIm<|I)psm"i<N];Im"N;
IG N mm~mmm )I mm"I
m|m;mmcm;0mBym  mIm;<+"\mImm
m)m"~
mD"NPN;)N;sI+mm~"m
)mW'ym]"m;2|.mm~Gmmm mm
m~Ws~
m m2 Nm9s')I+"]s)m"~\m
mG;"m\;`mi;G;Bym"|;2\<-
m'<Im
"9 N)mm>


I

N-.7!3.1 ]9)1@



]9



) N pG9s9)mmN""N;; 9
Gpm;|;m 9yp
mI"P)m;

Gm";
"
N)m;>"9sN;\mmDsN9mmI
9ypm;| "Gm$mx > m|;2IG
mG9i]I0m+mmImm
p~

"]s
II;" B
 mGGpcmG
p mI$I .(0 1(3 92ym;|Gp


:H O}MXQgMR[r[AC bd^fUWV.TmO_^Bbd^fUWV jpS


^fMRJzOWT!UtO_^2V.TaVkZ
T!U}^obij2`:[XjfQWQ$I,nhT!UWTO_nhT0`:[XjfQWQgOwcS
Tk^fb O_nhT0S
^fMRJO_T!UqMXQtj
@uMRUYOWshjo[ZxjfQ_T}`![RjzQ_Q^fbOWn\T'VeT!V0ZxTaU,Sx^zMrJO_Tm2O_^h


m ;
> mcmGm m"$p+yp)IW'
m+G;m "mm; 9
9N;|W W"29N;
mm"I"p"G9m;|s~~"2+m)I
I|S )I)s"mWm+mm
9"9mm ym"mm";Gm~mmIm " sN'
mD"ND<9mmm~  sm"mm p]I. tmG p
mm" WI .(021(32p"0)m;SmG`Bm090WN)G9
mmI>9mm NyG"2m;W9;2
> m2cm"2G;"  p
m""mmI ;m|m" mm mmm~"9"9 U"PB
m p;2s"mpmI"m]mD"N9mNm" \Ip"]]|I
mm +mPm`9"9mm~""+I mMIm
p" ;"m
-m"m29\
GpPmm~ m- Im"mm" Wmmm|
mm;]m';-mi;<\mi]
90m9B2y"m;<|mG
P;"]Us<Nsm+m sN;Im"N;|`p"M+90Immsm m+m
"N0Im;| mIcsmy|Iy]mW"~>c2m;W'm
N]'WIm-mm|mM m|+IP0)m]msm02]\sI m]9
9+mm~" "mm;I
p~ m|;mp m .0 1(3
p"N)m; m;
 IP


/=3.1@7  +  3o-k9 %q1@7:-.3




IG;++I'|Ii-I -s9'"m"N;"y;myIsN;G"imIB)m
m"ImNsm"0s~imspG"M 9
mGs9IS scI|+;+"mm  <Im;)msp
IS 2 mm "mm<;"m2s9"I; )m
m|;

4NmmN\mm"" G; s9
2sp
4Nmms9
 sIG;s9
]
mN+
]
ImIm"mD"N>m;x > m
]
sN\;m ;)ym"m"2N 
B")s9
B")yp 9
^mWsp
WI m 3E.  .  1   s9<)m 3E.  .  1  
9N|;m+9m9")mm"sI "mmImmNBm
9"GGm))m"mm";s9y"IG; sWI
; 9IcI]N]mm'pcs9 s0 IG;"+9I






m9 sp;)I+IG;" "mmIsNmI II


Nmm"mI
)m .  1 p;"GI" ~mm p"GI& 37.  .  1   s~
is9GN; m""GN"mIGmImIm'msp
" 3E. 3E. p)mW]|; I;|;]Gm;I;;ym"m;
.m"m s " mmG;)m9N m".m
mmN">0mmm"m"G; ;mmyIy"GIUm
37.  .  1      .  p;>mI+"WmUIsN m 
mmm"mmI)9 m+s9+NmM)II"G ;GN N~
NI\Wm I+ImN;simGs9GmUmWsp
ISP
`"m spIS p"m
p~m m.s~
2mG""m  1 pmImN;;"m m9
m;y9 m+Gm" s~
2sNm9|+  - GmI|I ;mP
|;"mG;mG
m"s2m;|m"mG)mym"|
N;))I
2ym9];cm]mmmiN;]m]p|m|; ]PI|;~ N2"]m
m"Im"m"Gm
I"m"s 2sN;G"
m I92pm
N;m"m|Imm"m"Imm"'mmI<N;i><"M9
I
;>0)m"] ;)mm ]'mm"WN;W2IWIG;"
"2 G m"|m"')mG m BIsN+
"m "mIm" mD"NMm"|BmN;I 
m"m'm p
s"mmBm
)m2N'mi'9I'mU m|;~]N;2"'Im|;
m
NmU;GI ;pmmI" m m"; N
m;m sN;-x >9m2mmm""m>>m"m"mD"Nm"Pp
m" ;m Am";;"m sN"" C~
)mmI+m"" |;+ - +9s~"0"I
Ns9s 4NI""m"mm.;
"GmISmm
"|"mmIImNI|;mG;m IIGm"sN)m
m|I+)|N;msm"mmm A $ *%8 B)  J m C

I+m'ym"mmG") ;"m mmI
m"mm"m "
mU  ;m G mImII s"m
mm|mm"yN`+ ;ym"mm"m)I I<IGsp
mc;"mm+-I+sp+";PB AWmmm)]^N)ms
mG;
mmym"m"mI|I"PR C Wmm|spG+s;PB sI|
p"`N"mG"m mm`m|;"mN`ImIm"m
NmB|<N;
mU>` P"MmIsN);iN<ImP< P``m;
mmG"G NmmPimpmmI$m~mp; mI|I










 





HDVeS\[RT!VeTaJzOIjOWMr^zJhQ8^obOWn\T H ?H jfU_T S
T!UWV.MrOYOWTam O_^ jfmhm s\JxQYS
Ta`!MPlhTm @uMRUYOWshjo[ bds\Jx` O_MR^fJxQ O_^
 Fu h ~\ jfJhm OWn\TH ?Hkm T!lhJ\Tam*OwcuSxTMRJ bd^fUWVjO_MR^fJ ^fZLwT` OWQa HgQ0OWn\TaQ_T2UW^fs\O_MRJ\TaQ.VksxQwOeZxT`:^zJC
Q_MXQwOWT!JO.jz`:UW^zQWQjo[R[iVe^ m s\[RTaQ0MrJ j S\UW^fvzUWjfVy `!jfU_TpV0shQYO0Z
TpOWj fTaJ O_^ TaJhQ_s\U_TpO_nhjoO0J\^^fZLwT` Olh[RTpbdUW^fV j
m\M T!UWT!JOq`!^fVeS\MR[rTaUgS\UWT!TaVeS OWQ]O_n\T @zOIjoZ\[RT^fb OWn\TaQ_T^zZLwTa`:OWQ]^ @zT!U,OWnhjOtS\U_^ @uMXm TamZuc2O_n\T0U_shJzOWMrVeTTaJ @MRUW^fJC
VeTaJzOin\TaU_T}MXQ,j0nhT!s\UWMRQYO_MX`}MRJ L'L O_^T!JxQYs\UWTqO_n\T@OIjoZ\[RTaQ,jfU_T}T!VeMrOYOWTamjO,OWn\TjoS\ShU_^zS\U_MXjOWTgS\[Xjf`!Tf
















N]9m"Ummmm
mI]  " >"iNs]"myI'"myI
Ip~)|N;m|m


%3 .#!7!3






2Gm"mWImmm;W"mGys-Nm"
mNm"M)I)'mmm9mm"mG2 smsp+;m]m;2N;
ISP0)m+2]]Gm"">N;GII m
)mGmI y9N  4G`;mmGm"|mG
sIt ) # * ANm$I"m C~ mm~s9G"IG;)
mm2 - <N`"`mPsmN)~`I ;mt NU s
-
";"W  sN;IN`2 m]G<spi"smU]sm"y~m
mN;G;cm NI"m "UWm9;mm"~IN
9m"m ;mm~s;P0)m+G|Nm" m)"G"<  yGmP






> 21@7!-03







%34 #!7a3



INmm"m"
pN ; Gmsm ! D. 2mII II
 m;
]mI"BmmU
Immm"0||^)m+"mN"mmpmm0II"p
mmm"IIW'+P SD
WI"0s~mmm+m'mm">;G;
;|mmI+mUsG  I"Nmm"
)m+m"mmI"m;'GIN
) , J '  mN )m|Im )|| mp;m" ;mm
m9ImG;|mm I"m mI"I pm$
m"`<mmmmJIN;]mm~"`;;mMNmsm"mm
m smN
'(  * # mN GI"|;m S|msS>'I||mp
m]mmy+"m'mNMI9mmM"m+I"m;m+m"
IN"mmpmm;mm
)m'INm+"mm mG)+ I"G"
mI
ms
ImmmIN I+I>||W;m")"m9~m
B;I
)mmImmm" m"U"m; II |;mW~mI~
9"mImII mmmImmsG)mG I"m+"
Gmm"mm mImImB)I II|;mm"ipmm
p"2m\9"2mN;ympmm NIm"mGmI"mcmWm
mm"m
"$IsN;G"GMmG;|S|m"m""I mIGspGIG;"
s~sSWI~;|m;




H Ogjf[RQ_^ejo[R[r^ I]Q?UWTaQYOWjoU_OWjfZ\[RTqT!{\`:T!S\O_MR^fJnhjoJhm\[rMRJ\vhyubd^zU,[RjfJ\vfsxjovfTQFO_nhjoO]U_T?zshMrUWTtMrOa





#a#:-p>,%q1;7:-03%34  3=7 1@7!%#!7 ,%q1;7:-.3



)mUm9Sm"mU"m;imm9W;'s~+ m
m' mGm
mm]im`)miG;"iGmW;m~
p;+8 J7E (! '   " mp~mG s ")mW]29N
N;2m sy"2I"m 9 mmm~W"2m "scmmmN
U m";"mm~".msGmG|;' mG )mUs"ym
m)m;mG]""m+Gs9N;mm"m^Nmm"m" m
p~Is"W~|""m
)m2]yINmm"pymm~"mm"| pm m"
|"Gi)Iy
m~D"Gmm~"P)m++mm"m;N ;I
m| MmmmI" "m`;"0;mP+]mm"m
U]`m"
2mm~$IIm~"P)mmmI+Np"\"~
GIm ;\m mmmIm~2p"W)I;;S
;mIm"s;m+;
`m)sNsmm~m>M)mMIm"`mG"sm"Mm'mm s"
N;Pmm'm"9+mP<)mm)m"m+mm~|m"
0m~
;
mIW)m"W;pym mmImGNIyG
iGm"
NNmmm"mm;~mm .  1 

|NIm]"N^mm  "N^mm)ym]p
m"ym)m`NI)mm`GImI;m"|"MmMm"
m+G m+~ mBm+Im
mI
)m2]" INm"
1 0 m;mN" )m 
21 Nm;)ImmNG"mNN
9N$mmG
3
1
1 ^mUsmIN












 
 


   
 

 





  

 

)m 2]msGmmmm I"N2s|;mN.-m; c"m; A_ gC"


 @"Gm"|SmmGmINN;m"-$I|".m"N
N;m""SWm"W~0]m mmNIm"BNS|9W  ;
-"NBImmPmWISI"mm\;mBNBm"pN;
)mGIm~"I.;m" )m  + I mUsI ]

"cW])mymm92"m^"mIp^m| |;mG m
m"G`Imcm+N;mmBGmNS+Wm<W]|B)mi"c)P|IN
I IIU+ m||"mmy2]mIpI m   m"|; 
m s|;mNG-mS \m0)m    "< Si I Ism"<"`mU
N;m+"pp+mS+" m+N;]  $2]]"Im>
)mGW]2m IyINm$"GI;"]m .;] "mm
]mG"GI;"m]" my;)m2m+2] '] mmmP
)m'W]\IBm;0p"  I"mB"m"" "m'mS<;"'NS|Gp
p~mNSmNI m+|;mNP



 

  
 

W"ImN~)-m+2]]"m"mm
4^N "
sm
4NmP"GIm"";Bm ) |;mNP
9;m""9' m+m; m >
GI
>mN9 |m" "m  + m~-I
m"];"m
m )m$ "WmU9m""mWm"|"WImS
mm"m"m N I m sm Nm G"GI;"
m" m;myN $mmN;P`m]INmmm~"m
W]|< -m+m~@W]i9N2m >"Im+mW"pmG"m]mm~"mP
)mm)\Imm]I2|m"W'm]ISI`)mmm
sN>Imm)">I;mmN;"m""
I"mmm)m;p;
p~ m
is9"I;>IsN)'IG IINIm"m"Gm;<s9
G"mm))m"N "Gm
N"m"m IsN;";m
Gsmm"
!  %'9 ]4  ]>?1 &
I+m"m 9;" "I I$m
I'm;I"mS yp"N;GmW]ImpGP
"IIim"]m+m
^9Imm";'Gm2 |m"k I|mmm"Si"
m
is9+NPmG"W;"mm mmm"mmMWs~;
myI-~mmys9G;"m; m"m;pm
m+GI"Pmm mm p
s|S m" m"m Imm '."mm II mm~P
mmIpm"mImGG"I N; m+|;N;I
mmm~m ImW"mm+-m;
|Sm;|I
2mI+N<mmI; sW;I"mSm|W"mS
"m-Im;`mmI0 mmmm"SB'mm ;mm0"GN;
mmsmcmm I m+;GWmI"P
m
mmI^)mN0m "mm| x pI
IN
mI`"N"m"B)mm`mU +N;G"my"<mm<m
I 
Wm"m2Im"mmI2ms"m9]Im mM"Ns0"m
m"m; A 9"N |;+"m C] PpmImp+U"mm
I;
mNI)m"mI" mmm
"m"G;`m mmGNS"yym";"y $s~
m "mGm+ m"ID W"mm)"\mIys
G"mm;m+W''mmG


Wm"mmIImm^ 9"m| yp"W 9mm


"m`  I 9im"N's9$
mN I"

9; ";mWN; "m"^ymG;-s9WU;"I
NSmmm"S p+p~] N "m"
Wm"m+ m"iImPN"mG9m~m]"NN
p`m)IsN)'
U;"I'+mB A;`I CBmG")s
0IB 9m]"m"BiW"9S;IMG;]m]s90U;"I
Wm"m"m"myN sI"' I"|;mm pW""m
mys)mW"2mG mm;IG;;"Gs"Ncmm~
mm+GI
N sym9mm"mm~mW;'"m"mm)m"WIm
p"Nmm" I s "my"mm@"m m
  \"s $"mN$Im"m"]Im;mmI-m II
|IIm9m"P ;m m"mN""Im N]Im~
mm+GI
I;Gm"WsmmI;m]ImmSm0NI];m2; SD
  
   }  
)m)+2]GI; p"m;mUs"m;;"mp~] m
9;"mN` )m mmmm"mG|;G~
m" m"<pm"'"mmP;mm`GN

U"ym";pN;>0)m)0m N;"m-I"G ;>tI|\ 
$"GImmcm 9"sImsNiNyN;yNmm;|
GpM)m)"Gm|;|;m 9"0m9m
;W;
N;'m~mWy ;\"NNmm~m Immy92UmIP
B]-mN;-I|B<I"|;mMcm];BmG"NN;B)N;B"
N;9;mm NS"NMN;mm+ p"s;P]m
m"m"mm sN'N m~<""9m"
m" sN;MN9 Im+N"m mm";|
)mMI"G ;Immm"mm9M;^mm|miImM`mmm
mG;"P sGGmN;
N ]mU " ;m+Bm+m Gm"m]+'m
mmm"mN|mm"
]sm smN"GIm W'"@m9;Gm"+mmm"m
 + I I\;"m+GN;m Wm"mm"+' 'IGm$+N;
m" ;"NSm"GI;"m]smu mN;mm"" m| m
m m"mm 9'm" 2mmI m)cmm)  + mmy"
mNm mmcGt)GI]mm



!


-07a3



<-k9 $%'9;4

"N""S"0 <mmmG|;  +- `"W]Bm"m]m)m.W]|Im


mG;"BmmW] Ism mmm"+  ) - 0=GII`


3.0 Branch:Feb 2001

3.0 Release:Jun 2001


3.0.1 Release:Aug 2001
3.0.2 Release:Oct 2001

3.1 Stage 1:Oct 2001

3.0.3 Release:Dec 2001

3.1 Stage 2:Dec 2001

3.0.4 Release:Feb 2002

3.1 Stage 3:Feb 2002


3.1 Branch:Feb 2002

3.1 Release:May 2002

Version
Renamed

3.1.1 Release:Jul 2002


3.2 Release:Aug 2002
3.3 Stage 1:Jun 2002

3.2.1 Release:Nov 2002

3.3 Stage 2:Aug 2002

3.2.2 Release:Feb 2003

3.3 Stage 3:Oct 2002


3.3 Branch:Oct 2002

3.3 Release:Mar 2003?


3.3.1 Release:May 2003?

3.4 Stage1:Dec 2002


3.4 Stage2:Mar 2003?

40I=  

) W~"m
B
m)2]-]`"Gm"P;m  ) "mG"iU I)2]|
m
"G"N;m I"N"mmImmP
M";sm.mmWm9`9mm`]"M;0m  ) I W"
)m2]2;m"'"GI2W'`9NSmGmm "  ) - 'mG|;Pq 
m'   ) I I"GNS* I   9P<" 
ImU N;m] Im"N;'2]+mmm"| ]9 "m
m s t"N A_I C~)I]y; mm$    \ 4Im
sm|mm 2Ii]  )2spIm"'sm"M]]"Nm  !
  B  sIN;`I
I sit  );)]mm<9)W]BN;m"
"I2 "
'`m]ImimU mU"mGNSI `]Ip  I
m
pGImmmm"t mm)my]W;2mIGN|pWm I GW'
`Wmp I)mI|PI m9 NSMm '
I+IIMmImUGW]-mm
)mWmNm"\mm]mm] ; m msmI'm2 I]'9s]N;mP
mm"; m
W'0|NIN;i]mN
pG" I ]'N;G I m
mm"m $mm9 N IR  40"m Itmm ;;
 ) "
m~s"|;m"IIW]mm Sm  ;  m P
 ) W;Im m*
 W'"Gm"|SP'm~m\m ImNSI
mG;""m
"9p Pi]m]m| I"m"9;m"""m


\  
NMXQ]j.U_Ta[rTjfQ_Tt^fbOWn\Tm T;@zT![R^fS\VeTaJzO,Z\UIjoJx`In2Vjfm\TqZuc ]Tam
gjoO

m"<"Nm;]92m~m"M-ymm
pm"'2N2m
G]m;m
1 ]m"mm^m|"Nm"m;m"9"mm";mm  "m;m

smN;]im N;"m)GmW2]`9"N;"P<]m"I2"m"
"
Gm~mIi"I`m
<m
m'myim
W]]msSmIm
"mN;ypNsI2IImmm
m|"'I]m2]UGGp;I \I2W'|)m" IGi
m+m   ;
 1  *3,1  m m"|m|"UmW'IIyp
|NmP]mmG$G$m~mBI|9mIy m  
]2]| Imi'  "Nm]sIt I]"Np
mmP
)m  1  *3,1  | >m9" m+m s
Gt  )  AYIR C~

mmW9 Gm mm~m  1  *3,1   c9Gm


m;m"ypm"mmyGmUPi  1 "<pmm m
N|p mW'"2mm|P<2"y G^9WImymm
mmG2mm|PNNm"m+m  1  *3 1  ;m;
Gm;;m"mmymUm`m;mpmm+s9  +
m)m)mN "IG;"]m" ");>< N
m) 'Gm"m~)mmIm+Gm" N G A;m
N Gm"m+IIm~smII~@ C U NS  +@Nm~m"
mN;y"Im~"mmMmGmmy Im; )mm~N
`9"$"  ) IP m0 m"|$"GmGm;I"mmm mmp
I
mGG;m)+ W]cmts"m<2|INN;Mm"-;mG0m
mmmI
Gsmm"Mm;i9;; W pm<9'Gm
m mm
W'  
)m|Iy9""m"s~2 IPPI""m" 'WmW
;"m)m
\;"m "N0mW m|+"Gp;P>;mWNUI
N;m"m+m";|
]yUI + "0"UmIUsI '|"`Nmm"m ; G
N 

IWsp+GN;m+m|"G;
)mymG+Gm"m|mI"
I
Npm m"
m" |;N;)m+m~sm2]]m m;
]U;;'mm);2mm9P  +mGm'mm9 m"Gmm~"m
W]|
)mm+ ">mpm" Gm"m9
G|Nm"
]mI" sm"
+mm9P
!










2sNW2m  IS|m"m
 "Npmm+ I I"m+mm"P

)m"]mpIm" mG ;"mI ;"mm W]


+ "y 9m"iGmI4Ncm|I;ImBmyIm~Bymm"m
mm"m"2 9 mm
  
  

`;Gm -;mN  )+N! m ;  u " I
t )I ss 2mm";"'N; 0,.,.   3  
      
 3  3s
P S )I m ss  2mI;"]"N;^ |m"m ` m
I 0,.,.   B1,.   
  3 1 J1. 21      *3 0J. >
 ;)+ 2]') |m"m, 0,..    3     
1 1 0,. m
! )+W]
|Im    mm"mm 0 ..    3    

21 1  0 0,. 
P S )I] mI ] ]I`m 
mi|mI  m"m 0,.,. 
 B1 ,.      3,1  1. 1 
     *3  0,. >
t GI N \I sm 0 ..    3    

  1 .1  3        0,. m