summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Mathieu Desnoyers [Tue, 23 Apr 2019 18:25:35 +0000 (14:25 -0400)]
Extend extra/README
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Michael Jeanson [Mon, 22 Apr 2019 20:46:37 +0000 (16:46 -0400)]
Add embedded rseq/opv headers for test builds
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Apr 2019 15:37:30 +0000 (11:37 -0400)]
rseq: set refcount back to 1 on unregister failure
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Michael Jeanson [Mon, 22 Apr 2019 20:21:43 +0000 (16:21 -0400)]
Add configure report
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Michael Jeanson [Mon, 22 Apr 2019 19:48:31 +0000 (15:48 -0400)]
Update macros from the autoconf archive
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 22 Apr 2019 15:17:12 +0000 (11:17 -0400)]
rseq/selftests: x86: Work-around bogus gcc-8 optimisation
At least the following versions of gcc-8:
- gcc version 8.0.1
20180414 (experimental) [trunk revision 259383] (Ubuntu 8-
20180414-1ubuntu2)
- gcc 8.2.0-7ubuntu1 (Ubuntu 18.10 (Cosmic)),
- gcc 8.3.0
generate broken assembler with asm goto that have a thread-local storage
"m" input operand on both x86-32 and x86-64. For instance:
__thread int var;
static int fct(void)
{
asm goto ( "jmp %l[testlabel]\n\t"
: : [var] "m" (var) : : testlabel);
return 0;
testlabel:
return 1;
}
int main()
{
return fct();
}
% gcc-8 -O2 -o test-asm-goto test-asm-goto.c
/tmp/ccAdHJbe.o: In function `main':
test-asm-goto.c:(.text.startup+0x1): undefined reference to `.L2'
collect2: error: ld returned 1 exit status
% gcc-8 -m32 -O2 -o test-asm-goto test-asm-goto.c
/tmp/ccREsVXA.o: In function `main':
test-asm-goto.c:(.text.startup+0x1): undefined reference to `.L2'
collect2: error: ld returned 1 exit status
Work-around this compiler bug in the rseq-x86.h header by passing the
address of the __rseq_abi TLS as a register operand rather than using
the "m" input operand.
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90193
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 27 Mar 2019 19:56:59 +0000 (15:56 -0400)]
s390: use jg instruction for jumps outside of the asm
The branch target range of the "j" instruction is 64K, which is not
enough for the general case.
Suggested-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 25 Mar 2019 02:43:22 +0000 (22:43 -0400)]
Introduce __rseq_handled and rseq_ownership
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 24 Mar 2019 15:27:11 +0000 (11:27 -0400)]
Remove "weak" attribute from symbols
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 13 Mar 2019 20:59:06 +0000 (16:59 -0400)]
Update exit points comments
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 13 Mar 2019 20:21:41 +0000 (16:21 -0400)]
Update arm64 SPDX license identifier
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 13 Mar 2019 17:20:42 +0000 (13:20 -0400)]
Introduce __rseq_cs_ptr_array, rename __rseq_table to __rseq_cs
The entries within __rseq_table are aligned on 32 bytes due to
linux/rseq.h struct rseq_cs uapi requirements, but the start of the
__rseq_table section is not guaranteed to be 32-byte aligned. It can
cause padding to be added at the start of the section, which makes it
hard to use as an array of items by debuggers.
Considering that __rseq_table does not really consist of a table due to
the presence of padding, rename this section to __rseq_cs.
Create a new __rseq_cs_ptr_array section which contains 64-bit packed
pointers to entries within the __rseq_cs section.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 13 Mar 2019 15:41:01 +0000 (11:41 -0400)]
Add __rseq_exit_point_array section for debuggers
Knowing all exit points is useful to assist debuggers stepping over the
rseq critical sections without requiring them to disassemble the content
of the critical section to figure out the exit points.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 13 Mar 2019 15:18:56 +0000 (11:18 -0400)]
Add arm64 rseq header
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Michael Jeanson [Mon, 11 Mar 2019 19:59:22 +0000 (15:59 -0400)]
Autotools all the things!
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Michael Jeanson [Mon, 11 Mar 2019 19:26:57 +0000 (15:26 -0400)]
Clarify licensing and update to SPDX 3.0 identifiers
See this article for more details on the new GNU identifiers :
https://spdx.org/news/news/2018/01/license-list-30-released
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 27 Oct 2018 23:33:53 +0000 (19:33 -0400)]
Update to follow cpu-opv uapi
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 24 Oct 2018 11:54:25 +0000 (07:54 -0400)]
Use __rseq_refcount symbol
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 11 Oct 2018 15:23:40 +0000 (11:23 -0400)]
rseq: error out on refcount overflow/underflow
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 10 Oct 2018 16:15:46 +0000 (12:15 -0400)]
rseq available check: use documented behavior
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 9 Oct 2018 19:31:10 +0000 (15:31 -0400)]
Test rseq and cpu_opv availability
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 9 Oct 2018 18:59:09 +0000 (14:59 -0400)]
Update percpu ops test and header
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 7 Oct 2018 18:03:12 +0000 (14:03 -0400)]
Update test makefile
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 7 Oct 2018 17:19:15 +0000 (13:19 -0400)]
Add percpu ops test
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 3 Oct 2018 21:24:09 +0000 (17:24 -0400)]
Implement availability API checks
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 3 Oct 2018 21:04:18 +0000 (17:04 -0400)]
Add cpu-opv helpers
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 1 Oct 2018 20:46:35 +0000 (16:46 -0400)]
Update readme markdown
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 1 Oct 2018 20:34:20 +0000 (16:34 -0400)]
Install rseq headers
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 1 Oct 2018 20:30:36 +0000 (16:30 -0400)]
Makefile: install/uninstall targets
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 1 Oct 2018 20:24:20 +0000 (16:24 -0400)]
Update readme
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 1 Oct 2018 20:22:28 +0000 (16:22 -0400)]
Update makefile and readme
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 1 Oct 2018 20:19:33 +0000 (16:19 -0400)]
Update requirements
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 1 Oct 2018 20:15:03 +0000 (16:15 -0400)]
Add s390 target
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 1 Oct 2018 20:12:42 +0000 (16:12 -0400)]
Initial import
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 1 Oct 2018 20:05:41 +0000 (16:05 -0400)]
Initial commit
This page took 0.028309 seconds and 4 git commands to generate.