Index: gold/output.cc |
=================================================================== |
--- a/gold/output.cc |
+++ b/gold/output.cc |
@@ -608,7 +608,10 @@ |
{ |
if (should_issue_warning) |
gold_warning("cannot find entry symbol '%s'", entry); |
- v = 0; |
+ |
+ // Can't find the entry symbol, and it's not a number. Use |
robertm
2012/04/27 19:46:15
This wont help with pnacl, wouldn't it be cleaner
Aleksandar Simeonov
2012/05/08 15:21:42
MIPS port of Gold is made to work the same way as
|
+ // the first address in the text section. |
+ v = this->target_->text_section_address(); |
} |
} |
@@ -1152,6 +1155,12 @@ |
compare(const Output_reloc<elfcpp::SHT_REL, dynamic, size, big_endian>& r2) |
const |
{ |
+ // R_MIPS_NONE relocation have to be first. |
robertm
2012/04/27 19:46:15
why ? add comment
Aleksandar Simeonov
2012/05/08 15:21:42
On IRIX n64 rtld would ignore all dynamic relocati
|
+ if(this->type_ == 0) |
+ return -1; |
+ else if(r2.type_ == 0) |
+ return 1; |
+ |
if (this->is_relative_) |
{ |
if (!r2.is_relative_) |
@@ -1723,6 +1732,10 @@ |
val = pool->get_offset(this->u_.str); |
break; |
+ case DYNAMIC_TARGET: |
+ val = parameters->target().dynamic_tag_value(this->tag_); |
+ break; |
+ |
default: |
val = this->u_.od->address() + this->offset_; |
break; |