Port libc_r to amd64, and turn it back on for amd64. It passes all of

the same src/lib/libc_r/test/* tests that the other platforms pass.
This commit is contained in:
Peter Wemm
2003-06-02 22:22:52 +00:00
parent b8f8813c6e
commit 3aefe09423
3 changed files with 21 additions and 2 deletions
+2 -1
View File
@@ -42,10 +42,11 @@ _csu=csu
.if ${MACHINE_ARCH} != "amd64"
_libstand= libstand
.endif
.if !defined(NOLIBC_R)
_libc_r= libc_r
.endif
.endif
.if !defined(NO_BIND)
_libbind= libbind
+18
View File
@@ -87,6 +87,24 @@
__asm__("frstor %0": :"m"(*fdata)); \
} while (0)
#define SET_RETURN_ADDR_JB(jb, ra) (jb)[0]._jb[0] = (int)(ra)
#elif defined(__amd64__)
#define GET_STACK_JB(jb) ((unsigned long)((jb)[0]._jb[2]))
#define GET_STACK_SJB(sjb) ((unsigned long)((sjb)[0]._sjb[2]))
#define GET_STACK_UC(ucp) ((unsigned long)((ucp)->uc_mcontext.mc_rsp))
#define SET_STACK_JB(jb, stk) (jb)[0]._jb[2] = (long)(stk)
#define SET_STACK_SJB(sjb, stk) (sjb)[0]._sjb[2] = (long)(stk)
#define SET_STACK_UC(ucp, stk) (ucp)->uc_mcontext.mc_rsp = (long)(stk)
#define FP_SAVE_UC(ucp) do { \
char *fdata; \
fdata = (char *) (ucp)->uc_mcontext.mc_fpstate; \
__asm__("fxsave %0": :"m"(*fdata)); \
} while (0)
#define FP_RESTORE_UC(ucp) do { \
char *fdata; \
fdata = (char *) (ucp)->uc_mcontext.mc_fpstate; \
__asm__("fxrstor %0": :"m"(*fdata)); \
} while (0)
#define SET_RETURN_ADDR_JB(jb, ra) (jb)[0]._jb[0] = (long)(ra)
#elif defined(__alpha__)
#include <machine/reg.h>
#define GET_STACK_JB(jb) ((unsigned long)((jb)[0]._jb[R_SP + 4]))
+1 -1
View File
@@ -141,7 +141,7 @@ SUBDIR+=ipftest \
iptest
.endif
.if !defined(NOLIBC_R) && ${MACHINE_ARCH} != "amd64"
.if !defined(NOLIBC_R)
SUBDIR+=pppctl
.endif