Overview
| Comment: | Windows fixups |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
b25d0baadecd89974ebae7cd26dc3418 |
| User & Date: | rkeene on 2014-05-02 06:41:22.498 |
| Other Links: | manifest | tags |
Context
|
2014-05-02
| ||
| 07:08 | Experimenting with compiling libtcc1.a with gcc check-in: 8a389f5b8d user: rkeene tags: trunk | |
| 06:41 | Windows fixups check-in: b25d0baade user: rkeene tags: trunk | |
| 06:29 | Added more cross-compiling support check-in: ea645d2a50 user: rkeene tags: trunk | |
Changes
Modified build/tcc-patches/0.9.26/tcc-0.9.26-tclio.diff
from [e6c607249f]
to [8fe78dd24b].
1 2 | diff -uNr tcc-0.9.26.orig/libtcc.c tcc-0.9.26-1tclio/libtcc.c --- tcc-0.9.26.orig/libtcc.c 2013-02-15 08:24:00.000000000 -0600 | | | 1 2 3 4 5 6 7 8 9 10 |
diff -uNr tcc-0.9.26.orig/libtcc.c tcc-0.9.26-1tclio/libtcc.c
--- tcc-0.9.26.orig/libtcc.c 2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1tclio/libtcc.c 2014-05-02 01:30:08.967140003 -0500
@@ -669,7 +669,7 @@
bf->line_num = 1;
bf->ifndef_macro = 0;
bf->ifdef_stack_ptr = s1->ifdef_stack_ptr;
- bf->fd = -1;
+ bf->fd = NULL;
bf->prev = file;
|
| ︙ | ︙ | |||
93 94 95 96 97 98 99 |
+ size = Tcl_Read(fd, (char *)&ehdr, sizeof(ehdr));
+ Tcl_Seek(fd, 0, SEEK_SET);
if (size <= 0) {
tcc_error_noabort("could not read header");
goto the_end;
diff -uNr tcc-0.9.26.orig/tcc.h tcc-0.9.26-1tclio/tcc.h
--- tcc-0.9.26.orig/tcc.h 2013-02-15 08:24:00.000000000 -0600
| | | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
+ size = Tcl_Read(fd, (char *)&ehdr, sizeof(ehdr));
+ Tcl_Seek(fd, 0, SEEK_SET);
if (size <= 0) {
tcc_error_noabort("could not read header");
goto the_end;
diff -uNr tcc-0.9.26.orig/tcc.h tcc-0.9.26-1tclio/tcc.h
--- tcc-0.9.26.orig/tcc.h 2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1tclio/tcc.h 2014-05-02 01:30:08.967140003 -0500
@@ -429,7 +429,7 @@
typedef struct BufferedFile {
uint8_t *buf_ptr;
uint8_t *buf_end;
- int fd;
+ Tcl_Channel fd;
struct BufferedFile *prev;
|
| ︙ | ︙ | |||
152 153 154 155 156 157 158 | -ST_FUNC int pe_load_file(struct TCCState *s1, const char *filename, int fd); +ST_FUNC int pe_load_file(struct TCCState *s1, const char *filename, Tcl_Channel fd); ST_FUNC int pe_output_file(TCCState * s1, const char *filename); ST_FUNC int pe_putimport(TCCState *s1, int dllindex, const char *name, addr_t value); ST_FUNC SValue *pe_getimport(SValue *sv, SValue *v2); diff -uNr tcc-0.9.26.orig/tcccoff.c tcc-0.9.26-1tclio/tcccoff.c --- tcc-0.9.26.orig/tcccoff.c 2013-02-15 08:24:00.000000000 -0600 | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
-ST_FUNC int pe_load_file(struct TCCState *s1, const char *filename, int fd);
+ST_FUNC int pe_load_file(struct TCCState *s1, const char *filename, Tcl_Channel fd);
ST_FUNC int pe_output_file(TCCState * s1, const char *filename);
ST_FUNC int pe_putimport(TCCState *s1, int dllindex, const char *name, addr_t value);
ST_FUNC SValue *pe_getimport(SValue *sv, SValue *v2);
diff -uNr tcc-0.9.26.orig/tcccoff.c tcc-0.9.26-1tclio/tcccoff.c
--- tcc-0.9.26.orig/tcccoff.c 2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1tclio/tcccoff.c 2014-05-02 01:30:08.967140003 -0500
@@ -858,10 +858,11 @@
return 0;
}
-ST_FUNC int tcc_load_coff(TCCState * s1, int fd)
+ST_FUNC int tcc_load_coff(TCCState * s1, Tcl_Channel fd)
{
|
| ︙ | ︙ | |||
184 185 186 187 188 189 190 |
+
+ f = fdopen(native_fd, "rb");
if (!f) {
tcc_error("Unable to open .out file for input");
}
diff -uNr tcc-0.9.26.orig/tccelf.c tcc-0.9.26-1tclio/tccelf.c
--- tcc-0.9.26.orig/tccelf.c 2013-02-15 08:24:00.000000000 -0600
| | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
+
+ f = fdopen(native_fd, "rb");
if (!f) {
tcc_error("Unable to open .out file for input");
}
diff -uNr tcc-0.9.26.orig/tccelf.c tcc-0.9.26-1tclio/tccelf.c
--- tcc-0.9.26.orig/tccelf.c 2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1tclio/tccelf.c 2014-05-02 01:30:08.967140003 -0500
@@ -2334,13 +2334,13 @@
return ret;
}
-static void *load_data(int fd, unsigned long file_offset, unsigned long size)
+static void *load_data(Tcl_Channel fd, unsigned long file_offset, unsigned long size)
{
|
| ︙ | ︙ | |||
319 320 321 322 323 324 325 |
- read(fd, &ehdr, sizeof(ehdr));
+ Tcl_Read(fd, (char *) &ehdr, sizeof(ehdr));
/* test CPU specific stuff */
if (ehdr.e_ident[5] != ELFDATA2LSB ||
diff -uNr tcc-0.9.26.orig/tccpe.c tcc-0.9.26-1tclio/tccpe.c
--- tcc-0.9.26.orig/tccpe.c 2013-02-15 08:24:00.000000000 -0600
| | | 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 |
- read(fd, &ehdr, sizeof(ehdr));
+ Tcl_Read(fd, (char *) &ehdr, sizeof(ehdr));
/* test CPU specific stuff */
if (ehdr.e_ident[5] != ELFDATA2LSB ||
diff -uNr tcc-0.9.26.orig/tccpe.c tcc-0.9.26-1tclio/tccpe.c
--- tcc-0.9.26.orig/tccpe.c 2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1tclio/tccpe.c 2014-05-02 01:30:08.967140003 -0500
@@ -1505,10 +1505,10 @@
/* ------------------------------------------------------------- */
-static int read_mem(int fd, unsigned offset, void *buffer, unsigned len)
+static int read_mem(Tcl_Channel fd, unsigned offset, void *buffer, unsigned len)
{
|
| ︙ | ︙ | |||
386 387 388 389 390 391 392 |
-ST_FUNC int pe_load_file(struct TCCState *s1, const char *filename, int fd)
+ST_FUNC int pe_load_file(struct TCCState *s1, const char *filename, Tcl_Channel fd)
{
int ret = -1;
char buf[10];
diff -uNr tcc-0.9.26.orig/tccpp.c tcc-0.9.26-1tclio/tccpp.c
--- tcc-0.9.26.orig/tccpp.c 2013-02-15 08:24:00.000000000 -0600
| | | 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 |
-ST_FUNC int pe_load_file(struct TCCState *s1, const char *filename, int fd)
+ST_FUNC int pe_load_file(struct TCCState *s1, const char *filename, Tcl_Channel fd)
{
int ret = -1;
char buf[10];
diff -uNr tcc-0.9.26.orig/tccpp.c tcc-0.9.26-1tclio/tccpp.c
--- tcc-0.9.26.orig/tccpp.c 2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1tclio/tccpp.c 2014-05-02 01:30:08.967140003 -0500
@@ -360,13 +360,13 @@
int len;
/* only tries to read if really end of buffer */
if (bf->buf_ptr >= bf->buf_end) {
- if (bf->fd != -1) {
+ if (bf->fd != NULL) {
#if defined(PARSE_DEBUG)
|
| ︙ | ︙ | |||
412 413 414 415 416 417 418 |
}
- if (tcc_open(s1, buf1) < 0)
+ if (tcc_open(s1, buf1) == NULL)
include_trynext:
continue;
| > > > > > > > > > > > > | 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 |
}
- if (tcc_open(s1, buf1) < 0)
+ if (tcc_open(s1, buf1) == NULL)
include_trynext:
continue;
diff -uNr tcc-0.9.26.orig/win32/tools/tiny_impdef.c tcc-0.9.26-1tclio/win32/tools/tiny_impdef.c
--- tcc-0.9.26.orig/win32/tools/tiny_impdef.c 2013-02-15 08:24:00.000000000 -0600
+++ tcc-0.9.26-1tclio/win32/tools/tiny_impdef.c 2014-05-02 01:31:28.497140003 -0500
@@ -161,7 +161,7 @@
/* -------------------------------------------------------------- */
#endif
-char *get_export_names(int fd)
+char *get_export_names(Tcl_Channel fd)
{
int l, i, n, n0;
char *p;
|
Modified tcltcc.c
from [bdb10e54ff]
to [373fc5958a].
| ︙ | ︙ | |||
206 207 208 209 210 211 212 |
Tcl_AppendResult(interp, "code already relocated, cannot output to file", NULL);
return TCL_ERROR;
}
if (s->output_type == TCC_OUTPUT_MEMORY) {
Tcl_AppendResult(interp, "output_type memory not valid for output to file", NULL);
return TCL_ERROR;
}
| < < < < | 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 |
Tcl_AppendResult(interp, "code already relocated, cannot output to file", NULL);
return TCL_ERROR;
}
if (s->output_type == TCC_OUTPUT_MEMORY) {
Tcl_AppendResult(interp, "output_type memory not valid for output to file", NULL);
return TCL_ERROR;
}
res = tcc_output_file(s,Tcl_GetString(objv[2]));
if (res!=0) {
Tcl_AppendResult(interp, "output to file failed", NULL);
return TCL_ERROR;
} else {
return TCL_OK;
}
|
| ︙ | ︙ |