Dynamically allocate tbs.  Avoids branch range problems on RISC hosts.



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4555 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/exec.c b/exec.c
index 53bad8c..adbf7e5 100644
--- a/exec.c
+++ b/exec.c
@@ -84,7 +84,7 @@
 #define TARGET_PHYS_ADDR_SPACE_BITS 32
 #endif
 
-TranslationBlock tbs[CODE_GEN_MAX_BLOCKS];
+TranslationBlock *tbs;
 TranslationBlock *tb_phys_hash[CODE_GEN_PHYS_HASH_SIZE];
 int nb_tbs;
 /* any access to the tbs or the page table must use this lock */
@@ -335,6 +335,7 @@
 
     if (!code_gen_ptr) {
         cpu_gen_init();
+        tbs = qemu_malloc(CODE_GEN_MAX_BLOCKS * sizeof(TranslationBlock));
         code_gen_ptr = code_gen_buffer;
         page_init();
         io_mem_init();