about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorGordana Cmiljanovic <Gordana.Cmiljanovic@imgtec.com>2017-06-13 21:34:45 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-06-13 21:34:45 +0000
commitb309f058cf7639951bebb86270ffbc116ea5f720 (patch)
treebd42dec0d4649a94e18384bf0294f3c473a6aa83 /ChangeLog
parentc2528fef3b05bcffb1ac27c6c09cc3ff24b7f03f (diff)
downloadglibc-b309f058cf7639951bebb86270ffbc116ea5f720.tar.gz
glibc-b309f058cf7639951bebb86270ffbc116ea5f720.tar.xz
glibc-b309f058cf7639951bebb86270ffbc116ea5f720.zip
mips: Fix store/load gp registers to/from ucontext_t
General purpose registers in mcontext_t structure
are 8 bytes long for both MIPS32/MIPS64.

get/set/make/swap context implementations for MIPS O32
incorrectly assume that general purpose registers
in this structure are 4 bytes long.

This patch is fixing that.

Tested for MIPS O32 LE and BE.
Compared objdump of modified functions for mips n32 and mips n64.

	[BZ #21548]
	* sysdeps/unix/sysv/linux/mips/getcontext.S: Define MCONTEXT_SZGREG as
	8 and use it when copying general purpose registers.
	* sysdeps/unix/sysv/linux/mips/makecontext.S: Likewise.
	* sysdeps/unix/sysv/linux/mips/mips32/Makefile: Include new test for
	mips o32.
	* sysdeps/unix/sysv/linux/mips/mips32/bug-getcontext-mips-gp.c: Added
	new test for mips o32.
	* sysdeps/unix/sysv/linux/mips/setcontext.S: Define MCONTEXT_SZGREG as
	8 and use it when copying general purpose registers.
	* sysdeps/unix/sysv/linux/mips/swapcontext.S: Likewise.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog14
1 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c86ab8781c..1715e9104a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2017-06-13  Gordana Cmiljanovic  <gordana.cmiljanovic@imgtec.com>
+
+	[BZ #21548]
+	* sysdeps/unix/sysv/linux/mips/getcontext.S: Define MCONTEXT_SZGREG as
+	8 and use it when copying general purpose registers.
+	* sysdeps/unix/sysv/linux/mips/makecontext.S: Likewise.
+	* sysdeps/unix/sysv/linux/mips/mips32/Makefile: Include new test for
+	mips o32.
+	* sysdeps/unix/sysv/linux/mips/mips32/bug-getcontext-mips-gp.c: Added
+	new test for mips o32.
+	* sysdeps/unix/sysv/linux/mips/setcontext.S: Define MCONTEXT_SZGREG as
+	8 and use it when copying general purpose registers.
+	* sysdeps/unix/sysv/linux/mips/swapcontext.S: Likewise.
+
 2017-06-13  Florian Weimer  <fweimer@redhat.com>
 
 	* configure.ac (find_cxx_header): Suppress compiler error message.