:: nm ( path -- ) path address>> sections :> sections sections [ name>> ".symtab" = ] filter first symbols [ dup name>> "" = not [ [ sym>> st_value>> "%016d " printf ] [ sym>> st_shndx>> { { SHN_UNDEF [ "undefined" "%-16s" printf ] } { SHN_ABS [ "absolute" "%-16s" printf ] } [ sections nth name>> "%-16s" printf ] } case ] [ name>> " %s\n" printf ] tri ] [ drop ] if ] each ;