Lines 1394-1401
void
Link Here
|
1394 |
Versions::define_base_version(Stringpool* dynpool) |
1394 |
Versions::define_base_version(Stringpool* dynpool) |
1395 |
{ |
1395 |
{ |
1396 |
// If we do any versioning at all, we always need a base version, so |
1396 |
// If we do any versioning at all, we always need a base version, so |
1397 |
// define that first. Nothing explicitly declares itself as part of base, |
1397 |
// define that first. |
1398 |
// so it doesn't need to be in version_table_. |
|
|
1399 |
gold_assert(this->defs_.empty()); |
1398 |
gold_assert(this->defs_.empty()); |
1400 |
const char* name = parameters->options().soname(); |
1399 |
const char* name = parameters->options().soname(); |
1401 |
if (name == NULL) |
1400 |
if (name == NULL) |
Lines 1405-1410
Versions::define_base_version(Stringpool* dynpool)
Link Here
|
1405 |
true, false, false, true); |
1404 |
true, false, false, true); |
1406 |
this->defs_.push_back(vdbase); |
1405 |
this->defs_.push_back(vdbase); |
1407 |
this->needs_base_version_ = false; |
1406 |
this->needs_base_version_ = false; |
|
|
1407 |
|
1408 |
// You can tie a symbol to the base version by declaring it as foo@, as |
1409 |
// stated by the GNU ld manual, so we add the version to the symbol table |
1410 |
// as an empty key. |
1411 |
Stringpool::Key version_key; |
1412 |
name = dynpool->add("", true, &version_key); |
1413 |
Key key(version_key, 0); |
1414 |
this->version_table_.insert(std::make_pair(key, vdbase)); |
1408 |
} |
1415 |
} |
1409 |
|
1416 |
|
1410 |
// Return the dynamic object which a symbol refers to. |
1417 |
// Return the dynamic object which a symbol refers to. |
1411 |
- |
|
|