this call overwrites at 495 count:

t0 = ICALL(s_lsp_INITIALIZE_2DARRAY_2DFROM_2DCONTENTS) (MV_CALL(argc,3), v_A_0, v_UNDERLYING_2DARRAY_1, v_INITIAL_2DCONTENTS_5);

p mcheck_check_all()

cache info: /sys/devices/system/cpu/cpu0/cache/
-----------------------
start with static_allocate just does regular alloc

pass in RTscan_memory as arg to root scanner, eliminate extern RTscan_memory

Make OE per thread global
or a vector indexed by thread number
&OE then needs to be computed the trampoline, can't be hard wired
make it be base of thread stack? Just mask SP by fixed stack size mask?

---------------------------------
/usr/src/debug/glibc-2.22/elf/dl-open.c
Load a shared object at runtime, relocate it, and run its initializer.
calls _dl_relocate_object

in dl-reloc.c
	_dl_relocate_object (l, l->l_scope, reloc_mode, 0);

#include "dynamic-link.h"
    ELF_DYNAMIC_RELOCATE (l, lazy, consider_profiling, skip_ifunc);
    ELF_DYNAMIC_DO_RELOC(RELOC, reloc, map, do_lazy, skip_ifunc, test_rel) \



post $rip = 0x7ffff2fb675a
offset = 0x20087e
sum = 0x7ffff31b6fd8

watch -l *(long*) 0x7ffff31b6fd8

lands in:
/usr/src/debug/glibc-2.22/sysdeps/x86_64/dl-machine.h:
elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
		  const ElfW(Sym) *sym, const struct r_found_version *version,
		  void *const reloc_addr_arg, int skip_ifunc)

