For syscalls that are renamed to _thread_sys_foo, create a weak alias
called _foo, not _thread_sys_foo.
This commit is contained in:
parent
a4fec20898
commit
cabdf9cef3
|
@ -104,7 +104,7 @@ END(___CONCAT(_thread_sys_,name))
|
||||||
|
|
||||||
#define PSYSCALL(name) \
|
#define PSYSCALL(name) \
|
||||||
PLEAF(name,0); /* XXX # of args? */ \
|
PLEAF(name,0); /* XXX # of args? */ \
|
||||||
WEAK_ALIAS(__CONCAT(_thread_sys_,name), name); \
|
WEAK_ALIAS(__CONCAT(_,name), name); \
|
||||||
CALLSYS_ERROR(name)
|
CALLSYS_ERROR(name)
|
||||||
|
|
||||||
#define PRSYSCALL(name) \
|
#define PRSYSCALL(name) \
|
||||||
|
@ -115,7 +115,7 @@ PEND(name)
|
||||||
|
|
||||||
#define PPSEUDO(label,name) \
|
#define PPSEUDO(label,name) \
|
||||||
PLEAF(label,0); /* XXX # of args? */ \
|
PLEAF(label,0); /* XXX # of args? */ \
|
||||||
WEAK_ALIAS(__CONCAT(_thread_sys_,name), name); \
|
WEAK_ALIAS(__CONCAT(_,name), name); \
|
||||||
CALLSYS_ERROR(name); \
|
CALLSYS_ERROR(name); \
|
||||||
RET; \
|
RET; \
|
||||||
PEND(label)
|
PEND(label)
|
||||||
|
|
|
@ -71,15 +71,15 @@
|
||||||
* For the thread_safe versions, we prepend _thread_sys_ to the function
|
* For the thread_safe versions, we prepend _thread_sys_ to the function
|
||||||
* name so that the 'C' wrapper can go around the real name.
|
* name so that the 'C' wrapper can go around the real name.
|
||||||
*/
|
*/
|
||||||
#define PSYSCALL(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \
|
#define PSYSCALL(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \
|
||||||
ENTRY(__CONCAT(_thread_sys_,x)); \
|
ENTRY(__CONCAT(_thread_sys_,x)); \
|
||||||
.weak CNAME(x); \
|
.weak CNAME(x); \
|
||||||
.set CNAME(x),CNAME(__CONCAT(_thread_sys_,x)); \
|
.set CNAME(x),CNAME(__CONCAT(_,x)); \
|
||||||
lea __CONCAT(SYS_,x),%eax; KERNCALL; jb 2b
|
lea __CONCAT(SYS_,x),%eax; KERNCALL; jb 2b
|
||||||
#define PRSYSCALL(x) PSYSCALL(x); ret
|
#define PRSYSCALL(x) PSYSCALL(x); ret
|
||||||
#define PPSEUDO(x,y) ENTRY(__CONCAT(_thread_sys_,x)); \
|
#define PPSEUDO(x,y) ENTRY(__CONCAT(_thread_sys_,x)); \
|
||||||
.weak CNAME(x); \
|
.weak CNAME(x); \
|
||||||
.set CNAME(x),CNAME(__CONCAT(_thread_sys_,x)); \
|
.set CNAME(x),CNAME(__CONCAT(_,x)); \
|
||||||
lea __CONCAT(SYS_,y), %eax; KERNCALL; ret
|
lea __CONCAT(SYS_,y), %eax; KERNCALL; ret
|
||||||
#else
|
#else
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -71,15 +71,15 @@
|
||||||
* For the thread_safe versions, we prepend _thread_sys_ to the function
|
* For the thread_safe versions, we prepend _thread_sys_ to the function
|
||||||
* name so that the 'C' wrapper can go around the real name.
|
* name so that the 'C' wrapper can go around the real name.
|
||||||
*/
|
*/
|
||||||
#define PSYSCALL(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \
|
#define PSYSCALL(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \
|
||||||
ENTRY(__CONCAT(_thread_sys_,x)); \
|
ENTRY(__CONCAT(_thread_sys_,x)); \
|
||||||
.weak CNAME(x); \
|
.weak CNAME(x); \
|
||||||
.set CNAME(x),CNAME(__CONCAT(_thread_sys_,x)); \
|
.set CNAME(x),CNAME(__CONCAT(_,x)); \
|
||||||
lea __CONCAT(SYS_,x),%eax; KERNCALL; jb 2b
|
lea __CONCAT(SYS_,x),%eax; KERNCALL; jb 2b
|
||||||
#define PRSYSCALL(x) PSYSCALL(x); ret
|
#define PRSYSCALL(x) PSYSCALL(x); ret
|
||||||
#define PPSEUDO(x,y) ENTRY(__CONCAT(_thread_sys_,x)); \
|
#define PPSEUDO(x,y) ENTRY(__CONCAT(_thread_sys_,x)); \
|
||||||
.weak CNAME(x); \
|
.weak CNAME(x); \
|
||||||
.set CNAME(x),CNAME(__CONCAT(_thread_sys_,x)); \
|
.set CNAME(x),CNAME(__CONCAT(_,x)); \
|
||||||
lea __CONCAT(SYS_,y), %eax; KERNCALL; ret
|
lea __CONCAT(SYS_,y), %eax; KERNCALL; ret
|
||||||
#else
|
#else
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue