mapi: declare x86_entry_start/end static

x86_entry_start and x86_entry_end are defined by the inline assembly.
Declaring them static saves one instruction in entry_get_public.
This commit is contained in:
Chia-I Wu
2011-06-13 11:41:41 +08:00
parent 3e1caf5d26
commit 77b7e1b58f
2 changed files with 6 additions and 5 deletions
+3 -3
View File
@@ -86,12 +86,13 @@ __asm__(".text");
extern unsigned long
x86_current_tls();
static char x86_entry_start[];
static char x86_entry_end[];
void
entry_patch_public(void)
{
#ifndef GLX_X86_READONLY_TEXT
extern char x86_entry_start[];
extern char x86_entry_end[];
char patch[8] = {
0x65, 0xa1, 0x00, 0x00, 0x00, 0x00, /* movl %gs:0x0, %eax */
0x90, 0x90 /* nop's */
@@ -108,7 +109,6 @@ entry_patch_public(void)
mapi_func
entry_get_public(int slot)
{
extern char x86_entry_start[];
return (mapi_func) (x86_entry_start + slot * 16);
}
+3 -2
View File
@@ -60,6 +60,9 @@ __asm__(".balign 32\n"
#include <string.h>
#include "u_execmem.h"
static const char x86_entry_start[];
static const char x86_entry_end[];
void
entry_patch_public(void)
{
@@ -68,7 +71,6 @@ entry_patch_public(void)
mapi_func
entry_get_public(int slot)
{
extern const char x86_entry_start[];
return (mapi_func) (x86_entry_start + slot * X86_ENTRY_SIZE);
}
@@ -84,7 +86,6 @@ entry_patch(mapi_func entry, int slot)
mapi_func
entry_generate(int slot)
{
extern const char x86_entry_end[];
const char *code_templ = x86_entry_end - X86_ENTRY_SIZE;
void *code;
mapi_func entry;