Commit 987bbab3 authored by PoroCYon's avatar PoroCYon Committed by PoroCYon
Browse files

add support for relocation type 'R_X86_64_GOTPCREL'

parent 4b4d8107
...@@ -126,12 +126,13 @@ dynamic.end: ...@@ -126,12 +126,13 @@ dynamic.end:
outf.write('_symbols:\n') outf.write('_symbols:\n')
for library, symrels in libraries.items(): for library, symrels in libraries.items():
for sym, reloc in symrels: for sym, reloc in symrels:
if reloc != 'R_X86_64_PLT32' and reloc != 'R_X86_64_GOTPCRELX' \ if reloc not in ['R_X86_64_PLT32', 'R_X86_64_GOTPCRELX', \
and reloc != 'R_X86_64_REX_GOTPCRELX': 'R_X86_64_REX_GOTPCRELX', 'R_X86_64_GOTPCREL']:
eprintf('Relocation type ' + reloc + ' of symbol ' + sym + ' unsupported!') eprintf('Relocation type ' + reloc + ' of symbol ' + sym + ' unsupported!')
sys.exit(1) sys.exit(1)
if reloc == 'R_X86_64_GOTPCRELX' or reloc == 'R_X86_64_REX_GOTPCRELX': if reloc in ['R_X86_64_GOTPCRELX', 'R_X86_64_REX_GOTPCRELX', \
'R_X86_64_GOTPCREL']:
outf.write(""" outf.write("""
global {name} global {name}
{name}: {name}:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment