glibc/sysdeps/unix/sysv/linux/mips/mips32
Gordana Cmiljanovic b309f058cf 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.
2017-06-13 21:34:45 +00:00
..
fpu posix: Implement preadv2 and pwritev2 2017-05-31 17:35:46 -03:00
mips16
nofpu posix: Implement preadv2 and pwritev2 2017-05-31 17:35:46 -03:00
Makefile mips: Fix store/load gp registers to/from ucontext_t 2017-06-13 21:34:45 +00:00
Versions
bug-getcontext-mips-gp.c mips: Fix store/load gp registers to/from ucontext_t 2017-06-13 21:34:45 +00:00
c++-types.data
fcntl.c
fxstatat.c
ld.abilist
libBrokenLocale.abilist
libanl.abilist
libcidn.abilist
libcrypt.abilist
libdl.abilist
libm.abilist
libnsl.abilist
libnss_compat.abilist
libnss_db.abilist
libnss_dns.abilist
libnss_files.abilist
libnss_hesiod.abilist
libnss_nis.abilist
libnss_nisplus.abilist
libpthread.abilist
libresolv.abilist
librt.abilist
libthread_db.abilist
libutil.abilist
lockf64.c
readahead.c
syscalls.list
sysdep.h