This broke writing executables.
Unified · Split
| @@ -1357,7 +1357,7 @@ int elf_output_file(TCCState *s1, const char *filename) · 1356 unmodified lines | |||
| 1357 | file_type = s1->output_type; | 1357 | file_type = s1->output_type; |
| 1358 | s1->nb_errors = 0; | 1358 | s1->nb_errors = 0; |
| 1359 | 1359 | ||
| 1360 | if ((file_type != TCC_OUTPUT_OBJ) && (s1->output_type != TCC_OUTPUT_FORMAT_BINARY)) { | 1360 | if (file_type != TCC_OUTPUT_OBJ) { |
| 1361 | tcc_add_runtime(s1); | 1361 | tcc_add_runtime(s1); |
| 1362 | } | 1362 | } |
| 1363 | 1363 | ||
| @@ -1371,15 +1371,14 @@ int elf_output_file(TCCState *s1, const char *filename) · 7 unmodified lines | |||
| 1371 | if (file_type != TCC_OUTPUT_OBJ) { | 1371 | if (file_type != TCC_OUTPUT_OBJ) { |
| 1372 | relocate_common_syms(); | 1372 | relocate_common_syms(); |
| 1373 | 1373 | ||
| 1374 | if (s1->output_type != TCC_OUTPUT_FORMAT_BINARY) | 1374 | tcc_add_linker_symbols(s1); |
| 1375 | tcc_add_linker_symbols(s1); | ||
| 1376 | 1375 | ||
| 1377 | if ((!s1->static_link) && (s1->output_type != TCC_OUTPUT_FORMAT_BINARY)) { | 1376 | if (!s1->static_link) { |
| 1378 | const char *name; | 1377 | const char *name; |
| 1379 | int sym_index, index; | 1378 | int sym_index, index; |
| 1380 | ElfW(Sym) *esym, *sym_end; | 1379 | ElfW(Sym) *esym, *sym_end; |
| 1381 | 1380 | ||
| 1382 | if ((file_type == TCC_OUTPUT_EXE) && (s1->output_type != TCC_OUTPUT_FORMAT_BINARY)) { | 1381 | if (file_type == TCC_OUTPUT_EXE) { |
| 1383 | char *ptr; | 1382 | char *ptr; |
| 1384 | /* add interpreter section only if executable */ | 1383 | /* add interpreter section only if executable */ |
| 1385 | interp = new_section(s1, ".interp", SHT_PROGBITS, SHF_ALLOC); | 1384 | interp = new_section(s1, ".interp", SHT_PROGBITS, SHF_ALLOC); |