ejschwartz commited on
Commit
5bf0310
·
1 Parent(s): 52b18ab

Print relocs

Browse files
Files changed (1) hide show
  1. main.py +12 -0
main.py CHANGED
@@ -96,6 +96,18 @@ def compile(compiler, flags, source):
96
  # Filter out .text
97
  json_relocs = [r for r in json_relocs if r["Symbol"]["Name"] != ".text"]
98
 
 
 
 
 
 
 
 
 
 
 
 
 
99
  if result.returncode == 0:
100
  return json_relocs, compiled_bytes, compile_output, disassembly
101
  else:
 
96
  # Filter out .text
97
  json_relocs = [r for r in json_relocs if r["Symbol"]["Name"] != ".text"]
98
 
99
+ def reloc_type2size(s):
100
+ match s:
101
+ case "R_X86_64_PC32":
102
+ return 32
103
+ case "R_X86_64_PLT32":
104
+ return 32
105
+ case _:
106
+ assert False, f"Unknown reloc {s}"
107
+
108
+ relocs = [(r["Offset"], reloc_type2size(r["Type"]["Name"])) for r in json_relocs]
109
+ print(f"relocs: {relocs}")
110
+
111
  if result.returncode == 0:
112
  return json_relocs, compiled_bytes, compile_output, disassembly
113
  else: