dumb maps again
This commit is contained in:
parent
9c63558707
commit
f9aa99c72e
1 changed files with 33 additions and 1 deletions
|
|
@ -26,6 +26,29 @@ usage(void)
|
||||||
exits("usage");
|
exits("usage");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Map*
|
||||||
|
dumbmap(int fd)
|
||||||
|
{
|
||||||
|
Map *dumb;
|
||||||
|
Seg s;
|
||||||
|
|
||||||
|
dumb = allocmap();
|
||||||
|
memset(&s, 0, sizeof s);
|
||||||
|
s.fd = fd;
|
||||||
|
s.base = 0;
|
||||||
|
s.offset = 0;
|
||||||
|
s.size = 0xFFFFFFFF;
|
||||||
|
s.name = "data";
|
||||||
|
s.file = "<dumb>";
|
||||||
|
if(addseg(dumb, s) < 0){
|
||||||
|
freemap(dumb);
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
if(mach == nil)
|
||||||
|
mach = machcpu;
|
||||||
|
return dumb;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
main(int argc, char *argv[])
|
main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
|
@ -150,7 +173,7 @@ main(int argc, char *argv[])
|
||||||
static int
|
static int
|
||||||
attachfiles(int argc, char **argv)
|
attachfiles(int argc, char **argv)
|
||||||
{
|
{
|
||||||
int pid;
|
int fd, pid;
|
||||||
char *s;
|
char *s;
|
||||||
int i, omode;
|
int i, omode;
|
||||||
Fhdr *hdr;
|
Fhdr *hdr;
|
||||||
|
|
@ -182,6 +205,14 @@ attachfiles(int argc, char **argv)
|
||||||
}
|
}
|
||||||
if((hdr = crackhdr(argv[i], omode)) == nil){
|
if((hdr = crackhdr(argv[i], omode)) == nil){
|
||||||
fprint(2, "crackhdr %s: %r\n", argv[i]);
|
fprint(2, "crackhdr %s: %r\n", argv[i]);
|
||||||
|
if(argc == 1 && (fd = open(argv[i], omode)) > 0){
|
||||||
|
fprint(2, "loading %s direct mapped\n", argv[i]);
|
||||||
|
symmap = dumbmap(fd);
|
||||||
|
cormap = dumbmap(fd);
|
||||||
|
symfil = argv[i];
|
||||||
|
corfil = argv[i];
|
||||||
|
goto Run;
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
fprint(2, "%s: %s %s %s\n", argv[i], hdr->aname, hdr->mname, hdr->fname);
|
fprint(2, "%s: %s %s %s\n", argv[i], hdr->aname, hdr->mname, hdr->fname);
|
||||||
|
|
@ -245,6 +276,7 @@ attachfiles(int argc, char **argv)
|
||||||
mapfile(symhdr, 0, cormap, nil);
|
mapfile(symhdr, 0, cormap, nil);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Run:
|
||||||
l = mkvar("objtype");
|
l = mkvar("objtype");
|
||||||
v = l->v;
|
v = l->v;
|
||||||
v->store.fmt = 's';
|
v->store.fmt = 's';
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue