aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
2023-05-04Remove whitelineMathieu Desnoyers1-1/+0
2023-05-04Introduce rseq_scalar_type_to_expr to eliminate code duplicationMathieu Desnoyers1-10/+10
2023-04-27fix: compiler warning `-Wswitch-enum`Gerrit Klein1-0/+8
2023-04-27fix: compiler warning `-Wswitch-default`Gerrit Klein1-9/+18
2023-04-26Re-introduce union for rseq_cs ptrMathieu Desnoyers2-2/+21
2023-04-26Fix: make dist missing header filesMathieu Desnoyers1-0/+8
2023-04-25Fix: percpu ops mm_cid testsMathieu Desnoyers2-3/+5
2023-04-25Skip mm_cid tests when unavailableMathieu Desnoyers2-4/+10
2023-04-25parametrized test: Report/abort on negative concurrency IDMathieu Desnoyers1-2/+7
2023-04-25Implement parametrized mm_cid testMathieu Desnoyers4-51/+144
2023-04-25Implement basic percpu ops mm_cid testMathieu Desnoyers3-9/+51
2023-04-25riscv: Template memory ordering and percpu access modeMathieu Desnoyers2-542/+438
2023-04-25s390: Template memory ordering and percpu access modeMathieu Desnoyers2-467/+500
2023-04-25ppc: Template memory ordering and percpu access modeMathieu Desnoyers2-578/+485
2023-04-25mips: Template memory ordering and percpu access modeMathieu Desnoyers2-612/+487
2023-04-25arm64: Template memory ordering and percpu access modeMathieu Desnoyers2-485/+421
2023-04-25arm: Template memory ordering and percpu access modeMathieu Desnoyers2-669/+529
2023-04-25x86: Template memory ordering and percpu access modeMathieu Desnoyers6-1266/+1247
2023-04-25Implement rseq numa node id field selftestMathieu Desnoyers1-1/+4
2023-04-25rseq.h: implement mm_cid and node_id APIsMathieu Desnoyers1-6/+33
2023-04-25Update rseq.c to query ELF auxvecMathieu Desnoyers2-18/+120
2023-04-25Cleanup: rseq.h: add extra space around __VA_ARGS__Mathieu Desnoyers1-1/+1
2023-04-25Add mm_cid and numa node id to rseq ABI headerMathieu Desnoyers1-29/+34
2023-04-25Remove RSEQ_SKIP_FASTPATH codeMathieu Desnoyers10-124/+0
2023-04-21Fix: `void *` arithmetic compiler warningtherealthingy1-1/+2
2023-04-21All arch: use rseq_unqual_scalar_typeof in load-acquireMathieu Desnoyers6-7/+7
2023-04-21c++: compiler: use remove_cv and remove_reference in rseq_unqual_scalar_typeofMathieu Desnoyers1-1/+1
2023-04-21rseq_arm64: use rseq_unqual_scalar_typeof in load-acquireMathieu Desnoyers1-1/+1
2023-04-21Revert "compiler: C++: simplify rseq_unqual_scalar_typeof implementation"Mathieu Desnoyers1-1/+1
2023-04-21Revert "compiler: c++: use decltype"Mathieu Desnoyers1-1/+1
2023-04-21compiler: c++: use decltypeMathieu Desnoyers1-1/+1
2023-04-21compiler: C++: simplify rseq_unqual_scalar_typeof implementationMathieu Desnoyers1-1/+1
2023-04-20rseq-arm64: Fix buggy load-acquire/store-release macrosMathieu Desnoyers1-28/+30
2023-04-20compiler: implement rseq_unqual_scalar_typeofMathieu Desnoyers1-0/+31
2023-04-20Use __asm__ __volatile__ in rseq_after_asm_goto for c11 compatibilityMathieu Desnoyers1-1/+1
2023-04-20architecture headers: add extra parentheses around macro parametersMathieu Desnoyers6-13/+13
2023-04-20Tests: Introduce arch-mo unit testsMathieu Desnoyers7-1/+151
2023-04-17Fix: gcc extension compiler warningGary Gee1-4/+4
2023-04-17Initialize librseq from `rseq_register_current_thread`Mathieu Desnoyers1-3/+20
2023-04-14Implement the REUSE specification for licensing and copyrightMichael Jeanson57-63/+139
2023-04-14Relicense librseq to MITMathieu Desnoyers27-543/+25
2023-01-10rseq man page: remove _Nullable from rseq argumentMathieu Desnoyers1-1/+1
2023-01-10rseq(2) man page: Update following round of feedback and lintingMathieu Desnoyers1-122/+130
2023-01-06Update rseq.2 man page based on commentsMathieu Desnoyers1-229/+263
2023-01-06Update rseq man pageMathieu Desnoyers1-37/+89
2022-10-31Allowing querying whether libc support rseqMathieu Desnoyers5-15/+33
2022-06-13Add RISC-V rseq supportMichael Jeanson5-0/+751
2022-06-13fix: check if libc rseq support is registeredMichael Jeanson1-1/+2
2022-02-02Use ptrdiff_t for rseq_offsetMathieu Desnoyers3-11/+13
2022-01-31Cleanup: x86: remove leftover commentMathieu Desnoyers1-7/+0
2022-01-24x86-32: use %gs segment selector for accessing rseq thread areaMathieu Desnoyers1-36/+38
2022-01-24x86-64: use %fs segment selector for accessing rseq thread areaMathieu Desnoyers1-32/+34
2022-01-24Remove configure check for rseq.hMathieu Desnoyers1-4/+0
2022-01-24Remove unused ARRAY_SIZE macroMathieu Desnoyers1-2/+0
2022-01-24Update header copyright datesMathieu Desnoyers2-2/+2
2022-01-24Introduce rseq-abi.hMathieu Desnoyers11-128/+94
2022-01-21Fix: work-around Linux kernel rseq.h uapi endianness issueMathieu Desnoyers5-5/+17
2022-01-21Fix: use long rather than int for offsetsMathieu Desnoyers9-14/+16
2022-01-21ppc: remove incomplete undef listMathieu Desnoyers1-5/+0
2022-01-21Fix: use int rather than off_t for offsetsMathieu Desnoyers9-16/+14
2022-01-21mips: use rseq_cs ptr 32-bit fieldMathieu Desnoyers1-8/+10
2022-01-21arm64: refer to rseq_cs.ptr fieldMathieu Desnoyers1-8/+10
2022-01-21s390/s390x: refer to rseq_cs pointer fieldMathieu Desnoyers1-6/+10
2022-01-21arm: refer to 32-bit pointer field for rseq_cs ptrMathieu Desnoyers1-8/+10
2022-01-21Fix: ppc32: wrong rseq_cs 32-bit field pointer field on big endianMathieu Desnoyers1-8/+12
2022-01-21Fix: ppc32: do not produce cmpdi invalid instructionMathieu Desnoyers1-2/+4
2022-01-20Fix: provide membarrier_private_expedited_rseq_available on all architecturesMathieu Desnoyers1-20/+20
2022-01-17Test for membarrier private expedited rseq availabilityMathieu Desnoyers1-0/+24
2022-01-17Fix: membarrier flags for kernels headers < 5.10Mathieu Desnoyers1-0/+12
2022-01-17Test MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQMathieu Desnoyers2-2/+233
2022-01-17x86_64: Add rseq_offset_deref_addv()Mathieu Desnoyers1-0/+60
2022-01-05Fix: Warnings about #if checks of undefined tokensMathieu Desnoyers3-3/+3
2022-01-04Fix: work-around asm goto compiler bugsMathieu Desnoyers8-6/+252
2022-01-04Remove arm/mips asm goto compiler work-aroundMathieu Desnoyers2-74/+0
2022-01-04fix: dead initialization reported by scan-buildMichael Jeanson1-3/+1
2022-01-04Add debug output to basic_percpu_ops_testMichael Jeanson1-3/+6
2022-01-04configure: enable extended compiler warningsMichael Jeanson9-31/+524
2022-01-04Build and run tests as C++ programsMichael Jeanson12-11/+1145
2021-12-15param test: Only provide rseq_gettid if BENCHMARK is not definedMathieu Desnoyers1-5/+5
2021-12-15ppc rseq thread pointer: add extended asmMathieu Desnoyers1-0/+1
2021-12-14Introduce rseq-generic-thread-pointer.hMathieu Desnoyers3-13/+27
2021-12-14rseq thread pointer: extern CMathieu Desnoyers3-0/+24
2021-12-14Introduce RSEQ_GET_ABI_OVERRIDEMathieu Desnoyers1-11/+21
2021-12-14Add missing rseq thread pointer headers to makefileMathieu Desnoyers1-1/+4
2021-12-14Introduce rseq-thread-pointer.hMathieu Desnoyers2-11/+24
2021-12-14Update librseq to co-exist with glibc rseq integrationMathieu Desnoyers13-190/+258
2021-12-14Remove rseq_deref_loadoffp placeholdersMathieu Desnoyers5-35/+0
2021-12-14Add git-review configMichael Jeanson1-0/+7
2021-03-19Modernize autotools setupMichael Jeanson6-147/+230
2020-07-13Skip the tests if the rseq syscall is unavailableMichael Jeanson4-22/+52
2020-07-09Convert test suite to the TAP test protocolMichael Jeanson19-173/+2922
2020-07-09Remove __rseq_handled declarationMathieu Desnoyers1-1/+0
2020-07-08Add parametrized testsMathieu Desnoyers4-2/+1474
2020-07-08Add basic testMathieu Desnoyers3-2/+64
2020-07-08Cleanup: powerpc: Use "long" and "int" to clarify load/store macrosMathieu Desnoyers1-24/+28
2020-07-08Fix: powerpc: Add missing instruction selection "u" and "x" for load/storeMathieu Desnoyers1-15/+15
2020-07-07Wire up basic percpu ops testMathieu Desnoyers1-0/+2
2020-07-07Add basic percpu ops testMathieu Desnoyers4-1/+328
2020-07-07Adapt rseq registration to glibc's userspace ABI for __rseq_abiMathieu Desnoyers1-51/+51
2020-06-11Update man page based on Michael Kerrisk's commentsMathieu Desnoyers1-34/+107
2020-06-05Update rseq.2 man pageMathieu Desnoyers1-9/+34
2020-06-05Wire up man pages buildMathieu Desnoyers4-0/+9
2020-06-05Initial import of rseq.2 man pageMathieu Desnoyers1-0/+273
2020-06-05Remove do_on_cpu dependenciesMathieu Desnoyers6-521/+1
2020-06-05Remove do_on_cpu (prototype)Mathieu Desnoyers8-1003/+22
2019-09-19Cleanup: cplusplus ifdef coding style updateMathieu Desnoyers1-4/+4
2019-09-19Allow using librseq APIs from C++ codeMatthew Glazar1-0/+16
2019-08-07memcpy: copy 8 bytes loopMathieu Desnoyers1-23/+59
2019-07-26Bump do_on_cpu system call number to 434Mathieu Desnoyers1-1/+1
2019-07-26Implement percpu_fence()Mathieu Desnoyers1-0/+10
2019-07-25Fix: add missing do-on-cpu-insn.h to make distMathieu Desnoyers1-1/+2
2019-07-25Move to do_on_cpu system callMathieu Desnoyers19-426/+923
2019-06-30Add ARM big-endian support to rseq headersMathieu Desnoyers1-1/+1
2019-06-30Fix: Thumb mode build failure on arm32Mathieu Desnoyers1-28/+33
2019-06-06rseq/selftests: mips: use break instruction for RSEQ_SIGMathieu Desnoyers1-1/+33
2019-06-06rseq/selftests: powerpc code signature: generate valid instructionsMathieu Desnoyers1-1/+9
2019-06-06rseq/selftests: aarch64 code signature: handle big-endian environmentMathieu Desnoyers1-2/+15
2019-06-06rseq/selftests: arm: use udf instruction for RSEQ_SIGMathieu Desnoyers1-2/+50
2019-06-06rseq/selftests: s390: use trap4 for RSEQ_SIGMartin Schwidefsky1-1/+8
2019-06-06rseq/selftests: x86: use ud1 instruction as RSEQ_SIG opcodeMathieu Desnoyers1-4/+11
2019-05-28Remove volatile, use READ/WRITE ONCEMathieu Desnoyers2-8/+8
2019-04-23cpu-op: change _mb_ API to _releaseMathieu Desnoyers3-8/+8
2019-04-23cpu-op: add add_release APIMathieu Desnoyers2-0/+18
2019-04-23cpu-op lib: Change code layout to remove gcc-4.8 warningsMathieu Desnoyers1-92/+138
2019-04-23Extend extra/READMEMathieu Desnoyers1-1/+21
2019-04-23Add embedded rseq/opv headers for test buildsMichael Jeanson3-0/+295
2019-04-23rseq: set refcount back to 1 on unregister failureMathieu Desnoyers1-0/+1
2019-04-22Add configure reportMichael Jeanson2-0/+239
2019-04-22Update macros from the autoconf archiveMichael Jeanson2-7/+8
2019-04-22rseq/selftests: x86: Work-around bogus gcc-8 optimisationMathieu Desnoyers1-74/+70
2019-03-27s390: use jg instruction for jumps outside of the asmMathieu Desnoyers1-2/+2
2019-03-24Introduce __rseq_handled and rseq_ownershipMathieu Desnoyers2-5/+34
2019-03-24Remove "weak" attribute from symbolsMathieu Desnoyers1-2/+2
2019-03-13Update exit points commentsMathieu Desnoyers6-36/+45
2019-03-13Update arm64 SPDX license identifierMathieu Desnoyers1-1/+1
2019-03-13Introduce __rseq_cs_ptr_array, rename __rseq_table to __rseq_csMathieu Desnoyers6-56/+86
2019-03-13Add __rseq_exit_point_array section for debuggersMathieu Desnoyers6-0/+363
2019-03-13Add arm64 rseq headerMathieu Desnoyers2-0/+596
2019-03-12Autotools all the things!Michael Jeanson17-74/+839
2019-03-11Clarify licensing and update to SPDX 3.0 identifiersMichael Jeanson18-525/+556
2018-10-27Update to follow cpu-opv uapiMathieu Desnoyers1-8/+2
2018-10-24Use __rseq_refcount symbolMathieu Desnoyers2-25/+10
2018-10-11rseq: error out on refcount overflow/underflowMathieu Desnoyers1-0/+9
2018-10-10rseq available check: use documented behaviorMathieu Desnoyers1-3/+1
2018-10-09Test rseq and cpu_opv availabilityMathieu Desnoyers1-6/+16
2018-10-09Update percpu ops test and headerMathieu Desnoyers2-10/+13
2018-10-07Update test makefileMathieu Desnoyers1-3/+2
2018-10-07Add percpu ops testMathieu Desnoyers4-2/+335
2018-10-03Implement availability API checksMathieu Desnoyers7-8/+62
2018-10-03Add cpu-opv helpersMathieu Desnoyers4-3/+545
2018-10-01Update readme markdownMathieu Desnoyers1-4/+4
2018-10-01Install rseq headersMathieu Desnoyers1-1/+5
2018-10-01Makefile: install/uninstall targetsMathieu Desnoyers1-1/+10
2018-10-01Update readmeMathieu Desnoyers1-3/+14
2018-10-01Update makefile and readmeMathieu Desnoyers2-3/+12
2018-10-01Update requirementsMathieu Desnoyers1-0/+6
2018-10-01Add s390 targetMathieu Desnoyers2-0/+515
2018-10-01Initial importMathieu Desnoyers8-0/+3626
2018-10-01Initial commitMathieu Desnoyers3-0/+558