diff options
| author | Michael Matz <matz@suse.de> | 2016-06-29 19:22:07 +0200 |
|---|---|---|
| committer | Michael Matz <matz@suse.de> | 2016-12-15 17:47:07 +0100 |
| commit | ff5561ff7d699eb9e30e95f1e2cfd1e98e5a990d (patch) | |
| tree | 5e51fdd0b49127553a4cb24f50b379174a88f6a4 /tccasm.c | |
| parent | 253afeed1e822965804c0f5503bac057e68f08e8 (diff) | |
| download | tinycc-ff5561ff7d699eb9e30e95f1e2cfd1e98e5a990d.tar.gz tinycc-ff5561ff7d699eb9e30e95f1e2cfd1e98e5a990d.tar.bz2 | |
x86-64-asm: Accept expressions for .quad
The x86-64 target has 64bit relocs, and hence can accept
generic expressions for '.quad'.
Diffstat (limited to 'tccasm.c')
| -rw-r--r-- | tccasm.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -407,6 +407,10 @@ static void asm_parse_directive(TCCState *s1) ind += size; break; case TOK_ASMDIR_quad: +#ifdef TCC_TARGET_X86_64 + size = 8; + goto asm_data; +#else next(); for(;;) { uint64_t vl; @@ -433,6 +437,7 @@ static void asm_parse_directive(TCCState *s1) next(); } break; +#endif case TOK_ASMDIR_byte: size = 1; goto asm_data; @@ -451,6 +456,10 @@ static void asm_parse_directive(TCCState *s1) if (sec->sh_type != SHT_NOBITS) { if (size == 4) { gen_expr32(&e); +#ifdef TCC_TARGET_X86_64 + } else if (size == 8) { + gen_expr64(&e); +#endif } else { if (e.sym) expect("constant"); |
