[cxx-abi-dev] Document gcc's use of the C5/D5 comdats
Dennis Handly
dhandly at cup.hp.com
Tue Sep 16 01:57:46 UTC 2014
>From: =?UTF-8?Q?Rafael_Esp=C3=ADndola?= <rafael.espindola at gmail.com>
>The attached patch updates the ABI to document how gcc uses the C5 and
>D5 comdats to group constructors and destructors.
Hmm, I thought aC++ had C5/D5 entry points added at one time but I no longer
see them.
Each constructor/destructor variant is in its own comdat.
Index: 204 Directory Section Name: foo::foo()(allocating)[_ZN3fooC3Ev]
Index: 205 Directory Section Name: foo::~foo()(base)[_ZN3fooD2Ev]
Index: 206 Directory Section Name: foo::~foo()(deallocating)[_ZN3fooD0Ev]
Index: 207 Directory Section Name: foo::~foo()(complete)[_ZN3fooD1Ev]
Index: 208 Directory Section Name: bar::bar()(allocating)[_ZN3barC3Ev]
Index: 209 Directory Section Name: bar::~bar()(base)[_ZN3barD2Ev]
Index: 210 Directory Section Name: bar::~bar()(deallocating)[_ZN3barD0Ev]
Index: 211 Directory Section Name: bar::~bar()(complete)[_ZN3barD1Ev]
Index: 213 Directory Section Name: bar::barf()[_ZN3bar4barfEv]
Index: 214 Directory Section Name: foo::barf()[_ZN3foo4barfEv]
>implementation can choose to group the constructors and destructors,
>but if it chooses to use C5/D5, then it must put the same symbols in
>them as gcc does.
Rafael
Yes.
More information about the cxx-abi-dev
mailing list