Building stdlib/tst-setcontext.c fails with GCC mainline:
tst-setcontext.c: In function 'f2':
tst-setcontext.c:61:16: error: comparison between two arrays [-Werror=array-compare]
61 | if (on_stack < st2 || on_stack >= st2 + sizeof (st2))
| ^
tst-setcontext.c:61:16: note: use '&on_stack[0] < &st2[0]' to compare the addresses
The comparison in this case is deliberate, so adjust it as suggested
in that note.
Tested with build-many-glibcs.py (GCC mainline) for aarch64-linux-gnu.
I used these shell commands:
../glibc/scripts/update-copyrights $PWD/../gnulib/build-aux/update-copyright
(cd ../glibc && git commit -am"[this commit message]")
and then ignored the output, which consisted lines saying "FOO: warning:
copyright statement not found" for each of 6694 files FOO.
I then removed trailing white space from benchtests/bench-pthread-locks.c
and iconvdata/tst-iconv-big5-hkscs-to-2ucs4.c, to work around this
diagnostic from Savannah:
remote: *** pre-commit check failed ...
remote: *** error: lines with trailing whitespace found
remote: error: hook declined to update refs/heads/master
On aarch64 calling swapcontext clobbers the state of the signal
stack (BZ #16629). Check that the address and size of the signal
stack before and after the call to swapcontext remains the same.
ChangeLog:
2014-04-17 Will Newton <will.newton@linaro.org>
[BZ #16629]
* stdlib/tst-setcontext.c: Include signal.h.
(main): Check that the signal stack before and
after swapcontext is the same.
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-04-06 David Mosberger <davidm@hpl.hp.com>
* stdlib/tst-setcontext.c: Move st2[] to global scope.
(f2): Verify that stack pointer is inside st2[].
* sysdeps/unix/sysv/linux/ia64/getcontext.S: It helps to save r12.
* sysdeps/unix/sysv/linux/ia64/setcontext.S: It helps to restore r12.
2001-03-16 David Mosberger <davidm@hpl.hp.com>
* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h (struct sigcontext):
Drop hack that was needed for 2.1.1 kernel headers.
* sysdeps/unix/sysv/linux/ia64/ucontext_i.h: New file.
* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Rewrite to make it
overlay with kernel's "struct sigcontext".
* sysdeps/unix/sysv/linux/ia64/Makefile (sysdep_headers): Add
sys/rse.h for "misc" subdir.
(sysdep_routines): Add __start_context for "stdlib" subdir.
* sysdeps/unix/sysv/linux/ia64/sys/rse.h: New file (based on
kernel file of the same name).
* stdlib/Makefile (tests): Add tst-setcontext.
* stdlib/tst-setcontext.c: New file (based on a sample program by
Uli Drepper).
* sysdeps/unix/sysv/linux/ia64/setcontext.S: New file.
* sysdeps/unix/sysv/linux/ia64/getcontext.S: New file.
* sysdeps/unix/sysv/linux/ia64/__start_context.S: New file.
* sysdeps/unix/sysv/linux/ia64/makecontext.c: New file.
* sysdeps/unix/sysv/linux/ia64/__longjmp.S (__longjmp): Use extr.u
instead of shift & and.