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:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user