blob: 78aab146c44024c654e81ebbde63d63d458795ae (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include "obj.h"
#include "common.h"
struct objfile objout;
void
objini(const char *file)
{
enum { NTEXT = 4<<20 /* 4MiB */ };
assert(!objout.file);
objout.file = file;
objout.code = objout.textbegin = mapzeros(NTEXT);
objout.textend = objout.textbegin + NTEXT;
}
void
objfini(void)
{
void *popen(char *, char *), pclose(void *);
long fwrite(void *, size_t, size_t, void *);
void *cmd = popen("ndisasm -b64 -", "w");
ioflush(&bstderr); ioflush(&bstdout);
fwrite(objout.textbegin, 1, objout.code - objout.textbegin, cmd);
pclose(cmd);
}
/* vim:set ts=3 sw=3 expandtab: */
|