diff options
author | rsc <devnull@localhost> | 2004-08-22 15:39:56 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-08-22 15:39:56 +0000 |
commit | 984e353160593b20d1e2944e1f2e9ce2117c8490 (patch) | |
tree | d7347f9d2ffa06d1033fb41712257a2001fd4d57 /src/libthread | |
parent | c8c0df440f1a22effd43023368c801e1351e31ed (diff) | |
download | plan9port-984e353160593b20d1e2944e1f2e9ce2117c8490.tar.gz plan9port-984e353160593b20d1e2944e1f2e9ce2117c8490.tar.bz2 plan9port-984e353160593b20d1e2944e1f2e9ce2117c8490.zip |
PowerPC Linux support from ericvh.
Mainly adding va_copy/va_end.
Also fix bug in sprint wrapping
around top of memory.
Diffstat (limited to 'src/libthread')
-rw-r--r-- | src/libthread/label.h | 15 | ||||
-rw-r--r-- | src/libthread/mkfile | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/libthread/label.h b/src/libthread/label.h index 5161e373..c3cef2d0 100644 --- a/src/libthread/label.h +++ b/src/libthread/label.h @@ -40,6 +40,21 @@ struct Label ulong sp; /* %o6 */ ulong link; /* %o7 */ }; +#elif defined(__powerpc__) +struct Label +{ + ulong pc; /* lr */ + ulong cr; /* mfcr */ + ulong ctr; /* mfcr */ + ulong xer; /* mfcr */ + ulong sp; /* callee saved: r1 */ + ulong toc; /* callee saved: r2 */ + ulong gpr[19]; /* callee saved: r13-r31 */ +// XXX: currently do not save vector registers or floating-point state +// ulong pad; +// uvlong fpr[18]; /* callee saved: f14-f31 */ +// ulong vr[4*12]; /* callee saved: v20-v31, 256-bits each */ +}; #else #error "Unknown or unsupported architecture" #endif diff --git a/src/libthread/mkfile b/src/libthread/mkfile index f8ec8e80..221cb818 100644 --- a/src/libthread/mkfile +++ b/src/libthread/mkfile @@ -53,6 +53,7 @@ trend: trend.$O $PLAN9/lib/$LIB CLEANFILES=$CLEANFILES tprimes texec +asm-Linux-ppc.$O: asm-Linux-386.s asm-Linux-386.$O: asm-FreeBSD-386.s asm-NetBSD-386.$O: asm-FreeBSD-386.s asm-OpenBSD-386.$O: asm-FreeBSD-386.s |