oxidecomputer/helios

include demangle(1) in Gimlet image

jclulow opened this issue · 0 comments

As it says on the tin, it would be helpful if, at least for now, we could include demangle in the OS image. This program presently ships in the /developer/object-file package:

$ pkg search file:basename:demangle
INDEX      ACTION VALUE            PACKAGE
basename   file   usr/bin/demangle pkg:/developer/object-file@0.5.11-2.0.22112

This includes a bunch of other stuff we probably don't need...

 $ pkg contents -t file /developer/object-file | grep -v usr/share/man
PATH
usr/bin/amd64/ar
usr/bin/amd64/elfedit
usr/bin/amd64/mcs
usr/bin/amd64/nm
usr/bin/ar
usr/bin/demangle
usr/bin/dis
usr/bin/dump
usr/bin/elfdump
usr/bin/elfedit
usr/bin/error
usr/bin/gprof
usr/bin/lari
usr/bin/lex
usr/bin/lorder
usr/bin/mcs
usr/bin/nm
usr/bin/ranlib
usr/bin/rpcgen
usr/bin/size
usr/bin/symorder
usr/bin/tsort
usr/bin/unifdef
usr/bin/yacc
usr/lib/elfedit/amd64/cap.so
usr/lib/elfedit/amd64/dyn.so
usr/lib/elfedit/amd64/ehdr.so
usr/lib/elfedit/amd64/phdr.so
usr/lib/elfedit/amd64/shdr.so
usr/lib/elfedit/amd64/str.so
usr/lib/elfedit/amd64/sym.so
usr/lib/elfedit/amd64/syminfo.so
usr/lib/elfedit/cap.so
usr/lib/elfedit/dyn.so
usr/lib/elfedit/ehdr.so
usr/lib/elfedit/phdr.so
usr/lib/elfedit/shdr.so
usr/lib/elfedit/str.so
usr/lib/elfedit/sym.so
usr/lib/elfedit/syminfo.so
usr/share/lib/ccs/gprof.callg.blurb
usr/share/lib/ccs/gprof.flat.blurb
usr/share/lib/ccs/nceucform
usr/share/lib/ccs/ncform
usr/share/lib/ccs/nrform
usr/share/lib/ccs/yaccpar

But the overall increase is not that large, so we should probably just whack it in there:

 $ pkg contents -H -t file -o path,pkg.size developer/object-file | grep -v usr/share/man | awk '{ q += $2 } END { print(q / 1024 / 1024); }'
2.88541