Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update for upstreaming of multilib exclusive groups. #370

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 11 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -258,17 +258,16 @@ read_repo_version(${LLVM_TOOLCHAIN_C_LIBRARY} ${LLVM_TOOLCHAIN_C_LIBRARY})
# git format-patch -k origin/main
set(
llvm_project_patches
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0001-Add-ExclusiveGroup-feature-to-multilib.yaml.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0002-xfail-two-remaining-libcxx-with-picolibc-tests.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0003-libc-tests-with-picolibc-disable-large-tests.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0004-Disable-failing-compiler-rt-test.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0005-libc-tests-with-picolibc-handle-stdin.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0006-libc-tests-with-picolibc-add-has-compolete-fenv-feat.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0007-libc-tests-with-picolibc-Fix-expected-error-message.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0008-libc-tests-with-picolibc-Fix-iterator-diff_type-to-s.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0009-libc-tests-with-picolibc-mark-sort-test-as-long-one.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0010-libc-tests-with-picolibc-XFAIL-uses-of-atomics.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0011-libc-tests-with-picolibc-mark-two-more-large-tests.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0001-xfail-two-remaining-libcxx-with-picolibc-tests.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0002-tests-with-picolibc-disable-large-tests.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0003-Disable-failing-compiler-rt-test.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0004-tests-with-picolibc-handle-stdin.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0005-tests-with-picolibc-add-has-compolete-fenv-feature.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0006-tests-with-picolibc-Fix-expected-error-message.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0007-tests-with-picolibc-Fix-iterator-diff_type-to-std-st.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0008-tests-with-picolibc-mark-sort-test-as-long-one.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0009-tests-with-picolibc-XFAIL-uses-of-atomics.patch
${CMAKE_CURRENT_SOURCE_DIR}/patches/llvm-project/0010-tests-with-picolibc-mark-two-more-large-tests.patch
)
FetchContent_Declare(llvmproject
GIT_REPOSITORY https://github.com/llvm/llvm-project.git
Expand Down Expand Up @@ -1220,7 +1219,7 @@ function(add_library_variant target_arch)
foreach(flag ${multilib_flags_list})
string(APPEND multilib_yaml_content " - ${flag}\n")
endforeach()
string(APPEND multilib_yaml_content " ExclusiveGroup: stdlibs\n")
string(APPEND multilib_yaml_content " Group: stdlibs\n")

install(
DIRECTORY "${LLVM_BINARY_DIR}/${directory}/"
Expand Down
15 changes: 15 additions & 0 deletions cmake/multilib.yaml.in
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,21 @@

MultilibVersion: '1.0'

# Make an exclusive group for library variants, to make sure we don't
# accidentally include two or more variants at once.
#
# Even if they all match the command-line options, putting two sets of
# include directories on the include path can cause build failure,
# because of the #include_next used in the libc++ headers. The first
# libc++ stdio.h (for example) will #include_next <stdio.h>, which
# will find the second libc++ version. That won't do anything at all,
# because it has the same include-guard macro as the first, and so
# nothing will ever include the _libc_ stdio.h, which was what the
# #include_next was really looking for.
Groups:
- Name: stdlibs
Type: Exclusive

# The list of library variants is substituted in by CMakeLists.txt, so
# that it can respect the LLVM_TOOLCHAIN_LIBRARY_VARIANTS setting and
# only include the set of libraries actually included in this build.
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 8262b29ffcd9083f5c648131c69f672023859f7d Mon Sep 17 00:00:00 2001
From 358eef2ccf2a492a01575a4aaa107777a0dccaf0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20W=C3=B3jt?= <[email protected]>
Date: Mon, 16 Oct 2023 11:35:48 +0200
Subject: xfail two remaining libcxx with picolibc tests
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 555fbcabc83763423e547d9e18a7289078cb47bc Mon Sep 17 00:00:00 2001
From b3ac81132da9d3f87a1f5e4f2904332b1402e38c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20W=C3=B3jt?= <[email protected]>
Date: Wed, 15 Nov 2023 12:18:35 +0100
Subject: [libc++] tests with picolibc: disable large tests
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 83c5054ea596497ceca96b7605f0f2d2b69884e7 Mon Sep 17 00:00:00 2001
From 36a6ad90401fe357639091fe75f02b634c86818b Mon Sep 17 00:00:00 2001
From: Piotr Przybyla <[email protected]>
Date: Wed, 15 Nov 2023 16:04:24 +0000
Subject: Disable failing compiler-rt test
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 89830497518b26d39bbdaf8cb835ce9de3eab51c Mon Sep 17 00:00:00 2001
From fad3fd61296dd4a256d41e95c779be64ccefbb2b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20W=C3=B3jt?= <[email protected]>
Date: Mon, 23 Oct 2023 14:37:41 +0200
Subject: [libc++] tests with picolibc: handle stdin
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 69b8c896e78334d601e46aa0f29be523f15e461c Mon Sep 17 00:00:00 2001
From 9e005bc9511e8d3407c3b09348d7b656ccb1ceae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20W=C3=B3jt?= <[email protected]>
Date: Tue, 24 Oct 2023 12:12:27 +0200
Subject: [libc++] tests with picolibc: add has-compolete-fenv feature
Expand Down Expand Up @@ -36,10 +36,10 @@ index 7b3b490eba27..5a39003d00d0 100644
// <cfenv>

diff --git a/libcxx/utils/libcxx/test/features.py b/libcxx/utils/libcxx/test/features.py
index ab5a24dadb60..1217070dc6ae 100644
index ccabb48833f1..f5b12f90c051 100644
--- a/libcxx/utils/libcxx/test/features.py
+++ b/libcxx/utils/libcxx/test/features.py
@@ -215,6 +215,35 @@ DEFAULT_FEATURES = [
@@ -212,6 +212,35 @@ DEFAULT_FEATURES = [
""",
),
),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From e1951f46391ed43dcae49afb592051bbcbb7397e Mon Sep 17 00:00:00 2001
From 16ef107e767d1351e062f69ea1daa618af2c1cd1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20W=C3=B3jt?= <[email protected]>
Date: Wed, 25 Oct 2023 12:27:18 +0200
Subject: [libc++] tests with picolibc: Fix expected error message
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 00f5102bee1a415d31ee38f13b45f99cdf68217c Mon Sep 17 00:00:00 2001
From d88f1833af6d89cfde87078c9dfad8a04de81b2a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20W=C3=B3jt?= <[email protected]>
Date: Fri, 27 Oct 2023 14:33:48 +0200
Subject: [libc++] tests with picolibc: Fix iterator diff_type to
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 72ce44d20936dc45a241e2ee728c5fae82769c4a Mon Sep 17 00:00:00 2001
From 0a193f703763ba79c4d34fbe351d7a90d47742a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20W=C3=B3jt?= <[email protected]>
Date: Thu, 9 Nov 2023 14:14:30 +0100
Subject: [libc++] tests with picolibc: mark sort test as long one
Expand Down
Loading
Loading