fix for ld.so @ bitcode build
ld.so linked with gold didn't work - gold was not generating the _DYNAMIC ptr in the first GOT entry, leaving it zero, causing mayhem for ld.so. . patch for gold: always generate _DYNAMIC ptr. submitted upstream, more info here: https://sourceware.org/bugzilla/show_bug.cgi?id=16900 . revert "REMOVE ME: Static tests for now" - we can link tests dynamically This reverts commit 3e0a3993deb831eb5abcd1c1a2cb1246b43f8d1d. Change-Id: I4f2910ec2592c31bbd14a85d8a6045497fcaf4e3
This commit is contained in:
parent
c81f587520
commit
4193f2292e
1 changed files with 21 additions and 0 deletions
21
external/gpl3/binutils/patches/0006-gold-plt.patch
vendored
Normal file
21
external/gpl3/binutils/patches/0006-gold-plt.patch
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
commit 31245c9b262fa983d9711f7795b35ad31c3a6618
|
||||
Author: Ben Gras <ben@minix3.org>
|
||||
Date: Sat May 3 19:40:19 2014 +0200
|
||||
|
||||
plt
|
||||
|
||||
diff --git a/gold/i386.cc b/gold/i386.cc
|
||||
index a2f7522..f06d60d 100644
|
||||
--- a/gold/i386.cc
|
||||
+++ b/gold/i386.cc
|
||||
@@ -2543,6 +2543,10 @@ Target_i386::do_finalize_sections(
|
||||
Symbol* sym = this->global_offset_table_;
|
||||
if (sym != NULL)
|
||||
{
|
||||
+ // create a plt
|
||||
+ if (this->plt_ == NULL)
|
||||
+ this->make_plt_section(symtab, layout);
|
||||
+
|
||||
uint32_t data_size = this->got_plt_->current_data_size();
|
||||
symtab->get_sized_symbol<32>(sym)->set_symsize(data_size);
|
||||
}
|
Loading…
Reference in a new issue