From ff5561ff7d699eb9e30e95f1e2cfd1e98e5a990d Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Wed, 29 Jun 2016 19:22:07 +0200 Subject: x86-64-asm: Accept expressions for .quad The x86-64 target has 64bit relocs, and hence can accept generic expressions for '.quad'. --- tccasm.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'tccasm.c') diff --git a/tccasm.c b/tccasm.c index b3e9eb4..185f066 100644 --- a/tccasm.c +++ b/tccasm.c @@ -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"); -- cgit v1.3.1