This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb/users/hjl/linux/master] Handle Initial-Exec to Local-Exec for x32


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e749cab89d976c723ee01a3dfcfd7ec1a883f890

commit e749cab89d976c723ee01a3dfcfd7ec1a883f890
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Jan 6 12:58:54 2015 -0800

    Handle Initial-Exec to Local-Exec for x32
    
    	PR gold/17809
    	* x86_64.cc (Target_x86_64<size>::Relocate::tls_ie_to_le): Handle
    	x32.

Diff:
---
 gold/ChangeLog | 6 ++++++
 gold/x86_64.cc | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/gold/ChangeLog b/gold/ChangeLog
index 496d9a7..af56066 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,9 @@
+2015-01-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR gold/17809
+	* x86_64.cc (Target_x86_64<size>::Relocate::tls_ie_to_le): Handle
+	x32.
+
 2015-01-02  Alan Modra  <amodra@gmail.com>
 
 	* version.cc (print_version): Just print current year.
diff --git a/gold/x86_64.cc b/gold/x86_64.cc
index b45eb3b..c368b03 100644
--- a/gold/x86_64.cc
+++ b/gold/x86_64.cc
@@ -4100,6 +4100,8 @@ Target_x86_64<size>::Relocate::tls_ie_to_le(
       // movq
       if (op1 == 0x4c)
 	view[-3] = 0x49;
+      else if (size == 32 && op1 == 0x44)
+	view[-3] = 0x41;
       view[-2] = 0xc7;
       view[-1] = 0xc0 | reg;
     }
@@ -4108,6 +4110,8 @@ Target_x86_64<size>::Relocate::tls_ie_to_le(
       // Special handling for %rsp.
       if (op1 == 0x4c)
 	view[-3] = 0x49;
+      else if (size == 32 && op1 == 0x44)
+	view[-3] = 0x41;
       view[-2] = 0x81;
       view[-1] = 0xc0 | reg;
     }
@@ -4116,6 +4120,8 @@ Target_x86_64<size>::Relocate::tls_ie_to_le(
       // addq
       if (op1 == 0x4c)
 	view[-3] = 0x4d;
+      else if (size == 32 && op1 == 0x44)
+	view[-3] = 0x45;
       view[-2] = 0x8d;
       view[-1] = 0x80 | reg | (reg << 3);
     }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]