Re-enable C++ modules tests on PPC64LE

The latest GNU toolchain in Fedora 38 [1] no longer seems to cause some of the
modules tests to fail on PPC64LE [2], so we can remove that patch now.

 * build2-disable-test-cc-modules-ppc64le.patch: delete
 * build2.spec: remove ppc64le modules tests patch and update changelog

[1] https://fedoraproject.org/wiki/Changes/GNUToolchainF38
[2] https://lists.build2.org/archives/users/2021-November/000921.html
This commit is contained in:
Matthew Krupcale 2023-03-04 14:04:46 -05:00
parent c5058c3ce3
commit 2051d00248
2 changed files with 4 additions and 124 deletions

View File

@ -1,116 +0,0 @@
diff --git a/tests/cc/modules/modules.testscript b/tests/cc/modules/modules.testscript
index 681238a..054ecd9 100644
--- a/tests/cc/modules/modules.testscript
+++ b/tests/cc/modules/modules.testscript
@@ -190,16 +190,16 @@ $* test &*.d &?*.ii* <'exe{test}: cxx{driver} mxx{core}' 2>>EOE != 0
info: consider specifying module name with cxx.module_name
EOE
-: library
-:
-: Test importing a module from a library.
-:
-ln -s ../core.mxx ../core.cxx ../driver.cxx ./;
-$* test clean <<EOI
- ./: lib{foo} exe{test} # Full build.
- exe{test}: cxx{driver} lib{foo}
- lib{foo}: {mxx cxx}{core}
- EOI
+# : library
+# :
+# : Test importing a module from a library.
+# :
+# ln -s ../core.mxx ../core.cxx ../driver.cxx ./;
+# $* test clean <<EOI
+# ./: lib{foo} exe{test} # Full build.
+# exe{test}: cxx{driver} lib{foo}
+# lib{foo}: {mxx cxx}{core}
+# EOI
: module-marker
:
@@ -286,17 +286,17 @@ $* test clean <<EOI
EOI
$* test clean <'exe{test}: cxx{driver core} mxx{core base extra foo}'
- : library
- :
- ln -s ../base.mxx ../extra.mxx ../foo.mxx ../../core.mxx ../../core.cxx ./;
- cat <<EOI >=driver.cxx;
- import foo;
- int main (int argc, char*[]) {return f (g (argc));}
- EOI
- $* test clean <<EOI
- exe{test}: cxx{driver} mxx{foo} lib{foo}
- lib{foo}: mxx{core base extra} cxx{core}
- EOI
+ # : library
+ # :
+ # ln -s ../base.mxx ../extra.mxx ../foo.mxx ../../core.mxx ../../core.cxx ./;
+ # cat <<EOI >=driver.cxx;
+ # import foo;
+ # int main (int argc, char*[]) {return f (g (argc));}
+ # EOI
+ # $* test clean <<EOI
+ # exe{test}: cxx{driver} mxx{foo} lib{foo}
+ # lib{foo}: mxx{core base extra} cxx{core}
+ # EOI
}
: import
@@ -364,29 +364,29 @@ $* test clean <<EOI
bmie{foo-core}: mxx{foo-core}
EOI
-: symexport
-:
-: Test the __symexport feature.
-:
-cat <<EOI >=core.mxx;
- export module foo.core;
-
- export __symexport int f (int);
-
- __symexport int g_impl (int i) {return i - 1;}
- export __symexport inline int g (int i) {return g_impl (i);}
- EOI
-ln -s ../core.cxx core-f.cxx;
-cat <<EOI >=core-g.cxx;
- module foo.core;
- int g_impl (int i) {return i - 1;}
- EOI
-cat <<EOI >=driver.cxx;
- import foo.core;
- int main (int argc, char*[]) {return f (argc) + g (argc);}
- EOI
-$* test clean <<EOI
- ./: lib{foo} exe{test} # Full build.
- exe{test}: cxx{driver} lib{foo}
- lib{foo}: mxx{core} cxx{core-f} # @@ VC: core-g
- EOI
+# : symexport
+# :
+# : Test the __symexport feature.
+# :
+# cat <<EOI >=core.mxx;
+# export module foo.core;
+
+# export __symexport int f (int);
+
+# __symexport int g_impl (int i) {return i - 1;}
+# export __symexport inline int g (int i) {return g_impl (i);}
+# EOI
+# ln -s ../core.cxx core-f.cxx;
+# cat <<EOI >=core-g.cxx;
+# module foo.core;
+# int g_impl (int i) {return i - 1;}
+# EOI
+# cat <<EOI >=driver.cxx;
+# import foo.core;
+# int main (int argc, char*[]) {return f (argc) + g (argc);}
+# EOI
+# $* test clean <<EOI
+# ./: lib{foo} exe{test} # Full build.
+# exe{test}: cxx{driver} lib{foo}
+# lib{foo}: mxx{core} cxx{core-f} # @@ VC: core-g
+# EOI

View File

@ -27,11 +27,6 @@ Source100: https://pkg.cppget.org/1/beta/odb/libodb-%{libodb_bundle_version
Source101: https://pkg.cppget.org/1/beta/odb/libodb-sqlite-%{libodb_bundle_version}.tar.gz
%endif
# Disable some C++ modules tests for PPC64LE because GCC has issues linking C++
# modules on PPC64LE:
# driver.cxx:(.text+0x88): unresolvable R_PPC64_REL24 against `_ZGIW3foo4coreEv'
# /usr/bin/ld: final link failed: bad value
Patch0100: build2-disable-test-cc-modules-ppc64le.patch
# Upstream https://git.build2.org/cgit/build2/commit/?id=343d6e69e412166cfc21f268a51b692cb0201653
Patch0000: libbuild2-libpkgconf-error_handler-non-const-data.patch
# Upstream https://git.build2.org/cgit/build2/commit/?id=417be15231cb34a2e858d26b63406d1fb5535cb9
@ -270,9 +265,6 @@ This package contains the %{name} RPM macros.
%setup -q -c -n %{name}-toolchain-%{version} -a 1 -a 2 -a 3 -a 4 -a 100 -a 101
%endif
pushd %{name}-%{version}
%ifarch ppc64le
%patch -p 1 -P 0100
%endif
%patch -p 1 -P 0000
%patch -p 1 -P 0001
popd
@ -648,6 +640,10 @@ b test:
%{_rpmmacrodir}/macros.%{name}
%changelog
* Sat Mar 4 2023 Matthew Krupcale <mkrupcale@matthewkrupcale.com> - 0.15.0-2
- Add and remove required patches for Fedora 38
- Use SPDX license expressions
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild