Added what I call virtual io to tinycc this way we can make a monolitic executable or library that contains all needed to compile programs, truly tinycc portable.

Tested under linux exec the "mk-it" shell script and you'll end up with a portable tinycc executable that doesn't depend on anything else.
This commit is contained in:
mingodad
2013-01-11 00:04:38 +00:00
parent 0a8c7d143e
commit 59e18aee0e
12 changed files with 903 additions and 62 deletions

View File

@ -858,7 +858,7 @@ Section *FindSection(TCCState * s1, const char *sname)
return 0;
}
ST_FUNC int tcc_load_coff(TCCState * s1, int fd)
ST_FUNC int tcc_load_coff(TCCState * s1, vio_fd fd)
{
// tktk TokenSym *ts;
@ -870,7 +870,7 @@ ST_FUNC int tcc_load_coff(TCCState * s1, int fd)
char name2[9];
FILHDR file_hdr; /* FILE HEADER STRUCTURE */
f = fdopen(fd, "rb");
f = fdopen(fd.fd, "rb");
if (!f) {
tcc_error("Unable to open .out file for input");
}