ack/plat/osx/cvmach/build.lua
George Koehler 98f2273d97 Teach cvmach to emit the symbol table.
This preserves the name and value of every symbol.  The type and other
info of a symbol might be lost.  In gdb, one can now "disas main" or
"disas '.ret'" to disassemble functions by name.

Most symbols are in sections, so I also teach cvmach to emit the Mach
section headers.  The entry point in plat/osx*/descr moves down to
make room for the section headers and LC_SYMTAB.

I fix some bugs in calculations of cvmach.  They were wrong if ROM had
a greater alignment than TEXT, or if DATA did not start on a page
boundary.  I introduce machseg[] to simplify the mess of variables in
main().  I declare most functions as static.  Also, cvmach becomes the
first program to #include <object.h>.
2016-11-22 17:16:30 -05:00

16 lines
196 B
Lua

cprogram {
name = "cvmach",
srcs = { "./cvmach.c" },
deps = {
"h+emheaders",
"modules/src/object+lib",
}
}
installable {
name = "pkg",
map = {
["$(PLATDEP)/cvmach"] = "+cvmach",
}
}