diff options
author | Andrew Hsieh <andrewhsieh@google.com> | 2012-06-11 20:03:02 -0700 |
---|---|---|
committer | android code review <noreply-gerritcodereview@google.com> | 2012-06-11 20:03:03 -0700 |
commit | 870f03672ca3513fe5d666f425942fda651f30ec (patch) | |
tree | edb8492d6181a99db7a38337ee2239c06d97661e /tcg/tcg.c | |
parent | 32167ca6cd795b619f4327d83f643a0805735ead (diff) | |
parent | 0b3979707c09e058442c22d046b326ce244edda1 (diff) | |
download | external_qemu-870f03672ca3513fe5d666f425942fda651f30ec.zip external_qemu-870f03672ca3513fe5d666f425942fda651f30ec.tar.gz external_qemu-870f03672ca3513fe5d666f425942fda651f30ec.tar.bz2 |
Merge "Force emulator to quit if it's built w/o global register variable support"
Diffstat (limited to 'tcg/tcg.c')
-rw-r--r-- | tcg/tcg.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -2030,6 +2030,15 @@ static inline int tcg_gen_code_common(TCGContext *s, uint8_t *gen_code_buf, unsigned int tpc2gpc_index = 0; #endif // CONFIG_MEMCHECK +#if !SUPPORT_GLOBAL_REGISTER_VARIABLE + printf("ERROR: This emulator is built by compiler without global register variable\n" + "support! Emulator reserves a register to point to target architecture state\n" + "for better code generation. LLVM-based compilers such as clang and llvm-gcc\n" + "currently don't support global register variable. Please see\n" + "http://source.android.com/source/initializing.html for detail.\n\n"); + tcg_abort(); +#endif + #ifdef DEBUG_DISAS if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP))) { qemu_log("OP:\n"); |