Link ARM prologue closer to code segment to avoid a build failure

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4867 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
blueswir1 2008-07-10 17:21:31 +00:00
parent 815a674266
commit d03d860b15
2 changed files with 14 additions and 1 deletions

1
arm.ld
View File

@ -63,6 +63,7 @@ SECTIONS
. = ALIGN(0x100000) + (. & (0x100000 - 1));
.data :
{
*(.gen_code)
*(.data)
*(.gnu.linkonce.d*)
CONSTRUCTORS

14
exec.c
View File

@ -89,7 +89,19 @@ int nb_tbs;
/* any access to the tbs or the page table must use this lock */
spinlock_t tb_lock = SPIN_LOCK_UNLOCKED;
uint8_t code_gen_prologue[1024] __attribute__((aligned (32)));
#if defined(__arm__)
/* The prologue must be reachable with a direct jump. ARM has a
limited branch range (possibly also PPC and SPARC?) so place it in a
section close to code segment. */
#define code_gen_section \
__attribute__((__section__(".gen_code"))) \
__attribute__((aligned (32)))
#else
#define code_gen_section \
__attribute__((aligned (32)))
#endif
uint8_t code_gen_prologue[1024] code_gen_section;
uint8_t *code_gen_buffer;
unsigned long code_gen_buffer_size;
/* threshold to flush the translated code buffer */