Workaround lack of musttail in gcc
This commit is contained in:
@@ -38,6 +38,11 @@ if(NOT APPLE)
|
|||||||
add_compile_options(-g -fno-omit-frame-pointer)
|
add_compile_options(-g -fno-omit-frame-pointer)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# work around lack of musttail for gcc
|
||||||
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
|
add_compile_options(-O1 -foptimize-sibling-calls)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(full_relro_flags "-pie;LINKER:-z,relro,-z,now,-z,noexecstack")
|
set(full_relro_flags "-pie;LINKER:-z,relro,-z,now,-z,noexecstack")
|
||||||
cmake_push_check_state()
|
cmake_push_check_state()
|
||||||
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS ${full_relro_flags})
|
list(APPEND CMAKE_REQUIRED_LINK_OPTIONS ${full_relro_flags})
|
||||||
|
@@ -164,6 +164,12 @@ def test_fixup_256():
|
|||||||
cs.check(read(0, bytes([1]), bytes([2])))
|
cs.check(read(0, bytes([1]), bytes([2])))
|
||||||
|
|
||||||
|
|
||||||
|
def test_tailcall():
|
||||||
|
with DebugConflictSet() as cs:
|
||||||
|
cs.addWrites(0, write(bytes([1])))
|
||||||
|
cs.check(*[read(0, bytes([1])) for _ in range(100000)])
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# budget "pytest" for ctest integration without pulling in a dependency. You can of course still use pytest in local development.
|
# budget "pytest" for ctest integration without pulling in a dependency. You can of course still use pytest in local development.
|
||||||
import argparse
|
import argparse
|
||||||
|
Reference in New Issue
Block a user