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:
parent
c5058c3ce3
commit
2051d00248
@ -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
|
12
build2.spec
12
build2.spec
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user