Fix rust host with surgical linking

This commit is contained in:
Brendan Hansknecht 2021-09-24 21:37:07 -07:00
parent eae8a2ea37
commit 411ed58eec
16 changed files with 920 additions and 67 deletions

View file

@ -194,11 +194,6 @@ mod cli_run {
// Also check with the surgical linker.
if TEST_SURGICAL_LINKER {
if matches!(example.executable_filename, "echo" | "hello-rust") {
eprintln!("WARNING: skipping testing example {} with surgical linking because rust is currently not supported!", example.filename);
return;
}
check_output_with_stdin(
&file_name,
example.stdin,

View file

@ -370,7 +370,7 @@ pub fn rebuild_host(
} else if cargo_host_src.exists() {
// Compile and link Cargo.toml, if it exists
let cargo_dir = host_input_path.parent().unwrap();
let libhost_dir =
let cargo_out_dir =
cargo_dir
.join("target")
.join(if matches!(opt_level, OptLevel::Optimize) {
@ -378,30 +378,29 @@ pub fn rebuild_host(
} else {
"debug"
});
let libhost = libhost_dir.join("libhost.a");
let mut command = Command::new("cargo");
command.arg("build").current_dir(cargo_dir);
if matches!(opt_level, OptLevel::Optimize) {
command.arg("--release");
}
let source_file = if shared_lib_path.is_some() {
command.args(&["--bin", "host"]);
"src/main.rs"
} else {
command.arg("--lib");
"src/lib.rs"
};
let output = command.output().unwrap();
validate_output("src/lib.rs", "cargo build", output);
validate_output(source_file, "cargo build", output);
// Cargo hosts depend on a c wrapper for the api. Compile host.c as well.
if shared_lib_path.is_some() {
// If compiling to executable, let c deal with linking as well.
let output = build_c_host_native(
&env_path,
&env_home,
host_dest_native.to_str().unwrap(),
&[c_host_src.to_str().unwrap(), libhost.to_str().unwrap()],
opt_level,
shared_lib_path,
);
validate_output("host.c", "clang", output);
// For surgical linking, just copy the dynamically linked rust app.
std::fs::copy(cargo_out_dir.join("host"), host_dest_native).unwrap();
} else {
// Cargo hosts depend on a c wrapper for the api. Compile host.c as well.
let output = build_c_host_native(
&env_path,
&env_home,
@ -418,7 +417,7 @@ pub fn rebuild_host(
.args(&[
"-r",
"-L",
libhost_dir.to_str().unwrap(),
cargo_out_dir.to_str().unwrap(),
c_host_dest.to_str().unwrap(),
"-lhost",
"-o",

View file

@ -5,8 +5,16 @@ authors = ["The Roc Contributors"]
license = "UPL-1.0"
edition = "2018"
links = "app"
[lib]
crate-type = ["staticlib"]
name = "host"
path = "src/lib.rs"
crate-type = ["staticlib", "rlib"]
[[bin]]
name = "host"
path = "src/main.rs"
[dependencies]
roc_std = { path = "../../../roc_std" }

View file

@ -0,0 +1,4 @@
fn main() {
println!("cargo:rustc-link-lib=dylib=app");
println!("cargo:rustc-link-search=.");
}

View file

@ -1,7 +1,3 @@
#include <stdio.h>
extern int rust_main();
int main() {
return rust_main();
}
int main() { return rust_main(); }

View file

@ -27,12 +27,12 @@ extern "C" {
}
#[no_mangle]
pub unsafe fn roc_alloc(size: usize, _alignment: u32) -> *mut c_void {
pub unsafe extern "C" fn roc_alloc(size: usize, _alignment: u32) -> *mut c_void {
libc::malloc(size)
}
#[no_mangle]
pub unsafe fn roc_realloc(
pub unsafe extern "C" fn roc_realloc(
c_ptr: *mut c_void,
new_size: usize,
_old_size: usize,
@ -42,12 +42,12 @@ pub unsafe fn roc_realloc(
}
#[no_mangle]
pub unsafe fn roc_dealloc(c_ptr: *mut c_void, _alignment: u32) {
pub unsafe extern "C" fn roc_dealloc(c_ptr: *mut c_void, _alignment: u32) {
libc::free(c_ptr)
}
#[no_mangle]
pub unsafe fn roc_panic(c_ptr: *mut c_void, tag_id: u32) {
pub unsafe extern "C" fn roc_panic(c_ptr: *mut c_void, tag_id: u32) {
match tag_id {
0 => {
let slice = CStr::from_ptr(c_ptr as *const c_char);
@ -60,7 +60,17 @@ pub unsafe fn roc_panic(c_ptr: *mut c_void, tag_id: u32) {
}
#[no_mangle]
pub fn rust_main() -> isize {
pub unsafe extern "C" fn roc_memcpy(dst: *mut c_void, src: *mut c_void, n: usize) -> *mut c_void {
libc::memcpy(dst, src, n)
}
#[no_mangle]
pub unsafe extern "C" fn roc_memset(dst: *mut c_void, c: i32, n: usize) -> *mut c_void {
libc::memset(dst, c, n)
}
#[no_mangle]
pub extern "C" fn rust_main() -> isize {
let size = unsafe { roc_main_size() } as usize;
let layout = Layout::array::<u8>(size).unwrap();
@ -81,7 +91,7 @@ pub fn rust_main() -> isize {
0
}
unsafe fn call_the_closure(closure_data_ptr: *const u8) -> i64 {
unsafe extern "C" fn call_the_closure(closure_data_ptr: *const u8) -> i64 {
let size = size_Fx_result() as usize;
let layout = Layout::array::<u8>(size).unwrap();
let buffer = std::alloc::alloc(layout) as *mut u8;
@ -99,7 +109,7 @@ unsafe fn call_the_closure(closure_data_ptr: *const u8) -> i64 {
}
#[no_mangle]
pub fn roc_fx_getLine() -> RocStr {
pub extern "C" fn roc_fx_getLine() -> RocStr {
use std::io::{self, BufRead};
let stdin = io::stdin();
@ -109,7 +119,7 @@ pub fn roc_fx_getLine() -> RocStr {
}
#[no_mangle]
pub fn roc_fx_putLine(line: RocStr) -> () {
pub extern "C" fn roc_fx_putLine(line: RocStr) -> () {
let bytes = line.as_slice();
let string = unsafe { std::str::from_utf8_unchecked(bytes) };
println!("{}", string);

View file

@ -0,0 +1,64 @@
#![allow(non_snake_case)]
use core::ffi::c_void;
use roc_std::RocStr;
fn main() {
let mut result = host::rust_main();
// This is stupid code that does nothing to avoid rust optimizing functions that roc needs away.
if result == 0x1234_5678_9ABC_DEF0 {
let roc_alloc_ptr: isize = unsafe {
std::mem::transmute(
host::roc_alloc as *const unsafe extern "C" fn(usize, u32) -> *mut c_void,
)
};
let roc_realloc_ptr: isize = unsafe {
std::mem::transmute(
host::roc_realloc
as *const unsafe extern "C" fn(*mut c_void, usize, usize, u32) -> *mut c_void,
)
};
let roc_dealloc_ptr: isize = unsafe {
std::mem::transmute(host::roc_dealloc as *const unsafe extern "C" fn(*mut c_void, u32))
};
let roc_panic_ptr: isize = unsafe {
std::mem::transmute(host::roc_panic as *const unsafe extern "C" fn(*mut c_void, u32))
};
let roc_memcpy_ptr: isize = unsafe {
std::mem::transmute(
host::roc_memcpy
as *const unsafe extern "C" fn(*mut c_void, *mut c_void, usize) -> *mut c_void,
)
};
let roc_memset_ptr: isize = unsafe {
std::mem::transmute(
host::roc_memset
as *const unsafe extern "C" fn(*mut c_void, i32, usize) -> *mut c_void,
)
};
let roc_fx_putLine_ptr: isize = unsafe {
std::mem::transmute(host::roc_fx_putLine as *const extern "C" fn(line: RocStr) -> ())
};
let roc_fx_getLine_ptr: isize = unsafe {
std::mem::transmute(host::roc_fx_getLine as *const extern "C" fn() -> RocStr)
};
// I really want to use the equivalent of std::hint::black_box, but it is expirimental.
result = result ^ roc_alloc_ptr;
result = result ^ roc_realloc_ptr;
result = result ^ roc_dealloc_ptr;
result = result ^ roc_panic_ptr;
result = result ^ roc_memcpy_ptr;
result = result ^ roc_memset_ptr;
result = result ^ roc_fx_putLine_ptr;
result = result ^ roc_fx_getLine_ptr;
result = result ^ roc_alloc_ptr;
result = result ^ roc_realloc_ptr;
result = result ^ roc_dealloc_ptr;
result = result ^ roc_panic_ptr;
result = result ^ roc_memcpy_ptr;
result = result ^ roc_memset_ptr;
result = result ^ roc_fx_putLine_ptr;
result = result ^ roc_fx_getLine_ptr;
}
std::process::exit(result as i32);
}

View file

@ -4,9 +4,16 @@ version = "0.1.0"
authors = ["The Roc Contributors"]
license = "UPL-1.0"
edition = "2018"
links = "app"
[lib]
crate-type = ["staticlib"]
name = "host"
path = "src/lib.rs"
crate-type = ["staticlib", "rlib"]
[[bin]]
name = "host"
path = "src/main.rs"
[dependencies]
roc_std = { path = "../../../roc_std" }

View file

@ -0,0 +1,4 @@
fn main() {
println!("cargo:rustc-link-lib=dylib=app");
println!("cargo:rustc-link-search=.");
}

View file

@ -1,12 +1,3 @@
#include <stdio.h>
#include <string.h>
extern int rust_main();
int main() { return rust_main(); }
void *roc_memcpy(void *dest, const void *src, size_t n) {
return memcpy(dest, src, n);
}
void *roc_memset(void *str, int c, size_t n) { return memset(str, c, n); }

View file

@ -12,12 +12,12 @@ extern "C" {
}
#[no_mangle]
pub unsafe fn roc_alloc(size: usize, _alignment: u32) -> *mut c_void {
pub unsafe extern "C" fn roc_alloc(size: usize, _alignment: u32) -> *mut c_void {
return libc::malloc(size);
}
#[no_mangle]
pub unsafe fn roc_realloc(
pub unsafe extern "C" fn roc_realloc(
c_ptr: *mut c_void,
new_size: usize,
_old_size: usize,
@ -27,12 +27,12 @@ pub unsafe fn roc_realloc(
}
#[no_mangle]
pub unsafe fn roc_dealloc(c_ptr: *mut c_void, _alignment: u32) {
pub unsafe extern "C" fn roc_dealloc(c_ptr: *mut c_void, _alignment: u32) {
return libc::free(c_ptr);
}
#[no_mangle]
pub unsafe fn roc_panic(c_ptr: *mut c_void, tag_id: u32) {
pub unsafe extern "C" fn roc_panic(c_ptr: *mut c_void, tag_id: u32) {
match tag_id {
0 => {
let slice = CStr::from_ptr(c_ptr as *const c_char);
@ -45,7 +45,17 @@ pub unsafe fn roc_panic(c_ptr: *mut c_void, tag_id: u32) {
}
#[no_mangle]
pub fn rust_main() -> isize {
pub unsafe extern "C" fn roc_memcpy(dst: *mut c_void, src: *mut c_void, n: usize) -> *mut c_void {
libc::memcpy(dst, src, n)
}
#[no_mangle]
pub unsafe extern "C" fn roc_memset(dst: *mut c_void, c: i32, n: usize) -> *mut c_void {
libc::memset(dst, c, n)
}
#[no_mangle]
pub extern "C" fn rust_main() -> isize {
unsafe {
let roc_str = roc_main();

View file

@ -0,0 +1,51 @@
use core::ffi::c_void;
fn main() {
let mut result = host::rust_main();
// This is stupid code that does nothing to avoid rust optimizing functions that roc needs away.
if result == 0x1234_5678_9ABC_DEF0 {
let roc_alloc_ptr: isize = unsafe {
std::mem::transmute(
host::roc_alloc as *const unsafe extern "C" fn(usize, u32) -> *mut c_void,
)
};
let roc_realloc_ptr: isize = unsafe {
std::mem::transmute(
host::roc_realloc
as *const unsafe extern "C" fn(*mut c_void, usize, usize, u32) -> *mut c_void,
)
};
let roc_dealloc_ptr: isize = unsafe {
std::mem::transmute(host::roc_dealloc as *const unsafe extern "C" fn(*mut c_void, u32))
};
let roc_panic_ptr: isize = unsafe {
std::mem::transmute(host::roc_panic as *const unsafe extern "C" fn(*mut c_void, u32))
};
let roc_memcpy_ptr: isize = unsafe {
std::mem::transmute(
host::roc_memcpy
as *const unsafe extern "C" fn(*mut c_void, *mut c_void, usize) -> *mut c_void,
)
};
let roc_memset_ptr: isize = unsafe {
std::mem::transmute(
host::roc_memset
as *const unsafe extern "C" fn(*mut c_void, i32, usize) -> *mut c_void,
)
};
// I really want to use the equivalent of std::hint::black_box, but it is expirimental.
result = result ^ roc_alloc_ptr;
result = result ^ roc_realloc_ptr;
result = result ^ roc_dealloc_ptr;
result = result ^ roc_panic_ptr;
result = result ^ roc_memcpy_ptr;
result = result ^ roc_memset_ptr;
result = result ^ roc_alloc_ptr;
result = result ^ roc_realloc_ptr;
result = result ^ roc_dealloc_ptr;
result = result ^ roc_panic_ptr;
result = result ^ roc_memcpy_ptr;
result = result ^ roc_memset_ptr;
}
std::process::exit(result as i32);
}

View file

@ -31,7 +31,7 @@ This linker is run in 2 phases: preprocessing and surigical linking.
## TODO (In a lightly prioritized order)
- Test with an executable completely generated by Cargo (It will hopefully work out of the box like zig).
- Try to make rust hosts nicer. Currently making it expose functions is a huge pain.
- Add Macho support
- Honestly should be almost exactly the same code.
This means we likely need to do a lot of refactoring to minimize the duplicate code.

View file

@ -28,6 +28,7 @@ use target_lexicon::Triple;
use tempfile::Builder;
mod metadata;
use metadata::VirtualOffset;
pub const CMD_PREPROCESS: &str = "preprocess";
pub const CMD_SURGERY: &str = "surgery";
@ -196,7 +197,6 @@ fn generate_dynamic_lib(
let text_section = out_object.section_id(write::StandardSection::Text);
for sym in exposed_to_host {
// TODO properly generate this list.
for name in &[
format!("roc__{}_1_exposed", sym),
format!("roc__{}_1_exposed_generic", sym),
@ -317,7 +317,9 @@ fn preprocess_impl(
for sym in exec_obj.symbols().filter(|sym| {
sym.is_definition() && sym.name().is_ok() && sym.name().unwrap().starts_with("roc_")
}) {
let name = sym.name().unwrap().to_string();
// remove potentially trailing "@version".
let name = sym.name().unwrap().split("@").next().unwrap().to_string();
// special exceptions for memcpy and memset.
if &name == "roc_memcpy" {
md.roc_symbol_vaddresses
@ -368,9 +370,6 @@ fn preprocess_impl(
println!("PLT File Offset: {:+x}", plt_offset);
}
// TODO: it looks like we may need to support global data host relocations.
// Rust host look to be using them by default instead of the plt.
// I think this is due to first linking into a static lib and then linking to the c wrapper.
let plt_relocs = (match exec_obj.dynamic_relocations() {
Some(relocs) => relocs,
None => {
@ -380,7 +379,7 @@ fn preprocess_impl(
}
})
.map(|(_, reloc)| reloc)
.filter(|reloc| reloc.kind() == RelocationKind::Elf(7));
.filter(|reloc| matches!(reloc.kind(), RelocationKind::Elf(7)));
let app_syms: Vec<Symbol> = exec_obj
.dynamic_symbols()
@ -388,6 +387,28 @@ fn preprocess_impl(
sym.is_undefined() && sym.name().is_ok() && sym.name().unwrap().starts_with("roc_")
})
.collect();
let got_app_syms: Vec<(String, usize)> = (match exec_obj.dynamic_relocations() {
Some(relocs) => relocs,
None => {
println!("Executable never calls any application functions.");
println!("No work to do. Probably an invalid input.");
return Ok(-1);
}
})
.map(|(_, reloc)| reloc)
.filter(|reloc| matches!(reloc.kind(), RelocationKind::Elf(6)))
.map(|reloc| {
for symbol in app_syms.iter() {
if reloc.target() == RelocationTarget::Symbol(symbol.index()) {
return Some((symbol.name().unwrap().to_string(), symbol.index().0));
}
}
None
})
.filter_map(|x| x)
.collect();
for sym in app_syms.iter() {
let name = sym.name().unwrap().to_string();
md.app_functions.push(name.clone());
@ -408,6 +429,7 @@ fn preprocess_impl(
if reloc.target() == RelocationTarget::Symbol(symbol.index()) {
let func_address = (i as u64 + 1) * PLT_ADDRESS_OFFSET + plt_address;
let func_offset = (i as u64 + 1) * PLT_ADDRESS_OFFSET + plt_offset;
println!("{}", symbol.name().unwrap().to_string());
app_func_addresses.insert(func_address, symbol.name().unwrap());
md.plt_addresses.insert(
symbol.name().unwrap().to_string(),
@ -537,7 +559,7 @@ fn preprocess_impl(
.unwrap()
.push(metadata::SurgeryEntry {
file_offset: offset,
virtual_offset: inst.next_ip(),
virtual_offset: VirtualOffset::Relative(inst.next_ip()),
size: op_size,
});
}
@ -879,7 +901,7 @@ fn preprocess_impl(
sec_offset as usize + md.added_byte_count as usize,
sec_size as usize / mem::size_of::<elf::Rela64<LittleEndian>>(),
);
for rel in relocations.iter_mut() {
for (i, rel) in relocations.iter_mut().enumerate() {
let r_offset = rel.r_offset.get(NativeEndian);
if virtual_shift_start <= r_offset {
rel.r_offset = endian::U64::new(LittleEndian, r_offset + md.added_byte_count);
@ -891,6 +913,28 @@ fn preprocess_impl(
.set(LittleEndian, r_addend + md.added_byte_count as i64);
}
}
// If the relocation goes to a roc function, we need to surgically link it and change it to relative.
let r_type = rel.r_type(NativeEndian, false);
if r_type == elf::R_X86_64_GLOB_DAT {
let r_sym = rel.r_sym(NativeEndian, false);
for (name, index) in got_app_syms.iter() {
if *index as u32 == r_sym {
rel.set_r_info(LittleEndian, false, 0, elf::R_X86_64_RELATIVE);
let addend_addr = sec_offset as usize
+ i * mem::size_of::<elf::Rela64<LittleEndian>>()
// This 16 skips the first 2 fields and gets to the addend field.
+ 16;
md.surgeries
.get_mut(name)
.unwrap()
.push(metadata::SurgeryEntry {
file_offset: addend_addr as u64,
virtual_offset: VirtualOffset::Absolute,
size: 8,
});
}
}
}
}
}
@ -1462,7 +1506,7 @@ fn surgery_impl(
let dynsym_offset = md.dynamic_symbol_table_section_offset + md.added_byte_count;
for func_name in md.app_functions {
let virt_offset = match app_func_vaddr_map.get(&func_name) {
let func_virt_offset = match app_func_vaddr_map.get(&func_name) {
Some(offset) => *offset as u64,
None => {
println!("Function, {}, was not defined by the app", &func_name);
@ -1472,7 +1516,7 @@ fn surgery_impl(
if verbose {
println!(
"Updating calls to {} to the address: {:+x}",
&func_name, virt_offset
&func_name, func_virt_offset
);
}
@ -1480,11 +1524,13 @@ fn surgery_impl(
if verbose {
println!("\tPerforming surgery: {:+x?}", s);
}
let surgery_virt_offset = match s.virtual_offset {
VirtualOffset::Relative(vs) => (vs + md.added_byte_count) as i64,
VirtualOffset::Absolute => 0,
};
match s.size {
4 => {
let target = (virt_offset as i64
- (s.virtual_offset + md.added_byte_count) as i64)
as i32;
let target = (func_virt_offset as i64 - surgery_virt_offset) as i32;
if verbose {
println!("\tTarget Jump: {:+x}", target);
}
@ -1493,6 +1539,16 @@ fn surgery_impl(
..(s.file_offset + md.added_byte_count) as usize + 4]
.copy_from_slice(&data);
}
8 => {
let target = func_virt_offset as i64 - surgery_virt_offset;
if verbose {
println!("\tTarget Jump: {:+x}", target);
}
let data = target.to_le_bytes();
exec_mmap[(s.file_offset + md.added_byte_count) as usize
..(s.file_offset + md.added_byte_count) as usize + 8]
.copy_from_slice(&data);
}
x => {
println!("Surgery size not yet supported: {}", x);
return Ok(-1);
@ -1506,7 +1562,8 @@ fn surgery_impl(
let plt_off = (*plt_off + md.added_byte_count) as usize;
let plt_vaddr = *plt_vaddr + md.added_byte_count;
let jmp_inst_len = 5;
let target = (virt_offset as i64 - (plt_vaddr as i64 + jmp_inst_len as i64)) as i32;
let target =
(func_virt_offset as i64 - (plt_vaddr as i64 + jmp_inst_len as i64)) as i32;
if verbose {
println!("\tPLT: {:+x}, {:+x}", plt_off, plt_vaddr);
println!("\tTarget Jump: {:+x}", target);
@ -1525,7 +1582,7 @@ fn surgery_impl(
dynsym_offset as usize + *i as usize * mem::size_of::<elf::Sym64<LittleEndian>>(),
);
sym.st_shndx = endian::U16::new(LittleEndian, new_text_section_index as u16);
sym.st_value = endian::U64::new(LittleEndian, virt_offset as u64);
sym.st_value = endian::U64::new(LittleEndian, func_virt_offset as u64);
sym.st_size = endian::U64::new(
LittleEndian,
match app_func_size_map.get(&func_name) {

View file

@ -1,10 +1,16 @@
use roc_collections::all::MutMap;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, PartialEq, Debug)]
pub enum VirtualOffset {
Absolute,
Relative(u64),
}
#[derive(Serialize, Deserialize, PartialEq, Debug)]
pub struct SurgeryEntry {
pub file_offset: u64,
pub virtual_offset: u64,
pub virtual_offset: VirtualOffset,
pub size: u8,
}

View file

@ -0,0 +1,651 @@
examples/hello-rust/platform/dynhost: file format elf64-x86-64
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
000000000003f520 R_X86_64_RELATIVE *ABS*+0x00000000000112f0
000000000003f528 R_X86_64_RELATIVE *ABS*+0x0000000000023b70
000000000003f530 R_X86_64_RELATIVE *ABS*+0x0000000000011330
000000000003f538 R_X86_64_RELATIVE *ABS*+0x00000000000113f0
000000000003f550 R_X86_64_RELATIVE *ABS*+0x00000000000113d0
000000000003f558 R_X86_64_RELATIVE *ABS*+0x00000000000113d0
000000000003f560 R_X86_64_RELATIVE *ABS*+0x00000000000113e0
000000000003f568 R_X86_64_RELATIVE *ABS*+0x0000000000006a10
000000000003f580 R_X86_64_RELATIVE *ABS*+0x0000000000011560
000000000003f598 R_X86_64_RELATIVE *ABS*+0x00000000000115f0
000000000003f5a0 R_X86_64_RELATIVE *ABS*+0x0000000000011650
000000000003f5b8 R_X86_64_RELATIVE *ABS*+0x0000000000011590
000000000003f5c0 R_X86_64_RELATIVE *ABS*+0x0000000000011570
000000000003f5c8 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003f5e0 R_X86_64_RELATIVE *ABS*+0x0000000000015090
000000000003f5e8 R_X86_64_RELATIVE *ABS*+0x0000000000014f80
000000000003f5f0 R_X86_64_RELATIVE *ABS*+0x0000000000014f90
000000000003f5f8 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003f610 R_X86_64_RELATIVE *ABS*+0x0000000000015080
000000000003f618 R_X86_64_RELATIVE *ABS*+0x0000000000014ea0
000000000003f620 R_X86_64_RELATIVE *ABS*+0x0000000000014fe0
000000000003f628 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003f640 R_X86_64_RELATIVE *ABS*+0x0000000000015100
000000000003f648 R_X86_64_RELATIVE *ABS*+0x0000000000014d80
000000000003f650 R_X86_64_RELATIVE *ABS*+0x0000000000015030
000000000003f658 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003f670 R_X86_64_RELATIVE *ABS*+0x0000000000011870
000000000003f678 R_X86_64_RELATIVE *ABS*+0x0000000000007ae8
000000000003f690 R_X86_64_RELATIVE *ABS*+0x0000000000007b99
000000000003f6a8 R_X86_64_RELATIVE *ABS*+0x0000000000007b99
000000000003f6c0 R_X86_64_RELATIVE *ABS*+0x0000000000007b99
000000000003f6d8 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003f6f0 R_X86_64_RELATIVE *ABS*+0x00000000000116d0
000000000003f6f8 R_X86_64_RELATIVE *ABS*+0x0000000000007d00
000000000003f710 R_X86_64_RELATIVE *ABS*+0x0000000000007d00
000000000003f728 R_X86_64_RELATIVE *ABS*+0x0000000000007d00
000000000003f740 R_X86_64_RELATIVE *ABS*+0x0000000000007d70
000000000003f758 R_X86_64_RELATIVE *ABS*+0x0000000000007d70
000000000003f770 R_X86_64_RELATIVE *ABS*+0x0000000000007d70
000000000003f788 R_X86_64_RELATIVE *ABS*+0x0000000000007d70
000000000003f7a0 R_X86_64_RELATIVE *ABS*+0x0000000000007d70
000000000003f7b8 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003f7d0 R_X86_64_RELATIVE *ABS*+0x000000000001d480
000000000003f7d8 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003f7f0 R_X86_64_RELATIVE *ABS*+0x00000000000391b0
000000000003f7f8 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003f810 R_X86_64_RELATIVE *ABS*+0x0000000000039190
000000000003f818 R_X86_64_RELATIVE *ABS*+0x0000000000012420
000000000003f830 R_X86_64_RELATIVE *ABS*+0x00000000000239d0
000000000003f838 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003f850 R_X86_64_RELATIVE *ABS*+0x000000000003e1c0
000000000003f858 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003f870 R_X86_64_RELATIVE *ABS*+0x0000000000011700
000000000003f878 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003f890 R_X86_64_RELATIVE *ABS*+0x0000000000011810
000000000003f898 R_X86_64_RELATIVE *ABS*+0x0000000000007e14
000000000003f8b0 R_X86_64_RELATIVE *ABS*+0x0000000000007e60
000000000003f8c8 R_X86_64_RELATIVE *ABS*+0x0000000000007e60
000000000003f8e0 R_X86_64_RELATIVE *ABS*+0x0000000000007e60
000000000003f8f8 R_X86_64_RELATIVE *ABS*+0x0000000000007e60
000000000003f910 R_X86_64_RELATIVE *ABS*+0x0000000000007e60
000000000003f928 R_X86_64_RELATIVE *ABS*+0x0000000000007eaa
000000000003f940 R_X86_64_RELATIVE *ABS*+0x0000000000007eaa
000000000003f958 R_X86_64_RELATIVE *ABS*+0x0000000000007eaa
000000000003f970 R_X86_64_RELATIVE *ABS*+0x0000000000007eaa
000000000003f988 R_X86_64_RELATIVE *ABS*+0x0000000000007b99
000000000003f9a0 R_X86_64_RELATIVE *ABS*+0x0000000000007f44
000000000003f9b8 R_X86_64_RELATIVE *ABS*+0x0000000000007f44
000000000003f9d0 R_X86_64_RELATIVE *ABS*+0x0000000000007f44
000000000003f9e8 R_X86_64_RELATIVE *ABS*+0x0000000000007f44
000000000003fa00 R_X86_64_RELATIVE *ABS*+0x0000000000007f44
000000000003fa18 R_X86_64_RELATIVE *ABS*+0x0000000000007f44
000000000003fa30 R_X86_64_RELATIVE *ABS*+0x0000000000007f44
000000000003fa48 R_X86_64_RELATIVE *ABS*+0x0000000000007fe0
000000000003fa60 R_X86_64_RELATIVE *ABS*+0x000000000000805d
000000000003fa78 R_X86_64_RELATIVE *ABS*+0x000000000000805d
000000000003fa90 R_X86_64_RELATIVE *ABS*+0x000000000000805d
000000000003faa8 R_X86_64_RELATIVE *ABS*+0x000000000000805d
000000000003fac0 R_X86_64_RELATIVE *ABS*+0x0000000000008184
000000000003fad0 R_X86_64_RELATIVE *ABS*+0x00000000000081a8
000000000003fae0 R_X86_64_RELATIVE *ABS*+0x000000000000816e
000000000003faf8 R_X86_64_RELATIVE *ABS*+0x00000000000081ab
000000000003fb08 R_X86_64_RELATIVE *ABS*+0x00000000000081cc
000000000003fb20 R_X86_64_RELATIVE *ABS*+0x00000000000081f4
000000000003fb30 R_X86_64_RELATIVE *ABS*+0x00000000000081cc
000000000003fb48 R_X86_64_RELATIVE *ABS*+0x0000000000007ae8
000000000003fb58 R_X86_64_RELATIVE *ABS*+0x0000000000007ae8
000000000003fb68 R_X86_64_RELATIVE *ABS*+0x0000000000008336
000000000003fb78 R_X86_64_RELATIVE *ABS*+0x0000000000008341
000000000003fb88 R_X86_64_RELATIVE *ABS*+0x0000000000008342
000000000003fb98 R_X86_64_RELATIVE *ABS*+0x000000000000835e
000000000003fbb0 R_X86_64_RELATIVE *ABS*+0x000000000000837b
000000000003fbc8 R_X86_64_RELATIVE *ABS*+0x000000000000837b
000000000003fbe0 R_X86_64_RELATIVE *ABS*+0x0000000000008394
000000000003fbf0 R_X86_64_RELATIVE *ABS*+0x0000000000013010
000000000003fc08 R_X86_64_RELATIVE *ABS*+0x000000000001ef40
000000000003fc10 R_X86_64_RELATIVE *ABS*+0x0000000000011910
000000000003fc18 R_X86_64_RELATIVE *ABS*+0x0000000000011b40
000000000003fc20 R_X86_64_RELATIVE *ABS*+0x0000000000013010
000000000003fc38 R_X86_64_RELATIVE *ABS*+0x000000000001eda0
000000000003fc40 R_X86_64_RELATIVE *ABS*+0x0000000000011a20
000000000003fc48 R_X86_64_RELATIVE *ABS*+0x0000000000011b00
000000000003fc50 R_X86_64_RELATIVE *ABS*+0x00000000000083a5
000000000003fc68 R_X86_64_RELATIVE *ABS*+0x00000000000083a5
000000000003fc80 R_X86_64_RELATIVE *ABS*+0x00000000000083a5
000000000003fc98 R_X86_64_RELATIVE *ABS*+0x00000000000083a5
000000000003fcb0 R_X86_64_RELATIVE *ABS*+0x00000000000083a5
000000000003fcc8 R_X86_64_RELATIVE *ABS*+0x00000000000083a5
000000000003fce0 R_X86_64_RELATIVE *ABS*+0x00000000000083a5
000000000003fcf8 R_X86_64_RELATIVE *ABS*+0x00000000000083a5
000000000003fd10 R_X86_64_RELATIVE *ABS*+0x00000000000083a5
000000000003fd28 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003fd40 R_X86_64_RELATIVE *ABS*+0x000000000001fe50
000000000003fd48 R_X86_64_RELATIVE *ABS*+0x0000000000011c00
000000000003fd50 R_X86_64_RELATIVE *ABS*+0x00000000000083bc
000000000003fd68 R_X86_64_RELATIVE *ABS*+0x00000000000083bc
000000000003fd80 R_X86_64_RELATIVE *ABS*+0x00000000000083bc
000000000003fd98 R_X86_64_RELATIVE *ABS*+0x00000000000083bc
000000000003fdb0 R_X86_64_RELATIVE *ABS*+0x00000000000083bc
000000000003fdc8 R_X86_64_RELATIVE *ABS*+0x000000000000843b
000000000003fdd8 R_X86_64_RELATIVE *ABS*+0x0000000000013090
000000000003fdf0 R_X86_64_RELATIVE *ABS*+0x00000000000207d0
000000000003fdf8 R_X86_64_RELATIVE *ABS*+0x0000000000011b80
000000000003fe00 R_X86_64_RELATIVE *ABS*+0x000000000000844c
000000000003fe10 R_X86_64_RELATIVE *ABS*+0x00000000000083a4
000000000003fe20 R_X86_64_RELATIVE *ABS*+0x0000000000007ae8
000000000003fe30 R_X86_64_RELATIVE *ABS*+0x00000000000084e3
000000000003fe40 R_X86_64_RELATIVE *ABS*+0x0000000000008520
000000000003fe58 R_X86_64_RELATIVE *ABS*+0x0000000000008520
000000000003fe70 R_X86_64_RELATIVE *ABS*+0x0000000000008520
000000000003fe88 R_X86_64_RELATIVE *ABS*+0x0000000000008520
000000000003fea0 R_X86_64_RELATIVE *ABS*+0x0000000000008520
000000000003feb8 R_X86_64_RELATIVE *ABS*+0x0000000000008520
000000000003fed0 R_X86_64_RELATIVE *ABS*+0x0000000000008520
000000000003fee8 R_X86_64_RELATIVE *ABS*+0x000000000000856f
000000000003fef8 R_X86_64_RELATIVE *ABS*+0x0000000000008584
000000000003ff08 R_X86_64_RELATIVE *ABS*+0x0000000000008585
000000000003ff18 R_X86_64_RELATIVE *ABS*+0x00000000000085a2
000000000003ff28 R_X86_64_RELATIVE *ABS*+0x00000000000085b7
000000000003ff38 R_X86_64_RELATIVE *ABS*+0x00000000000085c5
000000000003ff48 R_X86_64_RELATIVE *ABS*+0x00000000000085e1
000000000003ff58 R_X86_64_RELATIVE *ABS*+0x0000000000008605
000000000003ff70 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
000000000003ff88 R_X86_64_RELATIVE *ABS*+0x00000000000249d0
000000000003ff90 R_X86_64_RELATIVE *ABS*+0x0000000000024a30
000000000003ff98 R_X86_64_RELATIVE *ABS*+0x0000000000024a90
000000000003ffa0 R_X86_64_RELATIVE *ABS*+0x0000000000024aa0
000000000003ffa8 R_X86_64_RELATIVE *ABS*+0x000000000001e550
000000000003ffb0 R_X86_64_RELATIVE *ABS*+0x000000000001e640
000000000003ffb8 R_X86_64_RELATIVE *ABS*+0x000000000001ec50
000000000003ffc8 R_X86_64_RELATIVE *ABS*+0x0000000000012190
000000000003ffe0 R_X86_64_RELATIVE *ABS*+0x000000000001e2c0
000000000003ffe8 R_X86_64_RELATIVE *ABS*+0x000000000001e330
000000000003fff0 R_X86_64_RELATIVE *ABS*+0x000000000001e4c0
000000000003fff8 R_X86_64_RELATIVE *ABS*+0x000000000001e540
0000000000040000 R_X86_64_RELATIVE *ABS*+0x000000000001e4d0
0000000000040008 R_X86_64_RELATIVE *ABS*+0x000000000001e890
0000000000040010 R_X86_64_RELATIVE *ABS*+0x000000000001eb00
0000000000040020 R_X86_64_RELATIVE *ABS*+0x0000000000008150
0000000000040030 R_X86_64_RELATIVE *ABS*+0x0000000000008636
0000000000040040 R_X86_64_RELATIVE *ABS*+0x0000000000008645
0000000000040050 R_X86_64_RELATIVE *ABS*+0x0000000000008584
0000000000040060 R_X86_64_RELATIVE *ABS*+0x0000000000008648
0000000000040070 R_X86_64_RELATIVE *ABS*+0x0000000000008605
0000000000040088 R_X86_64_RELATIVE *ABS*+0x0000000000008605
00000000000400a0 R_X86_64_RELATIVE *ABS*+0x0000000000012d90
00000000000400b8 R_X86_64_RELATIVE *ABS*+0x0000000000022690
00000000000400c0 R_X86_64_RELATIVE *ABS*+0x0000000000022790
00000000000400c8 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
00000000000400e0 R_X86_64_RELATIVE *ABS*+0x0000000000022830
00000000000400e8 R_X86_64_RELATIVE *ABS*+0x0000000000022880
00000000000400f0 R_X86_64_RELATIVE *ABS*+0x0000000000012190
0000000000040108 R_X86_64_RELATIVE *ABS*+0x00000000000116e0
0000000000040110 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
0000000000040128 R_X86_64_RELATIVE *ABS*+0x00000000000116f0
0000000000040130 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
0000000000040148 R_X86_64_RELATIVE *ABS*+0x00000000000228f0
0000000000040150 R_X86_64_RELATIVE *ABS*+0x0000000000022950
0000000000040158 R_X86_64_RELATIVE *ABS*+0x0000000000008696
0000000000040168 R_X86_64_RELATIVE *ABS*+0x0000000000007ae8
0000000000040178 R_X86_64_RELATIVE *ABS*+0x00000000000086c8
0000000000040188 R_X86_64_RELATIVE *ABS*+0x00000000000086f9
0000000000040198 R_X86_64_RELATIVE *ABS*+0x0000000000007c20
00000000000401a8 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
00000000000401c0 R_X86_64_RELATIVE *ABS*+0x0000000000020a40
00000000000401c8 R_X86_64_RELATIVE *ABS*+0x0000000000011c20
00000000000401d0 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
00000000000401e8 R_X86_64_RELATIVE *ABS*+0x0000000000020810
00000000000401f0 R_X86_64_RELATIVE *ABS*+0x0000000000011bf0
00000000000401f8 R_X86_64_RELATIVE *ABS*+0x0000000000008724
0000000000040210 R_X86_64_RELATIVE *ABS*+0x0000000000008758
0000000000040220 R_X86_64_RELATIVE *ABS*+0x0000000000007ae8
0000000000040230 R_X86_64_RELATIVE *ABS*+0x0000000000008379
0000000000040240 R_X86_64_RELATIVE *ABS*+0x0000000000007ae8
0000000000040250 R_X86_64_RELATIVE *ABS*+0x00000000000087d0
0000000000040260 R_X86_64_RELATIVE *ABS*+0x00000000000084da
0000000000040270 R_X86_64_RELATIVE *ABS*+0x0000000000006b40
0000000000040280 R_X86_64_RELATIVE *ABS*+0x00000000000083a3
0000000000040290 R_X86_64_RELATIVE *ABS*+0x0000000000008584
00000000000402a0 R_X86_64_RELATIVE *ABS*+0x00000000000087fd
00000000000402b8 R_X86_64_RELATIVE *ABS*+0x0000000000011c30
00000000000402d0 R_X86_64_RELATIVE *ABS*+0x0000000000011780
00000000000402d8 R_X86_64_RELATIVE *ABS*+0x000000000000884a
00000000000402f0 R_X86_64_RELATIVE *ABS*+0x000000000000887a
0000000000040308 R_X86_64_RELATIVE *ABS*+0x000000000000887a
0000000000040320 R_X86_64_RELATIVE *ABS*+0x00000000000088a6
0000000000040330 R_X86_64_RELATIVE *ABS*+0x0000000000008902
0000000000040348 R_X86_64_RELATIVE *ABS*+0x0000000000008902
0000000000040360 R_X86_64_RELATIVE *ABS*+0x000000000000894d
0000000000040370 R_X86_64_RELATIVE *ABS*+0x0000000000008956
0000000000040380 R_X86_64_RELATIVE *ABS*+0x0000000000008971
0000000000040390 R_X86_64_RELATIVE *ABS*+0x000000000000897f
00000000000403a0 R_X86_64_RELATIVE *ABS*+0x00000000000089a8
00000000000403b8 R_X86_64_RELATIVE *ABS*+0x00000000000089d2
00000000000403c8 R_X86_64_RELATIVE *ABS*+0x00000000000089a8
00000000000403e0 R_X86_64_RELATIVE *ABS*+0x0000000000008a01
00000000000403f8 R_X86_64_RELATIVE *ABS*+0x0000000000008a01
0000000000040410 R_X86_64_RELATIVE *ABS*+0x0000000000008a01
0000000000040428 R_X86_64_RELATIVE *ABS*+0x0000000000008a23
0000000000040440 R_X86_64_RELATIVE *ABS*+0x0000000000008a96
0000000000040458 R_X86_64_RELATIVE *ABS*+0x0000000000008abb
0000000000040470 R_X86_64_RELATIVE *ABS*+0x0000000000008af7
0000000000040488 R_X86_64_RELATIVE *ABS*+0x0000000000008af7
00000000000404a0 R_X86_64_RELATIVE *ABS*+0x0000000000008b2d
00000000000404b8 R_X86_64_RELATIVE *ABS*+0x000000000002d900
00000000000404d0 R_X86_64_RELATIVE *ABS*+0x000000000002dbc0
00000000000404d8 R_X86_64_RELATIVE *ABS*+0x000000000002dbc0
00000000000404e0 R_X86_64_RELATIVE *ABS*+0x000000000002d880
00000000000404e8 R_X86_64_RELATIVE *ABS*+0x000000000002d900
0000000000040500 R_X86_64_RELATIVE *ABS*+0x000000000002dbd0
0000000000040508 R_X86_64_RELATIVE *ABS*+0x000000000002dbd0
0000000000040510 R_X86_64_RELATIVE *ABS*+0x000000000002d870
0000000000040518 R_X86_64_RELATIVE *ABS*+0x0000000000008c57
0000000000040530 R_X86_64_RELATIVE *ABS*+0x0000000000008c57
0000000000040548 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040560 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040578 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040590 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000405a8 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000405c0 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000405d8 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000405f0 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040608 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040620 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040638 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040650 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040668 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040680 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040698 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000406b0 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000406c8 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000406e0 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000406f8 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040710 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040728 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040740 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040758 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040770 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040788 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000407a0 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000407b8 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000407d0 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000407e8 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040800 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040818 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040830 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040848 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040860 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040878 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040890 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000408a8 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000408c0 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000408d8 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000408f0 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040908 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040920 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040938 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040950 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040968 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040980 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040998 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000409b0 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000409c8 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000409e0 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
00000000000409f8 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040a10 R_X86_64_RELATIVE *ABS*+0x0000000000008cb7
0000000000040a28 R_X86_64_RELATIVE *ABS*+0x0000000000008d92
0000000000040a40 R_X86_64_RELATIVE *ABS*+0x0000000000008d92
0000000000040a58 R_X86_64_RELATIVE *ABS*+0x00000000000315f0
0000000000040a70 R_X86_64_RELATIVE *ABS*+0x0000000000031590
0000000000040a78 R_X86_64_RELATIVE *ABS*+0x000000000000904b
0000000000040a90 R_X86_64_RELATIVE *ABS*+0x00000000000090db
0000000000040aa8 R_X86_64_RELATIVE *ABS*+0x00000000000090db
0000000000040ac0 R_X86_64_RELATIVE *ABS*+0x00000000000090db
0000000000040ad8 R_X86_64_RELATIVE *ABS*+0x00000000000090db
0000000000040af0 R_X86_64_RELATIVE *ABS*+0x00000000000090db
0000000000040b08 R_X86_64_RELATIVE *ABS*+0x0000000000009260
0000000000040b20 R_X86_64_RELATIVE *ABS*+0x0000000000009260
0000000000040b38 R_X86_64_RELATIVE *ABS*+0x0000000000009260
0000000000040b50 R_X86_64_RELATIVE *ABS*+0x000000000000960e
0000000000040b68 R_X86_64_RELATIVE *ABS*+0x000000000000960e
0000000000040b80 R_X86_64_RELATIVE *ABS*+0x000000000000960e
0000000000040b98 R_X86_64_RELATIVE *ABS*+0x00000000000331f0
0000000000040bb0 R_X86_64_RELATIVE *ABS*+0x000000000003d290
0000000000040bb8 R_X86_64_RELATIVE *ABS*+0x000000000000960e
0000000000040bd0 R_X86_64_RELATIVE *ABS*+0x000000000000960e
0000000000040be8 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040c00 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040c18 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040c30 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040c48 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040c60 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040c78 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040c90 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040ca8 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040cc0 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040cd8 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040cf0 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040d08 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040d20 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040d38 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040d50 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040d68 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040d80 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040d98 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040db0 R_X86_64_RELATIVE *ABS*+0x00000000000096b3
0000000000040dc8 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040de0 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040df8 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040e10 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040e28 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040e40 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040e58 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040e70 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040e88 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040ea0 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040eb8 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040ed0 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040ee8 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040f00 R_X86_64_RELATIVE *ABS*+0x0000000000009712
0000000000040f18 R_X86_64_RELATIVE *ABS*+0x000000000000979a
0000000000040f28 R_X86_64_RELATIVE *ABS*+0x00000000000097d8
0000000000040f40 R_X86_64_RELATIVE *ABS*+0x00000000000097d8
0000000000040f58 R_X86_64_RELATIVE *ABS*+0x0000000000009828
0000000000040f70 R_X86_64_RELATIVE *ABS*+0x0000000000009939
0000000000040f80 R_X86_64_RELATIVE *ABS*+0x0000000000009975
0000000000040f98 R_X86_64_RELATIVE *ABS*+0x0000000000009990
0000000000040fa8 R_X86_64_RELATIVE *ABS*+0x0000000000009938
0000000000040fb8 R_X86_64_RELATIVE *ABS*+0x0000000000038f70
0000000000040fd0 R_X86_64_RELATIVE *ABS*+0x0000000000039180
0000000000040fd8 R_X86_64_RELATIVE *ABS*+0x00000000000099e2
0000000000040fe8 R_X86_64_RELATIVE *ABS*+0x00000000000099e3
0000000000040ff8 R_X86_64_RELATIVE *ABS*+0x0000000000009938
0000000000041008 R_X86_64_RELATIVE *ABS*+0x00000000000099e6
0000000000041018 R_X86_64_RELATIVE *ABS*+0x00000000000099e6
0000000000041028 R_X86_64_RELATIVE *ABS*+0x0000000000007c80
0000000000041038 R_X86_64_RELATIVE *ABS*+0x00000000000099e7
0000000000041048 R_X86_64_RELATIVE *ABS*+0x0000000000009a04
0000000000041058 R_X86_64_RELATIVE *ABS*+0x0000000000009a1d
0000000000041068 R_X86_64_RELATIVE *ABS*+0x0000000000009a2f
0000000000041078 R_X86_64_RELATIVE *ABS*+0x0000000000009a3b
0000000000041088 R_X86_64_RELATIVE *ABS*+0x0000000000009a04
0000000000041098 R_X86_64_RELATIVE *ABS*+0x0000000000009a1d
00000000000410a8 R_X86_64_RELATIVE *ABS*+0x0000000000009a2f
00000000000410b8 R_X86_64_RELATIVE *ABS*+0x0000000000009a3e
00000000000410c8 R_X86_64_RELATIVE *ABS*+0x0000000000009938
00000000000410d8 R_X86_64_RELATIVE *ABS*+0x0000000000009a3f
00000000000410e8 R_X86_64_RELATIVE *ABS*+0x0000000000038f70
0000000000041100 R_X86_64_RELATIVE *ABS*+0x0000000000039880
0000000000041108 R_X86_64_RELATIVE *ABS*+0x000000000003a060
0000000000041110 R_X86_64_RELATIVE *ABS*+0x000000000003a140
0000000000041118 R_X86_64_RELATIVE *ABS*+0x0000000000007ce0
0000000000041130 R_X86_64_RELATIVE *ABS*+0x0000000000007ce0
0000000000041148 R_X86_64_RELATIVE *ABS*+0x0000000000038f70
0000000000041160 R_X86_64_RELATIVE *ABS*+0x000000000003deb0
0000000000041168 R_X86_64_RELATIVE *ABS*+0x0000000000009a56
0000000000041180 R_X86_64_RELATIVE *ABS*+0x0000000000038f70
0000000000041198 R_X86_64_RELATIVE *ABS*+0x000000000003a180
00000000000411a0 R_X86_64_RELATIVE *ABS*+0x000000000003a190
00000000000411a8 R_X86_64_RELATIVE *ABS*+0x000000000003a270
00000000000411b0 R_X86_64_RELATIVE *ABS*+0x0000000000007c60
00000000000411c8 R_X86_64_RELATIVE *ABS*+0x0000000000009b3b
00000000000411d8 R_X86_64_RELATIVE *ABS*+0x0000000000009b4d
00000000000411e8 R_X86_64_RELATIVE *ABS*+0x0000000000006c30
00000000000411f8 R_X86_64_RELATIVE *ABS*+0x0000000000009b4d
0000000000041208 R_X86_64_RELATIVE *ABS*+0x0000000000009b6f
0000000000041218 R_X86_64_RELATIVE *ABS*+0x0000000000009b85
0000000000041228 R_X86_64_RELATIVE *ABS*+0x0000000000009b92
0000000000041238 R_X86_64_RELATIVE *ABS*+0x0000000000009ba7
0000000000041248 R_X86_64_RELATIVE *ABS*+0x0000000000009a52
0000000000041258 R_X86_64_RELATIVE *ABS*+0x0000000000009bfc
0000000000041270 R_X86_64_RELATIVE *ABS*+0x0000000000009d1f
0000000000041288 R_X86_64_RELATIVE *ABS*+0x0000000000009d1f
00000000000412a0 R_X86_64_RELATIVE *ABS*+0x0000000000009d1f
00000000000412b8 R_X86_64_RELATIVE *ABS*+0x0000000000009d1f
00000000000412d0 R_X86_64_RELATIVE *ABS*+0x0000000000009d1f
00000000000412e8 R_X86_64_RELATIVE *ABS*+0x0000000000009d1f
0000000000041300 R_X86_64_RELATIVE *ABS*+0x0000000000009d3e
0000000000041318 R_X86_64_RELATIVE *ABS*+0x0000000000009d3e
0000000000041330 R_X86_64_RELATIVE *ABS*+0x0000000000009d3e
0000000000041348 R_X86_64_RELATIVE *ABS*+0x0000000000009d3e
0000000000041360 R_X86_64_RELATIVE *ABS*+0x0000000000009d3e
0000000000041378 R_X86_64_RELATIVE *ABS*+0x0000000000009d3e
0000000000041390 R_X86_64_RELATIVE *ABS*+0x0000000000009d3e
00000000000413a8 R_X86_64_RELATIVE *ABS*+0x0000000000009d3e
00000000000413c0 R_X86_64_RELATIVE *ABS*+0x0000000000009d83
00000000000413d0 R_X86_64_RELATIVE *ABS*+0x0000000000009d8e
00000000000413e0 R_X86_64_RELATIVE *ABS*+0x0000000000009a3e
00000000000413f0 R_X86_64_RELATIVE *ABS*+0x0000000000009da4
0000000000041400 R_X86_64_RELATIVE *ABS*+0x0000000000007f18
0000000000041410 R_X86_64_RELATIVE *ABS*+0x0000000000006b50
0000000000041420 R_X86_64_RELATIVE *ABS*+0x0000000000009a3e
0000000000041430 R_X86_64_RELATIVE *ABS*+0x0000000000009d83
0000000000041440 R_X86_64_RELATIVE *ABS*+0x0000000000009db2
0000000000041450 R_X86_64_RELATIVE *ABS*+0x0000000000008120
0000000000041460 R_X86_64_RELATIVE *ABS*+0x0000000000009dd8
0000000000041470 R_X86_64_RELATIVE *ABS*+0x0000000000009a3e
0000000000041480 R_X86_64_RELATIVE *ABS*+0x0000000000009dde
0000000000041498 R_X86_64_RELATIVE *ABS*+0x0000000000009dde
00000000000414b0 R_X86_64_RELATIVE *ABS*+0x000000000000a34a
00000000000414c8 R_X86_64_RELATIVE *ABS*+0x000000000000a34a
00000000000414e0 R_X86_64_RELATIVE *ABS*+0x000000000000a34a
00000000000414f8 R_X86_64_RELATIVE *ABS*+0x0000000000038f70
0000000000041510 R_X86_64_RELATIVE *ABS*+0x000000000003e130
0000000000041518 R_X86_64_RELATIVE *ABS*+0x0000000000038f70
0000000000041530 R_X86_64_RELATIVE *ABS*+0x000000000003de00
0000000000041538 R_X86_64_RELATIVE *ABS*+0x0000000000038f70
0000000000041550 R_X86_64_RELATIVE *ABS*+0x000000000003e030
0000000000041780 R_X86_64_RELATIVE *ABS*+0x00000000000114b0
0000000000041788 R_X86_64_RELATIVE *ABS*+0x0000000000011470
0000000000041790 R_X86_64_RELATIVE *ABS*+0x0000000000011460
0000000000041798 R_X86_64_RELATIVE *ABS*+0x0000000000011490
00000000000417a0 R_X86_64_RELATIVE *ABS*+0x0000000000011480
00000000000417a8 R_X86_64_RELATIVE *ABS*+0x00000000000114a0
00000000000417b0 R_X86_64_RELATIVE *ABS*+0x000000000001fe20
00000000000417b8 R_X86_64_RELATIVE *ABS*+0x0000000000022dc0
00000000000417c0 R_X86_64_RELATIVE *ABS*+0x0000000000011690
00000000000417f8 R_X86_64_RELATIVE *ABS*+0x0000000000011660
0000000000041800 R_X86_64_RELATIVE *ABS*+0x0000000000011680
0000000000041810 R_X86_64_RELATIVE *ABS*+0x0000000000039480
0000000000041818 R_X86_64_RELATIVE *ABS*+0x000000000001fe40
0000000000041820 R_X86_64_RELATIVE *ABS*+0x0000000000011400
0000000000041828 R_X86_64_RELATIVE *ABS*+0x0000000000038ad0
0000000000041830 R_X86_64_RELATIVE *ABS*+0x0000000000022970
0000000000041838 R_X86_64_RELATIVE *ABS*+0x000000000003b1c0
0000000000041840 R_X86_64_RELATIVE *ABS*+0x000000000003d660
0000000000041848 R_X86_64_RELATIVE *ABS*+0x000000000003b1d0
0000000000041850 R_X86_64_RELATIVE *ABS*+0x000000000003d700
0000000000041858 R_X86_64_RELATIVE *ABS*+0x000000000003dcd0
0000000000041860 R_X86_64_RELATIVE *ABS*+0x0000000000020d80
0000000000041868 R_X86_64_RELATIVE *ABS*+0x000000000003b240
0000000000041870 R_X86_64_RELATIVE *ABS*+0x000000000003a020
0000000000041878 R_X86_64_RELATIVE *ABS*+0x000000000003a030
0000000000041880 R_X86_64_RELATIVE *ABS*+0x000000000003d520
0000000000041888 R_X86_64_RELATIVE *ABS*+0x000000000003d5c0
0000000000041890 R_X86_64_RELATIVE *ABS*+0x000000000003da60
0000000000041898 R_X86_64_RELATIVE *ABS*+0x000000000003d3e0
00000000000418a0 R_X86_64_RELATIVE *ABS*+0x000000000003d480
00000000000418a8 R_X86_64_RELATIVE *ABS*+0x000000000003d9d0
00000000000418b0 R_X86_64_RELATIVE *ABS*+0x0000000000039490
00000000000418b8 R_X86_64_RELATIVE *ABS*+0x000000000003b290
00000000000418c0 R_X86_64_RELATIVE *ABS*+0x000000000003a310
00000000000418c8 R_X86_64_RELATIVE *ABS*+0x0000000000011410
00000000000418e0 R_X86_64_RELATIVE *ABS*+0x0000000000042f78
00000000000418e8 R_X86_64_RELATIVE *ABS*+0x0000000000022450
00000000000418f0 R_X86_64_RELATIVE *ABS*+0x00000000000204c0
0000000000041910 R_X86_64_RELATIVE *ABS*+0x000000000003b8d0
0000000000041918 R_X86_64_RELATIVE *ABS*+0x000000000003bcd0
0000000000041920 R_X86_64_RELATIVE *ABS*+0x0000000000039570
0000000000041928 R_X86_64_RELATIVE *ABS*+0x000000000003cb90
0000000000041930 R_X86_64_RELATIVE *ABS*+0x000000000003b850
0000000000041938 R_X86_64_RELATIVE *ABS*+0x000000000003b950
0000000000041940 R_X86_64_RELATIVE *ABS*+0x0000000000039520
0000000000041948 R_X86_64_RELATIVE *ABS*+0x0000000000039630
0000000000041950 R_X86_64_RELATIVE *ABS*+0x000000000003b1b0
0000000000041960 R_X86_64_RELATIVE *ABS*+0x0000000000011420
0000000000041968 R_X86_64_RELATIVE *ABS*+0x0000000000038c90
0000000000041970 R_X86_64_RELATIVE *ABS*+0x00000000000331c0
0000000000041978 R_X86_64_RELATIVE *ABS*+0x0000000000033190
0000000000041980 R_X86_64_RELATIVE *ABS*+0x0000000000038cb0
0000000000041988 R_X86_64_RELATIVE *ABS*+0x0000000000031480
0000000000041990 R_X86_64_RELATIVE *ABS*+0x0000000000033150
0000000000041998 R_X86_64_RELATIVE *ABS*+0x000000000003b1e0
00000000000419a0 R_X86_64_RELATIVE *ABS*+0x0000000000039ce0
00000000000419a8 R_X86_64_RELATIVE *ABS*+0x0000000000024ab0
00000000000419b0 R_X86_64_RELATIVE *ABS*+0x0000000000038f30
00000000000419c0 R_X86_64_RELATIVE *ABS*+0x000000000001da50
00000000000419d0 R_X86_64_RELATIVE *ABS*+0x00000000000397f0
00000000000419f0 R_X86_64_RELATIVE *ABS*+0x0000000000024bf0
00000000000419f8 R_X86_64_RELATIVE *ABS*+0x000000000003b170
0000000000041a08 R_X86_64_RELATIVE *ABS*+0x000000000001f5a0
0000000000041a10 R_X86_64_RELATIVE *ABS*+0x000000000001efb0
0000000000041a38 R_X86_64_RELATIVE *ABS*+0x0000000000039280
0000000000041a40 R_X86_64_RELATIVE *ABS*+0x000000000001d870
0000000000041a50 R_X86_64_RELATIVE *ABS*+0x0000000000038a00
0000000000041a58 R_X86_64_RELATIVE *ABS*+0x000000000003ba50
0000000000041a68 R_X86_64_RELATIVE *ABS*+0x000000000003c600
0000000000041a70 R_X86_64_RELATIVE *ABS*+0x000000000003ca80
0000000000041a78 R_X86_64_RELATIVE *ABS*+0x000000000001fb70
0000000000041a80 R_X86_64_RELATIVE *ABS*+0x000000000003b650
0000000000041a88 R_X86_64_RELATIVE *ABS*+0x000000000003b150
0000000000041a90 R_X86_64_RELATIVE *ABS*+0x000000000003c610
0000000000041a98 R_X86_64_RELATIVE *ABS*+0x000000000003c620
0000000000041aa0 R_X86_64_RELATIVE *ABS*+0x00000000000391d0
0000000000041aa8 R_X86_64_RELATIVE *ABS*+0x000000000003b270
0000000000041ab0 R_X86_64_RELATIVE *ABS*+0x000000000003e2c0
0000000000041ab8 R_X86_64_RELATIVE *ABS*+0x000000000003d000
0000000000041ac0 R_X86_64_RELATIVE *ABS*+0x0000000000020010
0000000000041ac8 R_X86_64_RELATIVE *ABS*+0x000000000001d6c0
0000000000041ad8 R_X86_64_RELATIVE *ABS*+0x0000000000021630
0000000000041af8 R_X86_64_RELATIVE *ABS*+0x000000000003a2d0
0000000000041b10 R_X86_64_RELATIVE *ABS*+0x0000000000039310
0000000000041b18 R_X86_64_RELATIVE *ABS*+0x00000000000392f0
0000000000041b20 R_X86_64_RELATIVE *ABS*+0x000000000001e000
0000000000041b28 R_X86_64_RELATIVE *ABS*+0x0000000000022550
0000000000041b30 R_X86_64_RELATIVE *ABS*+0x00000000000205c0
0000000000041b38 R_X86_64_RELATIVE *ABS*+0x000000000002dad0
0000000000041b40 R_X86_64_RELATIVE *ABS*+0x0000000000022590
0000000000041b48 R_X86_64_RELATIVE *ABS*+0x0000000000039300
0000000000041b58 R_X86_64_RELATIVE *ABS*+0x0000000000039320
0000000000041b60 R_X86_64_RELATIVE *ABS*+0x0000000000022cd0
0000000000041b68 R_X86_64_RELATIVE *ABS*+0x000000000002db20
0000000000041b70 R_X86_64_RELATIVE *ABS*+0x000000000003dba0
0000000000041bc0 R_X86_64_RELATIVE *ABS*+0x00000000000212f0
0000000000041bc8 R_X86_64_RELATIVE *ABS*+0x00000000000224b0
0000000000041bd0 R_X86_64_RELATIVE *ABS*+0x00000000000389a0
0000000000041bd8 R_X86_64_RELATIVE *ABS*+0x000000000003a2c0
0000000000041be0 R_X86_64_RELATIVE *ABS*+0x0000000000024f90
0000000000041be8 R_X86_64_RELATIVE *ABS*+0x000000000003b200
0000000000041bf0 R_X86_64_RELATIVE *ABS*+0x0000000000039d30
0000000000041bf8 R_X86_64_RELATIVE *ABS*+0x0000000000039e80
0000000000041c50 R_X86_64_RELATIVE *ABS*+0x0000000000038a10
0000000000041c58 R_X86_64_RELATIVE *ABS*+0x0000000000011430
0000000000041c68 R_X86_64_RELATIVE *ABS*+0x000000000001db70
0000000000041c70 R_X86_64_RELATIVE *ABS*+0x000000000003e4a0
0000000000041c78 R_X86_64_RELATIVE *ABS*+0x0000000000031310
0000000000041c80 R_X86_64_RELATIVE *ABS*+0x0000000000031300
0000000000041c88 R_X86_64_RELATIVE *ABS*+0x0000000000031990
0000000000041c90 R_X86_64_RELATIVE *ABS*+0x0000000000031aa0
0000000000041c98 R_X86_64_RELATIVE *ABS*+0x0000000000032fc0
0000000000041ca0 R_X86_64_RELATIVE *ABS*+0x0000000000032fe0
0000000000041ca8 R_X86_64_RELATIVE *ABS*+0x0000000000032f30
0000000000041cb0 R_X86_64_RELATIVE *ABS*+0x0000000000031ae0
0000000000041cb8 R_X86_64_RELATIVE *ABS*+0x000000000002ded0
0000000000041cc0 R_X86_64_RELATIVE *ABS*+0x000000000002ea40
0000000000041cc8 R_X86_64_RELATIVE *ABS*+0x0000000000023d10
0000000000041ce8 R_X86_64_RELATIVE *ABS*+0x0000000000021ab0
0000000000041cf8 R_X86_64_RELATIVE *ABS*+0x0000000000021a00
0000000000041d28 R_X86_64_RELATIVE *ABS*+0x0000000000030e90
0000000000041d30 R_X86_64_RELATIVE *ABS*+0x000000000003b9d0
0000000000041d38 R_X86_64_RELATIVE *ABS*+0x000000000003d660
0000000000041d40 R_X86_64_RELATIVE *ABS*+0x000000000003d700
0000000000041d48 R_X86_64_RELATIVE *ABS*+0x000000000003dcd0
0000000000041d50 R_X86_64_RELATIVE *ABS*+0x0000000000038af0
0000000000041d58 R_X86_64_RELATIVE *ABS*+0x000000000003b730
0000000000041d60 R_X86_64_RELATIVE *ABS*+0x000000000003d350
0000000000041d68 R_X86_64_RELATIVE *ABS*+0x000000000003d340
0000000000041d70 R_X86_64_RELATIVE *ABS*+0x000000000003e2a0
0000000000041d78 R_X86_64_RELATIVE *ABS*+0x000000000003bcb0
0000000000041d80 R_X86_64_RELATIVE *ABS*+0x0000000000034040
0000000000041d88 R_X86_64_RELATIVE *ABS*+0x000000000003b2b0
0000000000041d90 R_X86_64_RELATIVE *ABS*+0x0000000000037c40
0000000000041d98 R_X86_64_RELATIVE *ABS*+0x0000000000033440
0000000000041da0 R_X86_64_RELATIVE *ABS*+0x0000000000011440
0000000000041da8 R_X86_64_RELATIVE *ABS*+0x0000000000021860
0000000000041db0 R_X86_64_RELATIVE *ABS*+0x00000000000395f0
0000000000041db8 R_X86_64_RELATIVE *ABS*+0x0000000000039880
0000000000041dc0 R_X86_64_RELATIVE *ABS*+0x000000000003aaa0
0000000000041dc8 R_X86_64_RELATIVE *ABS*+0x0000000000039b30
0000000000041dd0 R_X86_64_RELATIVE *ABS*+0x000000000003a530
0000000000042e08 R_X86_64_RELATIVE *ABS*+0x0000000000042e08
0000000000042e10 R_X86_64_RELATIVE *ABS*+0x000000000002dbe0
0000000000042e28 R_X86_64_RELATIVE *ABS*+0x00000000000214f0
0000000000042e38 R_X86_64_RELATIVE *ABS*+0x0000000000042e08
0000000000042e40 R_X86_64_RELATIVE *ABS*+0x0000000000008ab5
0000000000041758 R_X86_64_GLOB_DAT __libc_start_main@GLIBC_2.2.5
0000000000041760 R_X86_64_GLOB_DAT __gmon_start__@Base
0000000000041768 R_X86_64_GLOB_DAT _ITM_deregisterTMCloneTable@Base
0000000000041770 R_X86_64_GLOB_DAT _ITM_registerTMCloneTable@Base
0000000000041778 R_X86_64_GLOB_DAT __cxa_finalize@GLIBC_2.2.5
00000000000417d8 R_X86_64_GLOB_DAT free@GLIBC_2.2.5
00000000000417c8 R_X86_64_GLOB_DAT malloc@GLIBC_2.2.5
00000000000417e0 R_X86_64_GLOB_DAT memcpy@GLIBC_2.14
00000000000417e8 R_X86_64_GLOB_DAT memset@GLIBC_2.2.5
00000000000417d0 R_X86_64_GLOB_DAT realloc@GLIBC_2.2.5
00000000000417f0 R_X86_64_GLOB_DAT roc__mainForHost_1_exposed@Base
0000000000041808 R_X86_64_GLOB_DAT write@GLIBC_2.2.5
0000000000041c00 R_X86_64_GLOB_DAT bcmp@GLIBC_2.2.5
0000000000041a48 R_X86_64_GLOB_DAT _Unwind_Backtrace@GCC_3.3
0000000000041a60 R_X86_64_GLOB_DAT _Unwind_GetIP@GCC_3.0
0000000000041c48 R_X86_64_GLOB_DAT __cxa_thread_atexit_impl@GLIBC_2.18
00000000000419e8 R_X86_64_GLOB_DAT __errno_location@GLIBC_2.2.5
0000000000041c20 R_X86_64_GLOB_DAT __xpg_strerror_r@GLIBC_2.3.4
0000000000041b80 R_X86_64_GLOB_DAT abort@GLIBC_2.2.5
0000000000041b08 R_X86_64_GLOB_DAT calloc@GLIBC_2.2.5
00000000000418d8 R_X86_64_GLOB_DAT close@GLIBC_2.2.5
0000000000041c60 R_X86_64_GLOB_DAT dl_iterate_phdr@GLIBC_2.2.5
0000000000041c08 R_X86_64_GLOB_DAT dlsym@GLIBC_2.2.5
0000000000041c30 R_X86_64_GLOB_DAT exit@GLIBC_2.2.5
00000000000419d8 R_X86_64_GLOB_DAT getcwd@GLIBC_2.2.5
0000000000041c28 R_X86_64_GLOB_DAT getenv@GLIBC_2.2.5
00000000000419b8 R_X86_64_GLOB_DAT memchr@GLIBC_2.2.5
0000000000041908 R_X86_64_GLOB_DAT memmove@GLIBC_2.2.5
0000000000041c38 R_X86_64_GLOB_DAT mmap@GLIBC_2.2.5
0000000000041c40 R_X86_64_GLOB_DAT mprotect@GLIBC_2.2.5
00000000000418f8 R_X86_64_GLOB_DAT munmap@GLIBC_2.2.5
0000000000041b88 R_X86_64_GLOB_DAT open@GLIBC_2.2.5
0000000000041c10 R_X86_64_GLOB_DAT open64@GLIBC_2.2.5
0000000000041b78 R_X86_64_GLOB_DAT poll@GLIBC_2.2.5
0000000000041b00 R_X86_64_GLOB_DAT posix_memalign@GLIBC_2.2.5
0000000000041bb8 R_X86_64_GLOB_DAT pthread_attr_destroy@GLIBC_2.2.5
0000000000041bb0 R_X86_64_GLOB_DAT pthread_attr_getstack@GLIBC_2.2.5
0000000000041ba8 R_X86_64_GLOB_DAT pthread_getattr_np@GLIBC_2.2.5
0000000000041ae0 R_X86_64_GLOB_DAT pthread_getspecific@GLIBC_2.2.5
0000000000041ae8 R_X86_64_GLOB_DAT pthread_key_create@GLIBC_2.2.5
0000000000041af0 R_X86_64_GLOB_DAT pthread_key_delete@GLIBC_2.2.5
0000000000041958 R_X86_64_GLOB_DAT pthread_mutex_destroy@GLIBC_2.2.5
00000000000419c8 R_X86_64_GLOB_DAT pthread_mutex_lock@GLIBC_2.2.5
0000000000041a18 R_X86_64_GLOB_DAT pthread_mutex_trylock@GLIBC_2.2.5
00000000000418d0 R_X86_64_GLOB_DAT pthread_mutex_unlock@GLIBC_2.2.5
0000000000041b50 R_X86_64_GLOB_DAT pthread_rwlock_rdlock@GLIBC_2.2.5
0000000000041900 R_X86_64_GLOB_DAT pthread_rwlock_unlock@GLIBC_2.2.5
0000000000041ba0 R_X86_64_GLOB_DAT pthread_self@GLIBC_2.2.5
0000000000041ad0 R_X86_64_GLOB_DAT pthread_setspecific@GLIBC_2.2.5
0000000000041c18 R_X86_64_GLOB_DAT readlink@GLIBC_2.2.5
0000000000041b98 R_X86_64_GLOB_DAT sigaction@GLIBC_2.2.5
0000000000041a20 R_X86_64_GLOB_DAT sigaltstack@GLIBC_2.2.5
0000000000041b90 R_X86_64_GLOB_DAT signal@GLIBC_2.2.5
00000000000419e0 R_X86_64_GLOB_DAT strlen@GLIBC_2.2.5
0000000000041a30 R_X86_64_GLOB_DAT syscall@GLIBC_2.2.5
0000000000041a28 R_X86_64_GLOB_DAT sysconf@GLIBC_2.2.5
0000000000041a00 R_X86_64_GLOB_DAT writev@GLIBC_2.2.5
0000000000041ce0 R_X86_64_GLOB_DAT _Unwind_DeleteException@GCC_3.0
0000000000041cd0 R_X86_64_GLOB_DAT _Unwind_GetDataRelBase@GCC_3.0
0000000000041d08 R_X86_64_GLOB_DAT _Unwind_GetIPInfo@GCC_4.2.0
0000000000041d00 R_X86_64_GLOB_DAT _Unwind_GetLanguageSpecificData@GCC_3.0
0000000000041d10 R_X86_64_GLOB_DAT _Unwind_GetRegionStart@GCC_3.0
0000000000041cd8 R_X86_64_GLOB_DAT _Unwind_GetTextRelBase@GCC_3.0
0000000000041cf0 R_X86_64_GLOB_DAT _Unwind_RaiseException@GCC_3.0
0000000000041d18 R_X86_64_GLOB_DAT _Unwind_SetGR@GCC_3.0
0000000000041d20 R_X86_64_GLOB_DAT _Unwind_SetIP@GCC_3.0
0000000000041df0 R_X86_64_JUMP_SLOT __cxa_finalize@GLIBC_2.2.5
0000000000041df8 R_X86_64_JUMP_SLOT _Unwind_Resume@GCC_3.0
0000000000041e00 R_X86_64_JUMP_SLOT __fxstat64@GLIBC_2.2.5