summary refs log tree commit diff
path: root/sysdeps/powerpc/tst-tlsopt-powerpc.c
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 /sysdeps/powerpc/tst-tlsopt-powerpc.c
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 'sysdeps/powerpc/tst-tlsopt-powerpc.c')
0 files changed, 0 insertions, 0 deletions