Commit Graph

13 Commits

Author SHA1 Message Date
Joseph Myers
bfff8b1bec Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Joseph Myers
f07820b7d1 Make SH ucontext always match current kernels.
As discussed in the thread starting at
<https://sourceware.org/ml/libc-alpha/2015-06/msg00657.html>, there
are various problems with the sigcontext / mcontext / ucontext
structures on SH.  The soft-float SH4 case in fact does not build at
present, with errors processing
sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym with gen-as-const.awk
("error: 'mcontext_t {aka struct <anonymous>}' has no member named
'fpregs'").

Linux 4.8 (commit bbe6c77857c38f4acbdc4fc70399515226d1859a) moved to
always using the same sigcontext structure on SH, with room for
floating-point registers whether or not present on the processor.
This patch makes the glibc header match.

Tested (compilation only) for sh4-linux-gnu hard float, and in
conjunction with other fixes for soft float.

	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h [__SH4__ || __SH4A__]:
	Make code unconditional.
	[!(__SH4__ || __SH4A__)]: Remove conditional code.
2016-11-15 21:44:36 +00:00
Zack Weinberg
c66b29f9cc Installed-header hygiene (BZ#20366): stack_t.
sys/ucontext.h unconditionally uses stack_t, and it does not make
sense to change that.  But signal.h only declares stack_t under
__USE_XOPEN_EXTENDED || __USE_XOPEN2K8.  The actual definition is
already in a bits header, bits/sigstack.h, but that header insists on
only being included by signal.h, so we have to change that as well as
all of the sys/ucontext.h variants.  (Some but not all variants of
bits/sigcontext.h, which sys/ucontext.h may also need, had already
received this adjustment; for consistency, I made them all the same,
even if that's not strictly necessary in some configurations.)
bits/sigcontext.h and bits/sigstack.h also all need to receive
multiple inclusion guards.

	* sysdeps/generic/sys/ucontext.h
	* sysdeps/arm/sys/ucontext.h
	* sysdeps/i386/sys/ucontext.h
	* sysdeps/m68k/sys/ucontext.h
	* sysdeps/mips/sys/ucontext.h
	* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h
	* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h
	* sysdeps/unix/sysv/linux/arm/sys/ucontext.h
	* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h
	* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h
	* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h
	* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
	* sysdeps/unix/sysv/linux/s390/sys/ucontext.h
	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h
	* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h
	* sysdeps/unix/sysv/linux/tile/sys/ucontext.h
	* sysdeps/unix/sysv/linux/x86/sys/ucontext.h:
	Include both bits/sigcontext.h and bits/sigstack.h.
	Fix grammar error in comment, if present.

	* bits/sigstack.h
	* sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h
	* sysdeps/unix/sysv/linux/alpha/bits/sigstack.h
	* sysdeps/unix/sysv/linux/bits/sigstack.h
	* sysdeps/unix/sysv/linux/ia64/bits/sigstack.h
	* sysdeps/unix/sysv/linux/mips/bits/sigstack.h
	* sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h
	* sysdeps/unix/sysv/linux/sparc/bits/sigstack.h
	* bits/sigcontext.h
	* sysdeps/mach/hurd/i386/bits/sigcontext.h
	* sysdeps/unix/sysv/linux/bits/sigcontext.h
	* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h
	* sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h:
	Add multiple inclusion guard.  Permit inclusion by sys/ucontext.h
	as well as signal.h, if this was not already allowed.  Request
	definition of size_t if necessary.  Minimize semantically-null
	differences across files.
2016-09-23 08:43:56 -04:00
Joseph Myers
f7a9f785e5 Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Joseph Myers
b168057aaa Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Kaz Kojima
0bad441c77 Restore ucontext ABI for soft-float sh4. 2014-01-24 12:56:12 +09:00
Kaz Kojima
7007c661ad Adjust SH specific fpu_control.h and ucontext.h files. 2014-01-23 14:22:58 +09:00
Ulrich Drepper
76e95c8899 * sysdeps/unix/sysv/linux/sh/makecontext.S: New file.
* sysdeps/unix/sysv/linux/sh/sh3/getcontext.S: New file.
	* sysdeps/unix/sysv/linux/sh/sh4/getcontext.S: New file.
	* sysdeps/unix/sysv/linux/sh/sh3/setcontext.S: New file.
	* sysdeps/unix/sysv/linux/sh/sh4/setcontext.S: New file.
	* sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S: New file.
	* sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S: New file.
	* sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.h: New file.
	* sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.h: New file.
	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Removed.
	* sysdeps/unix/sysv/linux/sh/sh3/sys/ucontext.h: New file.
	* sysdeps/unix/sysv/linux/sh/sh4/sys/ucontext.h: New file.
2005-10-16 15:49:27 +00:00
Ulrich Drepper
a334319f65 (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. 2004-12-22 20:10:10 +00:00
Jakub Jelinek
0ecb606cb6 2.5-18.1 2007-07-12 18:26:36 +00:00
Andreas Jaeger
41bdb6e20c Update to LGPL v2.1.
2001-07-06  Paul Eggert  <eggert@twinsun.com>

	* manual/argp.texi: Remove ignored LGPL copyright notice; it's
	not appropriate for documentation anyway.
	* manual/libc-texinfo.sh: "Library General Public License" ->
	"Lesser General Public License".

2001-07-06  Andreas Jaeger  <aj@suse.de>

	* All files under GPL/LGPL version 2: Place under LGPL version
	2.1.
2001-07-06 04:58:11 +00:00
Ulrich Drepper
601ecd316f Rename to NFPREG. 2001-03-27 17:19:37 +00:00
Ulrich Drepper
3846ef75cf Update.
2000-06-12  Kazumoto Kojima  <kkojima@rr.iij4u.or.jp>
	    Yutaka Niibe  <gniibe@chroot.org>

	* sysdeps/sh/Dist: New file.
	* sysdeps/sh/Implies: New file.
	* sysdeps/sh/gmp-mparam.h: New file.
	* sysdeps/sh/init-first.c: New file.
	* sysdeps/sh/machine-gmon.h: New file.
	* sysdeps/sh/memcpy.S: New file.
	* sysdeps/sh/memprof.h: New file.
	* sysdeps/sh/memset.S: New file.
	* sysdeps/sh/sh3/__longjmp.S: New file.
	* sysdeps/sh/sh3/bits/endian.h: New file.
	* sysdeps/sh/sh3/bits/huge_val.h: New file.
	* sysdeps/sh/sh3/bits/setjmp.h: New file.
	* sysdeps/sh/sh3/bsd-_setjmp.S: New file.
	* sysdeps/sh/sh3/bsd-setjmp.S: New file.
	* sysdeps/sh/sh3/dl-machine.h: New file.
	* sysdeps/sh/sh3/elf/initfini.c: New file.
	* sysdeps/sh/sh3/elf/start.S: New file.
	* sysdeps/sh/sh3/setjmp.S: New file.
	* sysdeps/sh/sh3/sys/ucontext.h: New file.
	* sysdeps/sh/sh4/__longjmp.S: New file.
	* sysdeps/sh/sh4/bits/endian.h: New file.
	* sysdeps/sh/sh4/bits/huge_val.h: New file.
	* sysdeps/sh/sh4/bits/setjmp.h: New file.
	* sysdeps/sh/sh4/bsd-_setjmp.S: New file.
	* sysdeps/sh/sh4/bsd-setjmp.S: New file.
	* sysdeps/sh/sh4/dl-machine.h: New file.
	* sysdeps/sh/sh4/elf/initfini.c: New file.
	* sysdeps/sh/sh4/elf/start.S: New file.
	* sysdeps/sh/sh4/fpu/bits/fenv.h: New file.
	* sysdeps/sh/sh4/fpu/bits/huge_val.h: New file.
	* sysdeps/sh/sh4/fpu/bits/mathdef.h: New file.
	* sysdeps/sh/sh4/fpu/fclrexcpt.c: New file.
	* sysdeps/sh/sh4/fpu/fegetenv.c: New file.
	* sysdeps/sh/sh4/fpu/fegetround.c: New file.
	* sysdeps/sh/sh4/fpu/feholdexcpt.c: New file.
	* sysdeps/sh/sh4/fpu/fesetenv.c: New file.
	* sysdeps/sh/sh4/fpu/fesetround.c: New file.
	* sysdeps/sh/sh4/fpu/fpu_control.h: New file.
	* sysdeps/sh/sh4/fpu/fraiseexcpt.c: New file.
	* sysdeps/sh/sh4/fpu/fsetexcptflg.c: New file.
	* sysdeps/sh/sh4/fpu/ftestexcept.c: New file.
	* sysdeps/sh/sh4/fpu/libm-test-ulps: New file.
	* sysdeps/sh/sh4/setjmp.S: New file.
	* sysdeps/sh/sh4/sys/ucontext.h: New file.
	* sysdeps/sh/strlen.S: New file.
	* sysdeps/sh/sysdep.h: New file.
	* sysdeps/unix/sh/sysdep.S: New file.
	* sysdeps/unix/sh/sysdep.h: New file.
	* sysdeps/unix/sysv/linux/sh/Dist: New file.
	* sysdeps/unix/sysv/linux/sh/Makefile: New file.
	* sysdeps/unix/sysv/linux/sh/Versions: New file.
	* sysdeps/unix/sysv/linux/sh/bits/mman.h: New file.
	* sysdeps/unix/sysv/linux/sh/bits/resource.h: New file.
	* sysdeps/unix/sysv/linux/sh/brk.c: New file.
	* sysdeps/unix/sysv/linux/sh/chown.c: New file.
	* sysdeps/unix/sysv/linux/sh/clone.S: New file.
	* sysdeps/unix/sysv/linux/sh/fchown.c: New file.
	* sysdeps/unix/sysv/linux/sh/fxstat.c: New file.
	* sysdeps/unix/sysv/linux/sh/getegid.c: New file.
	* sysdeps/unix/sysv/linux/sh/geteuid.c: New file.
	* sysdeps/unix/sysv/linux/sh/getgroups.c: New file.
	* sysdeps/unix/sysv/linux/sh/getresgid.c: New file.
	* sysdeps/unix/sysv/linux/sh/getresuid.c: New file.
	* sysdeps/unix/sysv/linux/sh/getrlimit.c: New file.
	* sysdeps/unix/sysv/linux/sh/getrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/sh/getuid.c: New file.
	* sysdeps/unix/sysv/linux/sh/lchown.c: New file.
	* sysdeps/unix/sysv/linux/sh/lxstat.c: New file.
	* sysdeps/unix/sysv/linux/sh/msgctl.c: New file.
	* sysdeps/unix/sysv/linux/sh/oldgetrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/sh/pipe.S: New file.
	* sysdeps/unix/sysv/linux/sh/profil-counter.h: New file.
	* sysdeps/unix/sysv/linux/sh/semctl.c: New file.
	* sysdeps/unix/sysv/linux/sh/setegid.c: New file.
	* sysdeps/unix/sysv/linux/sh/seteuid.c: New file.
	* sysdeps/unix/sysv/linux/sh/setfsgid.c: New file.
	* sysdeps/unix/sysv/linux/sh/setfsuid.c: New file.
	* sysdeps/unix/sysv/linux/sh/setgid.c: New file.
	* sysdeps/unix/sysv/linux/sh/setgroups.c: New file.
	* sysdeps/unix/sysv/linux/sh/setregid.c: New file.
	* sysdeps/unix/sysv/linux/sh/setresgid.c: New file.
	* sysdeps/unix/sysv/linux/sh/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/sh/setreuid.c: New file.
	* sysdeps/unix/sysv/linux/sh/setrlimit.c: New file.
	* sysdeps/unix/sysv/linux/sh/setuid.c: New file.
	* sysdeps/unix/sysv/linux/sh/sh3/register-dump.h: New file.
	* sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: New file.
	* sysdeps/unix/sysv/linux/sh/shmctl.c: New file.
	* sysdeps/unix/sysv/linux/sh/sigcontextinfo.h: New file.
	* sysdeps/unix/sysv/linux/sh/socket.S: New file.
	* sysdeps/unix/sysv/linux/sh/sys/io.h: New file.
	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: New file.
	* sysdeps/unix/sysv/linux/sh/sys/user.h: New file.
	* sysdeps/unix/sysv/linux/sh/syscalls.list: New file.
	* sysdeps/unix/sysv/linux/sh/sysdep.S: New file.
	* sysdeps/unix/sysv/linux/sh/sysdep.h: New file.
	* sysdeps/unix/sysv/linux/sh/vfork.S: New file.
	* sysdeps/unix/sysv/linux/sh/xstat.c: New file.
2000-06-12 20:50:37 +00:00