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.
This commit is contained in:
parent
ec93045b40
commit
e749cab89d
@ -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.
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user