riscv: Add .option assembly directive (unimp)
This commit is contained in:
parent
618c173421
commit
cbe70fa629
3 changed files with 38 additions and 1 deletions
|
@ -411,4 +411,15 @@
|
|||
DEF_ASM(snez)
|
||||
DEF_ASM(tail)
|
||||
|
||||
/* Possible values for .option directive */
|
||||
DEF_ASM(arch)
|
||||
DEF_ASM(rvc)
|
||||
DEF_ASM(norvc)
|
||||
DEF_ASM(pic)
|
||||
DEF_ASM(nopic)
|
||||
DEF_ASM(relax)
|
||||
DEF_ASM(norelax)
|
||||
DEF_ASM(push)
|
||||
DEF_ASM(pop)
|
||||
|
||||
#undef DEF_ASM_WITH_SUFFIX
|
||||
|
|
23
tccasm.c
23
tccasm.c
|
@ -922,6 +922,29 @@ static void asm_parse_directive(TCCState *s1, int global)
|
|||
case TOK_ASMDIR_code64:
|
||||
next();
|
||||
break;
|
||||
#endif
|
||||
#ifdef TCC_TARGET_RISCV64
|
||||
case TOK_ASMDIR_option:
|
||||
next();
|
||||
switch(tok){
|
||||
case TOK_ASM_pic:
|
||||
case TOK_ASM_nopic:
|
||||
case TOK_ASM_relax:
|
||||
case TOK_ASM_norelax:
|
||||
case TOK_ASM_push:
|
||||
case TOK_ASM_pop:
|
||||
/* TODO: unimplemented */
|
||||
next();
|
||||
break;
|
||||
case TOK_ASM_arch:
|
||||
/* TODO: unimplemented, requires extra parsing */
|
||||
tcc_error("unimp .option '.%s'", get_tok_str(tok, NULL));
|
||||
break;
|
||||
default:
|
||||
tcc_error("unknown .option '.%s'", get_tok_str(tok, NULL));
|
||||
break;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
tcc_error("unknown assembler directive '.%s'", get_tok_str(tok, NULL));
|
||||
|
|
5
tcctok.h
5
tcctok.h
|
@ -202,7 +202,8 @@
|
|||
/* pragma */
|
||||
DEF(TOK_pack, "pack")
|
||||
#if !defined(TCC_TARGET_I386) && !defined(TCC_TARGET_X86_64) && \
|
||||
!defined(TCC_TARGET_ARM) && !defined(TCC_TARGET_ARM64)
|
||||
!defined(TCC_TARGET_ARM) && !defined(TCC_TARGET_ARM64) && \
|
||||
!defined(TCC_TARGET_RISCV64)
|
||||
/* already defined for assembler */
|
||||
DEF(TOK_ASM_push, "push")
|
||||
DEF(TOK_ASM_pop, "pop")
|
||||
|
@ -401,6 +402,8 @@
|
|||
DEF_ASMDIR(code32)
|
||||
#elif defined(TCC_TARGET_X86_64)
|
||||
DEF_ASMDIR(code64)
|
||||
#elif defined(TCC_TARGET_RISCV64)
|
||||
DEF_ASMDIR(option)
|
||||
#endif
|
||||
DEF_ASMDIR(short)
|
||||
DEF_ASMDIR(long)
|
||||
|
|
Loading…
Reference in a new issue