diff options
| author | grischka <grischka> | 2009-12-19 22:08:37 +0100 |
|---|---|---|
| committer | grischka <grischka> | 2009-12-19 22:16:20 +0100 |
| commit | 1308e8ebcfba43b4b96b7ef32f1a177b1168665d (patch) | |
| tree | eed594426e6d4d6f266be4cc0cfe0cde9627ad43 /libtcc.c | |
| parent | e81569bc70697d4380e7456e7938dec29c91af73 (diff) | |
| download | tinycc-1308e8ebcfba43b4b96b7ef32f1a177b1168665d.tar.gz tinycc-1308e8ebcfba43b4b96b7ef32f1a177b1168665d.tar.bz2 | |
integrate x86_64-asm.c into i386-asm.c
Also, disable 16bit support for now as it causes bugs
in 32bit mode. #define I386_ASM_16 if you want it.
Diffstat (limited to 'libtcc.c')
| -rw-r--r-- | libtcc.c | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -325,14 +325,10 @@ static inline int toup(int c) #ifdef CONFIG_TCC_ASM -#ifdef TCC_TARGET_I386 +#if defined TCC_TARGET_I386 || defined TCC_TARGET_X86_64 #include "i386-asm.c" #endif -#ifdef TCC_TARGET_X86_64 -#include "x86_64-asm.c" -#endif - #include "tccasm.c" #else static void asm_instr(void) @@ -854,10 +850,14 @@ static void put_extern_sym(Sym *sym, Section *section, /* add a new relocation entry to symbol 'sym' in section 's' */ static void greloc(Section *s, Sym *sym, unsigned long offset, int type) { - if (!sym->c) - put_extern_sym(sym, NULL, 0, 0); + int c = 0; + if (sym) { + if (0 == sym->c) + put_extern_sym(sym, NULL, 0, 0); + c = sym->c; + } /* now we can add ELF relocation info */ - put_elf_reloc(symtab_section, s, offset, type, sym->c); + put_elf_reloc(symtab_section, s, offset, type, c); } static void strcat_vprintf(char *buf, int buf_size, const char *fmt, va_list ap) |
