mirror of
https://github.com/qemu/qemu.git
synced 2024-11-23 19:03:38 +08:00
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:
parent
815a674266
commit
d03d860b15
1
arm.ld
1
arm.ld
@ -63,6 +63,7 @@ SECTIONS
|
||||
. = ALIGN(0x100000) + (. & (0x100000 - 1));
|
||||
.data :
|
||||
{
|
||||
*(.gen_code)
|
||||
*(.data)
|
||||
*(.gnu.linkonce.d*)
|
||||
CONSTRUCTORS
|
||||
|
14
exec.c
14
exec.c
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user