Skip to content

Commit 11d79ac

Browse files
authored
[SYCLomatic][CMake] Remove '-static-libstdc++' from target_link_options as '-static-libstdc++' is not supported together with '-fsycl' when using icpx compiler (#2253)
Signed-off-by: chenwei.sun <[email protected]>
1 parent 997edc4 commit 11d79ac

File tree

3 files changed

+40
-0
lines changed

3 files changed

+40
-0
lines changed

clang/test/dpct/cmake_migration/case_041/expected.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,16 @@ target_link_options(quda PUBLIC )
99
target_link_options( quda PUBLIC )
1010

1111
target_link_options(quda PUBLIC )
12+
13+
target_link_options(nvcv_util_compat PUBLIC
14+
15+
-static-libgcc
16+
-Wl,--wrap=__libc_start_main
17+
-Wl,-u__cxa_thread_atexit_impl
18+
${linkcompat}
19+
-Wl,--push-state,--no-as-needed
20+
${CMAKE_CURRENT_SOURCE_DIR}/stubs/libdl-2.17_stub.so
21+
${CMAKE_CURRENT_SOURCE_DIR}/stubs/librt-2.17_stub.so
22+
${CMAKE_CURRENT_SOURCE_DIR}/stubs/libpthread-2.17_stub.so
23+
-Wl,--pop-state
24+
)

clang/test/dpct/cmake_migration/case_041/input.cmake

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,17 @@ target_link_options(quda PUBLIC $<$<CUDA_COMPILER_ID:Clang>: --cuda-path=${CUDAT
99
target_link_options( quda PUBLIC $<$<CUDA_COMPILER_ID:Clang>: --cuda-path=${CUDAToolkit_TARGET_DIR}>)
1010

1111
target_link_options(quda PUBLIC $<$<CUDA_COMPILER_ID:Clang>: --cuda-path=${CUDAToolkit_TARGET_DIR}> )
12+
13+
target_link_options(nvcv_util_compat
14+
PUBLIC
15+
-static-libstdc++
16+
-static-libgcc
17+
-Wl,--wrap=__libc_start_main
18+
-Wl,-u__cxa_thread_atexit_impl
19+
${linkcompat}
20+
-Wl,--push-state,--no-as-needed
21+
${CMAKE_CURRENT_SOURCE_DIR}/stubs/libdl-2.17_stub.so
22+
${CMAKE_CURRENT_SOURCE_DIR}/stubs/librt-2.17_stub.so
23+
${CMAKE_CURRENT_SOURCE_DIR}/stubs/libpthread-2.17_stub.so
24+
-Wl,--pop-state
25+
)

clang/tools/dpct/DpctOptRules/cmake_script_migration_rule.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2425,6 +2425,19 @@
24252425
Out: ""
24262426
RuleId: "remove_target_link_options_cuda_arg"
24272427

2428+
#'-static-libstdc++' is not supported together with '-fsycl' when using icpx compiler.
2429+
- Rule: rule_static_libstdc++_target_link_options
2430+
Kind: CMakeRule
2431+
Priority: Fallback
2432+
CmakeSyntax: static_libstdc++_target_link_options
2433+
In: target_link_options${empty}(${target} ${libs})
2434+
Out: target_link_options(${target} ${libs})
2435+
Subrules:
2436+
libs:
2437+
In: -static-libstdc++
2438+
Out: ""
2439+
MatchMode: Full
2440+
24282441
- Rule: rule_target_link_directories
24292442
Kind: CMakeRule
24302443
Priority: Fallback

0 commit comments

Comments
 (0)