 TUPLE: symbol name elf-header sym data ;
 
 GENERIC: sections ( obj -- sections )
-    
+
 : <elf> ( c-ptr -- elf )
     elf-header elf boa ;
 

        first2 :> ( name sym )
        name section elf-header>> sym f symbol boa
    ] { } map-as ;
    
:: symbol-data ( symbol -- data )
    symbol [ elf-header>> ] [ sym>> st_value>> ] bi virtual-address-segment :> segment
    symbol sym>> st_value>> segment p_vaddr>> - segment p_offset>> + :> faddress

: with-mapped-elf ( path quot -- )
    '[
        address>> <elf> @
    ] with-mapped-file-reader ; inline
