aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2015-01-06 02:23:50 -0800
committerAndrew Waterman <waterman@cs.berkeley.edu>2015-01-06 02:23:50 -0800
commitc4923f58a887640ee640e720a605cd053171ae60 (patch)
treea82ef4cf2c53038f5939f1dbf22f39632956abc7
parent64ddcec132b1a85def4bb73dc989ada9cf86de16 (diff)
downloadriscv-gnu-toolchain-c4923f58a887640ee640e720a605cd053171ae60.zip
riscv-gnu-toolchain-c4923f58a887640ee640e720a605cd053171ae60.tar.gz
riscv-gnu-toolchain-c4923f58a887640ee640e720a605cd053171ae60.tar.bz2
glibc, newlib: don't save/restore tp on get/setcontext
Thread-local storage shouldn't be affected by these calls.
-rw-r--r--glibc/sysdeps/riscv/__longjmp.S1
-rw-r--r--glibc/sysdeps/riscv/setjmp.S1
-rw-r--r--glibc/sysdeps/unix/sysv/linux/riscv/getcontext.S1
-rw-r--r--glibc/sysdeps/unix/sysv/linux/riscv/setcontext.S1
-rw-r--r--glibc/sysdeps/unix/sysv/linux/riscv/swapcontext.S2
-rw-r--r--newlib/newlib/libc/machine/riscv/setjmp.S2
6 files changed, 0 insertions, 8 deletions
diff --git a/glibc/sysdeps/riscv/__longjmp.S b/glibc/sysdeps/riscv/__longjmp.S
index 0432c34..52385c9 100644
--- a/glibc/sysdeps/riscv/__longjmp.S
+++ b/glibc/sysdeps/riscv/__longjmp.S
@@ -35,7 +35,6 @@ ENTRY (__longjmp)
REG_L s10,11*SZREG(a0)
REG_L s11,12*SZREG(a0)
REG_L sp, 13*SZREG(a0)
- REG_L tp, 14*SZREG(a0)
#ifdef __riscv_hard_float
REG_L a3, 15*SZREG(a0)
diff --git a/glibc/sysdeps/riscv/setjmp.S b/glibc/sysdeps/riscv/setjmp.S
index 0ffa9cc..33dfd6f 100644
--- a/glibc/sysdeps/riscv/setjmp.S
+++ b/glibc/sysdeps/riscv/setjmp.S
@@ -43,7 +43,6 @@ ENTRY (__sigsetjmp)
REG_S s10,11*SZREG(a0)
REG_S s11,12*SZREG(a0)
REG_S sp, 13*SZREG(a0)
- REG_S tp, 14*SZREG(a0)
#ifdef __riscv_hard_float
frsr a3
diff --git a/glibc/sysdeps/unix/sysv/linux/riscv/getcontext.S b/glibc/sysdeps/unix/sysv/linux/riscv/getcontext.S
index 431abbe..c5d5b72 100644
--- a/glibc/sysdeps/unix/sysv/linux/riscv/getcontext.S
+++ b/glibc/sysdeps/unix/sysv/linux/riscv/getcontext.S
@@ -30,7 +30,6 @@ LEAF (__getcontext)
REG_S ra, MCONTEXT_PC(a0)
REG_S ra, ( 1 * SZREG + MCONTEXT_GREGS)(a0)
REG_S sp, ( 2 * SZREG + MCONTEXT_GREGS)(a0)
- REG_S tp, ( 4 * SZREG + MCONTEXT_GREGS)(a0)
REG_S s0, ( 8 * SZREG + MCONTEXT_GREGS)(a0)
REG_S s1, ( 9 * SZREG + MCONTEXT_GREGS)(a0)
REG_S s2, (18 * SZREG + MCONTEXT_GREGS)(a0)
diff --git a/glibc/sysdeps/unix/sysv/linux/riscv/setcontext.S b/glibc/sysdeps/unix/sysv/linux/riscv/setcontext.S
index eca5ff1..64752b4 100644
--- a/glibc/sysdeps/unix/sysv/linux/riscv/setcontext.S
+++ b/glibc/sysdeps/unix/sysv/linux/riscv/setcontext.S
@@ -65,7 +65,6 @@ LEAF (__setcontext)
REG_L t1, MCONTEXT_PC(t0)
REG_L ra, ( 1 * SZREG + MCONTEXT_GREGS)(t0)
REG_L sp, ( 2 * SZREG + MCONTEXT_GREGS)(t0)
- REG_L tp, ( 4 * SZREG + MCONTEXT_GREGS)(t0)
REG_L s0, ( 8 * SZREG + MCONTEXT_GREGS)(t0)
REG_L s1, ( 9 * SZREG + MCONTEXT_GREGS)(t0)
REG_L a0, (10 * SZREG + MCONTEXT_GREGS)(t0)
diff --git a/glibc/sysdeps/unix/sysv/linux/riscv/swapcontext.S b/glibc/sysdeps/unix/sysv/linux/riscv/swapcontext.S
index 09c5c18..85e3248 100644
--- a/glibc/sysdeps/unix/sysv/linux/riscv/swapcontext.S
+++ b/glibc/sysdeps/unix/sysv/linux/riscv/swapcontext.S
@@ -31,7 +31,6 @@ LEAF (__swapcontext)
REG_S ra, MCONTEXT_PC(a0)
REG_S ra, ( 1 * SZREG + MCONTEXT_GREGS)(a0)
REG_S sp, ( 2 * SZREG + MCONTEXT_GREGS)(a0)
- REG_S tp, ( 4 * SZREG + MCONTEXT_GREGS)(a0)
REG_S s0, ( 8 * SZREG + MCONTEXT_GREGS)(a0)
REG_S s1, ( 9 * SZREG + MCONTEXT_GREGS)(a0)
REG_S s2, (18 * SZREG + MCONTEXT_GREGS)(a0)
@@ -99,7 +98,6 @@ LEAF (__swapcontext)
REG_L t1, MCONTEXT_PC(t0)
REG_L ra, ( 1 * SZREG + MCONTEXT_GREGS)(t0)
REG_L sp, ( 2 * SZREG + MCONTEXT_GREGS)(t0)
- REG_L tp, ( 4 * SZREG + MCONTEXT_GREGS)(t0)
REG_L s0, ( 8 * SZREG + MCONTEXT_GREGS)(t0)
REG_L s1, ( 9 * SZREG + MCONTEXT_GREGS)(t0)
REG_L a0, (10 * SZREG + MCONTEXT_GREGS)(t0)
diff --git a/newlib/newlib/libc/machine/riscv/setjmp.S b/newlib/newlib/libc/machine/riscv/setjmp.S
index 2ddc59f..377435b 100644
--- a/newlib/newlib/libc/machine/riscv/setjmp.S
+++ b/newlib/newlib/libc/machine/riscv/setjmp.S
@@ -25,7 +25,6 @@ setjmp:
REG_S s10,11*SZREG(a0)
REG_S s11,12*SZREG(a0)
REG_S sp, 13*SZREG(a0)
- REG_S tp, 14*SZREG(a0)
#ifdef __riscv_hard_float
frsr a3
@@ -66,7 +65,6 @@ longjmp:
REG_L s10,11*SZREG(a0)
REG_L s11,12*SZREG(a0)
REG_L sp, 13*SZREG(a0)
- REG_L tp, 14*SZREG(a0)
#ifdef __riscv_hard_float
REG_L a3, 15*SZREG(a0)