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)
|
||||
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")
|
||||
cmake_push_check_state()
|
||||
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])))
|
||||
|
||||
|
||||
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__":
|
||||
# budget "pytest" for ctest integration without pulling in a dependency. You can of course still use pytest in local development.
|
||||
import argparse
|
||||
|
Reference in New Issue
Block a user