Rename X86Abs4/X86Abs8 to Abs4/Abs8.
These relocation codes are for simple absolute addresses and aren't architecture-specific.
This commit is contained in:
@@ -590,7 +590,7 @@ fnaddr4 = TailRecipe(
|
|||||||
'fnaddr4', FuncAddr, size=4, ins=(), outs=GPR,
|
'fnaddr4', FuncAddr, size=4, ins=(), outs=GPR,
|
||||||
emit='''
|
emit='''
|
||||||
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
||||||
sink.reloc_external(Reloc::X86Abs4,
|
sink.reloc_external(Reloc::Abs4,
|
||||||
&func.dfg.ext_funcs[func_ref].name,
|
&func.dfg.ext_funcs[func_ref].name,
|
||||||
0);
|
0);
|
||||||
sink.put4(0);
|
sink.put4(0);
|
||||||
@@ -601,7 +601,7 @@ fnaddr8 = TailRecipe(
|
|||||||
'fnaddr8', FuncAddr, size=8, ins=(), outs=GPR,
|
'fnaddr8', FuncAddr, size=8, ins=(), outs=GPR,
|
||||||
emit='''
|
emit='''
|
||||||
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
||||||
sink.reloc_external(Reloc::X86Abs8,
|
sink.reloc_external(Reloc::Abs8,
|
||||||
&func.dfg.ext_funcs[func_ref].name,
|
&func.dfg.ext_funcs[func_ref].name,
|
||||||
0);
|
0);
|
||||||
sink.put8(0);
|
sink.put8(0);
|
||||||
@@ -612,7 +612,7 @@ allones_fnaddr4 = TailRecipe(
|
|||||||
'allones_fnaddr4', FuncAddr, size=4, ins=(), outs=GPR,
|
'allones_fnaddr4', FuncAddr, size=4, ins=(), outs=GPR,
|
||||||
emit='''
|
emit='''
|
||||||
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
||||||
sink.reloc_external(Reloc::X86Abs4,
|
sink.reloc_external(Reloc::Abs4,
|
||||||
&func.dfg.ext_funcs[func_ref].name,
|
&func.dfg.ext_funcs[func_ref].name,
|
||||||
0);
|
0);
|
||||||
// Write the immediate as `!0` for the benefit of BaldrMonkey.
|
// Write the immediate as `!0` for the benefit of BaldrMonkey.
|
||||||
@@ -624,7 +624,7 @@ allones_fnaddr8 = TailRecipe(
|
|||||||
'allones_fnaddr8', FuncAddr, size=8, ins=(), outs=GPR,
|
'allones_fnaddr8', FuncAddr, size=8, ins=(), outs=GPR,
|
||||||
emit='''
|
emit='''
|
||||||
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
||||||
sink.reloc_external(Reloc::X86Abs8,
|
sink.reloc_external(Reloc::Abs8,
|
||||||
&func.dfg.ext_funcs[func_ref].name,
|
&func.dfg.ext_funcs[func_ref].name,
|
||||||
0);
|
0);
|
||||||
// Write the immediate as `!0` for the benefit of BaldrMonkey.
|
// Write the immediate as `!0` for the benefit of BaldrMonkey.
|
||||||
@@ -652,7 +652,7 @@ gvaddr4 = TailRecipe(
|
|||||||
'gvaddr4', UnaryGlobalVar, size=4, ins=(), outs=GPR,
|
'gvaddr4', UnaryGlobalVar, size=4, ins=(), outs=GPR,
|
||||||
emit='''
|
emit='''
|
||||||
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
||||||
sink.reloc_external(Reloc::X86Abs4,
|
sink.reloc_external(Reloc::Abs4,
|
||||||
&func.global_vars[global_var].symbol_name(),
|
&func.global_vars[global_var].symbol_name(),
|
||||||
0);
|
0);
|
||||||
sink.put4(0);
|
sink.put4(0);
|
||||||
@@ -663,7 +663,7 @@ gvaddr8 = TailRecipe(
|
|||||||
'gvaddr8', UnaryGlobalVar, size=8, ins=(), outs=GPR,
|
'gvaddr8', UnaryGlobalVar, size=8, ins=(), outs=GPR,
|
||||||
emit='''
|
emit='''
|
||||||
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
PUT_OP(bits | (out_reg0 & 7), rex1(out_reg0), sink);
|
||||||
sink.reloc_external(Reloc::X86Abs8,
|
sink.reloc_external(Reloc::Abs8,
|
||||||
&func.global_vars[global_var].symbol_name(),
|
&func.global_vars[global_var].symbol_name(),
|
||||||
0);
|
0);
|
||||||
sink.put8(0);
|
sink.put8(0);
|
||||||
|
|||||||
@@ -25,12 +25,12 @@ pub type Addend = i64;
|
|||||||
/// Relocation kinds for every ISA
|
/// Relocation kinds for every ISA
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub enum Reloc {
|
pub enum Reloc {
|
||||||
|
/// absolute 4-byte
|
||||||
|
Abs4,
|
||||||
|
/// absolute 8-byte
|
||||||
|
Abs8,
|
||||||
/// x86 PC-relative 4-byte
|
/// x86 PC-relative 4-byte
|
||||||
X86PCRel4,
|
X86PCRel4,
|
||||||
/// x86 absolute 4-byte
|
|
||||||
X86Abs4,
|
|
||||||
/// x86 absolute 8-byte
|
|
||||||
X86Abs8,
|
|
||||||
/// x86 GOT PC-relative 4-byte
|
/// x86 GOT PC-relative 4-byte
|
||||||
X86GOTPCRel4,
|
X86GOTPCRel4,
|
||||||
/// x86 PLT-relative 4-byte
|
/// x86 PLT-relative 4-byte
|
||||||
@@ -48,9 +48,9 @@ impl fmt::Display for Reloc {
|
|||||||
/// already unambigious, e.g. cton syntax with isa specified. In other contexts, use Debug.
|
/// already unambigious, e.g. cton syntax with isa specified. In other contexts, use Debug.
|
||||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||||
match *self {
|
match *self {
|
||||||
|
Reloc::Abs4 => write!(f, "{}", "Abs4"),
|
||||||
|
Reloc::Abs8 => write!(f, "{}", "Abs8"),
|
||||||
Reloc::X86PCRel4 => write!(f, "{}", "PCRel4"),
|
Reloc::X86PCRel4 => write!(f, "{}", "PCRel4"),
|
||||||
Reloc::X86Abs4 => write!(f, "{}", "Abs4"),
|
|
||||||
Reloc::X86Abs8 => write!(f, "{}", "Abs8"),
|
|
||||||
Reloc::X86GOTPCRel4 => write!(f, "{}", "GOTPCRel4"),
|
Reloc::X86GOTPCRel4 => write!(f, "{}", "GOTPCRel4"),
|
||||||
Reloc::X86PLTRel4 => write!(f, "{}", "PLTRel4"),
|
Reloc::X86PLTRel4 => write!(f, "{}", "PLTRel4"),
|
||||||
Reloc::Arm32Call | Reloc::Arm64Call | Reloc::RiscvCall => write!(f, "{}", "Call"),
|
Reloc::Arm32Call | Reloc::Arm64Call | Reloc::RiscvCall => write!(f, "{}", "Call"),
|
||||||
|
|||||||
Reference in New Issue
Block a user