Unified · Split
| @@ -1345,7 +1345,7 @@ int elf_output_file(TCCState *s1, const char *filename) · 1344 unmodified lines | ||
| 1345 | 1345 | file_type = s1->output_type; |
| 1346 | 1346 | s1->nb_errors = 0; |
| 1347 | 1347 | |
| 1348 | − if (file_type != TCC_OUTPUT_OBJ) { | |
| 1348 | + if ((file_type != TCC_OUTPUT_OBJ) && (s1->output_type != TCC_OUTPUT_FORMAT_BINARY)) { | |
| 1349 | 1349 | tcc_add_runtime(s1); |
| 1350 | 1350 | } |
| 1351 | 1351 | |
| @@ -1359,14 +1359,15 @@ int elf_output_file(TCCState *s1, const char *filename) · 7 unmodified lines | ||
| 1359 | 1359 | if (file_type != TCC_OUTPUT_OBJ) { |
| 1360 | 1360 | relocate_common_syms(); |
| 1361 | 1361 | |
| 1362 | − tcc_add_linker_symbols(s1); | |
| 1362 | + if (s1->output_type != TCC_OUTPUT_FORMAT_BINARY) | |
| 1363 | + tcc_add_linker_symbols(s1); | |
| 1363 | 1364 | |
| 1364 | − if (!s1->static_link) { | |
| 1365 | + if ((!s1->static_link) && (s1->output_type != TCC_OUTPUT_FORMAT_BINARY)) { | |
| 1365 | 1366 | const char *name; |
| 1366 | 1367 | int sym_index, index; |
| 1367 | 1368 | ElfW(Sym) *esym, *sym_end; |
| 1368 | 1369 | |
| 1369 | − if (file_type == TCC_OUTPUT_EXE) { | |
| 1370 | + if ((file_type == TCC_OUTPUT_EXE) && (s1->output_type != TCC_OUTPUT_FORMAT_BINARY)) { | |
| 1370 | 1371 | char *ptr; |
| 1371 | 1372 | /* add interpreter section only if executable */ |
| 1372 | 1373 | interp = new_section(s1, ".interp", SHT_PROGBITS, SHF_ALLOC); |