Compare commits
211 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
4e02d56d94 | ||
|
31fb054039 | ||
|
2751220912 | ||
|
f3a804c686 | ||
|
a9552bf745 | ||
|
8f1aceb90b | ||
|
f18f04b3fb | ||
|
ca788bfdff | ||
|
e31a1bddc0 | ||
|
ee018dc183 | ||
|
6fdcb2b9e5 | ||
|
52a79c17ee | ||
|
52fa8aefa3 | ||
|
b290aa01d1 | ||
|
dc8f6e461b | ||
|
85fff34818 | ||
|
02ae2beb4c | ||
|
3c30ab4799 | ||
|
8e1f20bf3a | ||
|
cf965d214e | ||
|
5e48ef55f5 | ||
|
28a41d7ec1 | ||
|
99a093cb4f | ||
|
75ecbee53f | ||
|
19c5115980 | ||
|
863c72823c | ||
|
fabc85dc5d | ||
|
95221c62d2 | ||
|
5fe996562e | ||
|
6f673bac47 | ||
|
e346cea2fb | ||
|
dc4418df89 | ||
|
91c863f8a9 | ||
|
d69d615083 | ||
|
0acbf54cf4 | ||
|
2e2b76f57a | ||
|
311655b816 | ||
|
d4299b940b | ||
|
0d926ffb44 | ||
|
ec851df667 | ||
|
3dab9de8f0 | ||
|
dd92515693 | ||
|
f05a075009 | ||
|
0af622a16d | ||
|
146fdc1878 | ||
|
78accc2a93 | ||
|
a492697acf | ||
|
c9c54ba24f | ||
|
46ce913ce6 | ||
|
a72281a470 | ||
|
bfe43bb230 | ||
|
2615a533b8 | ||
|
23a21fde25 | ||
|
e503f00450 | ||
|
74613be376 | ||
|
91b3540549 | ||
|
c75889d28c | ||
|
245908f188 | ||
|
b2315f360e | ||
|
200ab99d30 | ||
|
4910c83f42 | ||
|
aa03effdcf | ||
|
a1104fdc08 | ||
|
d7e191c777 | ||
|
917a939e05 | ||
|
d4fb9f8ed8 | ||
|
7198391f75 | ||
|
665f9ff9cb | ||
|
fbdc8be2d5 | ||
|
54dca9e09d | ||
|
d73ad6153f | ||
|
fc9926357a | ||
|
967fa9b141 | ||
|
ef299b80e9 | ||
|
b2fa1409e0 | ||
|
67cc6756a1 | ||
|
b0dddd2d05 | ||
|
9743a6a9b0 | ||
|
f58fc62400 | ||
|
62d2a570da | ||
|
3628c9a446 | ||
|
398138b5f3 | ||
|
66ac9cc1b6 | ||
|
f5c21772fc | ||
|
7e47121cf7 | ||
|
0bdfca38c6 | ||
|
067e0a8c2e | ||
|
b8dc449a65 | ||
|
dc6e17c8c2 | ||
|
b2295576ca | ||
|
1d6884964d | ||
|
595f09c493 | ||
|
dca274fd43 | ||
|
804d4ab44b | ||
|
b84a98262a | ||
|
cdf92292af | ||
|
671fc7ba16 | ||
|
80be3f02ea | ||
|
3659d992cd | ||
|
3b91dbe507 | ||
|
27b6bb48cf | ||
|
68a50d6964 | ||
|
892f8cf6be | ||
|
ba0a2baa86 | ||
|
878cf31641 | ||
|
3839c55548 | ||
|
307b042329 | ||
|
517529187f | ||
|
012193ab2c | ||
|
b492bb6d0d | ||
|
c07adb54e0 | ||
|
196b71d183 | ||
|
a191d6bffd | ||
|
698535f4a2 | ||
|
dc53defcf3 | ||
|
63133c7e37 | ||
|
3507c942bd | ||
|
4b84269ff6 | ||
|
ceebf1784f | ||
|
c603d84348 | ||
|
c19375a4b9 | ||
|
e931d8bd48 | ||
|
db78d97ae5 | ||
|
063f63dafb | ||
|
a2a6a491f5 | ||
|
604b6369b8 | ||
|
a31fadcc09 | ||
|
f172832272 | ||
|
0177c06558 | ||
|
9173737427 | ||
|
7b59d695b5 | ||
|
72c4542d15 | ||
|
93f9e68547 | ||
|
541204d67b | ||
|
8ad393378c | ||
|
c38b60d6f8 | ||
|
f817c30ff8 | ||
|
cee86e0c23 | ||
|
f8c38830d9 | ||
|
eb3f14c713 | ||
|
8b3a7b2201 | ||
|
e25bc11637 | ||
|
c3f10cec8a | ||
|
7ddd78661a | ||
|
59cfaa7b4d | ||
|
9b91a54819 | ||
|
7cfa254bd7 | ||
|
c8c738d102 | ||
|
89aaf2fcca | ||
|
c7b83880f7 | ||
|
931429764e | ||
|
9087b59fd4 | ||
|
2a97a4485a | ||
|
b08544362e | ||
|
6e2000ccdc | ||
|
983aa76b9b | ||
|
dd22b2a0a2 | ||
|
f49280a03b | ||
|
93487d62ed | ||
|
ac8f498836 | ||
|
4a41cd799a | ||
|
47dcf480fc | ||
|
23e00e261f | ||
|
9f8a6fd894 | ||
|
8c7fac2bb2 | ||
|
d92ecedc14 | ||
|
8372e104d7 | ||
|
2dca06326f | ||
|
f285645769 | ||
|
42f8421576 | ||
|
230cd6b217 | ||
|
94687bec15 | ||
|
de14d872a4 | ||
|
a067db068a | ||
|
3f45c9c165 | ||
|
26a9740f02 | ||
|
a7c26b2bf9 | ||
|
888bd7b767 | ||
|
15fd636cd1 | ||
|
6b90f86714 | ||
|
d10315732b | ||
|
6358fb610c | ||
|
9dd34982d8 | ||
|
e0d9613563 | ||
|
eed69448a1 | ||
|
83f0a4ca68 | ||
|
65f713bb7b | ||
|
d6a2f172d6 | ||
|
9186451072 | ||
|
38049fe0f3 | ||
|
ba2f1bfa9d | ||
|
77db02d7c8 | ||
|
ac758fe7b9 | ||
|
6d54c72548 | ||
|
f5bff3fc51 | ||
|
9f9248e195 | ||
|
2b448df91a | ||
|
d53415ef01 | ||
|
291926a2e8 | ||
|
95507e8b68 | ||
|
062d80630d | ||
|
1cd0b2d684 | ||
|
93ba12bdcb | ||
|
9d851d2a4e | ||
|
643c97a3d8 | ||
|
047162357c | ||
|
6768e0a391 | ||
|
19b1c942e0 | ||
|
5ae836ea9d | ||
|
fec5ba4393 | ||
|
09eade5353 |
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
102
.gitignore
vendored
102
.gitignore
vendored
@ -6,3 +6,105 @@
|
|||||||
/gcc-10.0.1-20200126.tar.xz
|
/gcc-10.0.1-20200126.tar.xz
|
||||||
/gcc-10.0.1-20200130.tar.xz
|
/gcc-10.0.1-20200130.tar.xz
|
||||||
/gcc-10.0.1-20200216.tar.xz
|
/gcc-10.0.1-20200216.tar.xz
|
||||||
|
/gcc-10.0.1-20200311.tar.xz
|
||||||
|
/gcc-10.0.1-20200325.tar.xz
|
||||||
|
/gcc-10.0.1-20200328.tar.xz
|
||||||
|
/gcc-10.0.1-20200420.tar.xz
|
||||||
|
/gcc-10.0.1-20200501.tar.xz
|
||||||
|
/gcc-10.1.1-20200507.tar.xz
|
||||||
|
/gcc-10.1.1-20200618.tar.xz
|
||||||
|
/gcc-10.2.1-20200723.tar.xz
|
||||||
|
/gcc-10.2.1-20200804.tar.xz
|
||||||
|
/gcc-10.2.1-20200826.tar.xz
|
||||||
|
/gcc-10.2.1-20200916.tar.xz
|
||||||
|
/gcc-10.2.1-20201005.tar.xz
|
||||||
|
/gcc-10.2.1-20201016.tar.xz
|
||||||
|
/gcc-10.2.1-20201102.tar.xz
|
||||||
|
/gcc-10.2.1-20201112.tar.xz
|
||||||
|
/gcc-10.2.1-20201125.tar.xz
|
||||||
|
/gcc-11.0.0-20201204.tar.xz
|
||||||
|
/gcc-11.0.0-20201216.tar.xz
|
||||||
|
/gcc-11.0.0-20201217.tar.xz
|
||||||
|
/gcc-11.0.0-20201223.tar.xz
|
||||||
|
/gcc-11.0.0-20210109.tar.xz
|
||||||
|
/gcc-11.0.0-20210113.tar.xz
|
||||||
|
/gcc-11.0.0-20210116.tar.xz
|
||||||
|
/gcc-11.0.0-20210119.tar.xz
|
||||||
|
/gcc-11.0.0-20210123.tar.xz
|
||||||
|
/gcc-11.0.0-20210130.tar.xz
|
||||||
|
/gcc-11.0.0-20210210.tar.xz
|
||||||
|
/gcc-11.0.0-20210225.tar.xz
|
||||||
|
/gcc-11.0.1-20210307.tar.xz
|
||||||
|
/gcc-11.0.1-20210319.tar.xz
|
||||||
|
/isl-0.18.tar.bz2
|
||||||
|
/gcc-11.0.1-20210324.tar.xz
|
||||||
|
/gcc-11.0.1-20210405.tar.xz
|
||||||
|
/gcc-11.0.1-20210418.tar.xz
|
||||||
|
/gcc-11.0.1-20210422.tar.xz
|
||||||
|
/gcc-11.0.1-20210423.tar.xz
|
||||||
|
/gcc-11.1.1-20210428.tar.xz
|
||||||
|
/gcc-11.1.1-20210512.tar.xz
|
||||||
|
/gcc-11.1.1-20210531.tar.xz
|
||||||
|
/gcc-11.1.1-20210617.tar.xz
|
||||||
|
/gcc-11.1.1-20210623.tar.xz
|
||||||
|
/gcc-11.1.1-20210726.tar.xz
|
||||||
|
/gcc-11.2.1-20210728.tar.xz
|
||||||
|
/gcc-11.2.1-20210823.tar.xz
|
||||||
|
/gcc-11.2.1-20211012.tar.xz
|
||||||
|
/gcc-11.2.1-20211018.tar.xz
|
||||||
|
/gcc-11.2.1-20211019.tar.xz
|
||||||
|
/gcc-11.2.1-20211203.tar.xz
|
||||||
|
/gcc-12.0.0-20220108.tar.xz
|
||||||
|
/gcc-12.0.0-20220112.tar.xz
|
||||||
|
/gcc-12.0.0-20220115.tar.xz
|
||||||
|
/gcc-12.0.1-20220118.tar.xz
|
||||||
|
/gcc-12.0.1-20220125.tar.xz
|
||||||
|
/gcc-12.0.1-20220129.tar.xz
|
||||||
|
/gcc-12.0.1-20220202.tar.xz
|
||||||
|
/gcc-12.0.1-20220205.tar.xz
|
||||||
|
/gcc-12.0.1-20220212.tar.xz
|
||||||
|
/gcc-12.0.1-20220214.tar.xz
|
||||||
|
/gcc-12.0.1-20220222.tar.xz
|
||||||
|
/gcc-12.0.1-20220306.tar.xz
|
||||||
|
/gcc-12.0.1-20220308.tar.xz
|
||||||
|
/gcc-12.0.1-20220401.tar.xz
|
||||||
|
/gcc-12.0.1-20220411.tar.xz
|
||||||
|
/gcc-12.0.1-20220413.tar.xz
|
||||||
|
/gcc-12.0.1-20220429.tar.xz
|
||||||
|
/gcc-12.1.1-20220507.tar.xz
|
||||||
|
/gcc-12.1.1-20220628.tar.xz
|
||||||
|
/gcc-12.1.1-20220810.tar.xz
|
||||||
|
/gcc-12.2.1-20220819.tar.xz
|
||||||
|
/gcc-12.2.1-20221103.tar.xz
|
||||||
|
/isl-0.24.tar.bz2
|
||||||
|
/newlib-cygwin-a8526cb52bedabd4d6ba4b227a5185627f871aa1.tar.xz
|
||||||
|
/nvptx-tools-472b6e78b3ba918d727698f79911360b7c808247.tar.xz
|
||||||
|
/gcc-12.2.1-20221121.tar.xz
|
||||||
|
/gcc-13.0.0-20221219.tar.xz
|
||||||
|
/gcc-13.0.0-20230102.tar.xz
|
||||||
|
/gcc-13.0.0-20230106.tar.xz
|
||||||
|
/gcc-13.0.0-20230112.tar.xz
|
||||||
|
/gcc-13.0.0-20230115.tar.xz
|
||||||
|
/gcc-13.0.1-20230117.tar.xz
|
||||||
|
/gcc-13.0.1-20230127.tar.xz
|
||||||
|
/newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz
|
||||||
|
/gcc-13.0.1-20230208.tar.xz
|
||||||
|
/gcc-13.0.1-20230215.tar.xz
|
||||||
|
/gcc-13.0.1-20230221.tar.xz
|
||||||
|
/gcc-13.0.1-20230304.tar.xz
|
||||||
|
/gcc-13.0.1-20230310.tar.xz
|
||||||
|
/gcc-13.0.1-20230318.tar.xz
|
||||||
|
/gcc-13.0.1-20230321.tar.xz
|
||||||
|
/nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz
|
||||||
|
/gcc-13.0.1-20230324.tar.xz
|
||||||
|
/gcc-13.0.1-20230329.tar.xz
|
||||||
|
/gcc-13.0.1-20230401.tar.xz
|
||||||
|
/gcc-13.0.1-20230404.tar.xz
|
||||||
|
/gcc-13.0.1-20230418.tar.xz
|
||||||
|
/gcc-13.0.1-20230419.tar.xz
|
||||||
|
/gcc-13.0.1-20230421.tar.xz
|
||||||
|
/gcc-13.1.1-20230426.tar.xz
|
||||||
|
/gcc-13.1.1-20230511.tar.xz
|
||||||
|
/gcc-13.1.1-20230519.tar.xz
|
||||||
|
/gcc-13.1.1-20230614.tar.xz
|
||||||
|
/gcc-13.2.1-20230728.tar.xz
|
||||||
|
16
gating.yaml
Normal file
16
gating.yaml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- fedora-*
|
||||||
|
decision_context: bodhi_update_push_stable
|
||||||
|
subject_type: koji_build
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-qe.koji-build.scratch-build.validation}
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-9
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-gating.functional}
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-gating-p9.functional}
|
||||||
|
- !PassingTestCaseRule {test_case_name: baseos-qe.koji-build.scratch-build.validation}
|
@ -1,27 +0,0 @@
|
|||||||
2017-02-25 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
|
|
||||||
* configure.ac: When adding -Wno-format, also add -Wno-format-security.
|
|
||||||
* configure: Regenerated.
|
|
||||||
|
|
||||||
--- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100
|
|
||||||
+++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100
|
|
||||||
@@ -480,7 +480,7 @@ AC_ARG_ENABLE(build-format-warnings,
|
|
||||||
AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]),
|
|
||||||
[],[enable_build_format_warnings=yes])
|
|
||||||
AS_IF([test $enable_build_format_warnings = no],
|
|
||||||
- [wf_opt=-Wno-format],[wf_opt=])
|
|
||||||
+ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=])
|
|
||||||
ACX_PROG_CXX_WARNING_OPTS(
|
|
||||||
m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ],
|
|
||||||
[-Wcast-qual -Wno-error=format-diag $wf_opt])),
|
|
||||||
--- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100
|
|
||||||
+++ gcc/configure 2017-02-25 12:42:50.041946391 +0100
|
|
||||||
@@ -6647,7 +6647,7 @@ else
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $enable_build_format_warnings = no; then :
|
|
||||||
- wf_opt=-Wno-format
|
|
||||||
+ wf_opt="-Wno-format -Wno-format-security"
|
|
||||||
else
|
|
||||||
wf_opt=
|
|
||||||
fi
|
|
@ -1,122 +0,0 @@
|
|||||||
2019-01-17 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
|
|
||||||
* gcc.c (offload_targets_default): New variable.
|
|
||||||
(process_command): Set it if -foffload is defaulted.
|
|
||||||
(driver::maybe_putenv_OFFLOAD_TARGETS): Add OFFLOAD_TARGET_DEFAULT=1
|
|
||||||
into environment if -foffload has been defaulted.
|
|
||||||
* lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define.
|
|
||||||
(compile_offload_image): If OFFLOAD_TARGET_DEFAULT
|
|
||||||
is in the environment, don't fail if corresponding mkoffload
|
|
||||||
can't be found.
|
|
||||||
(compile_images_for_offload_targets): Likewise. Free and clear
|
|
||||||
offload_names if no valid offload is found.
|
|
||||||
libgomp/
|
|
||||||
* target.c (gomp_load_plugin_for_device): If a plugin can't be
|
|
||||||
dlopened, assume it has no devices silently.
|
|
||||||
|
|
||||||
--- gcc/gcc.c.jj 2017-01-17 10:28:40.000000000 +0100
|
|
||||||
+++ gcc/gcc.c 2017-01-20 16:26:29.649962902 +0100
|
|
||||||
@@ -290,6 +290,10 @@ static const char *spec_host_machine = D
|
|
||||||
|
|
||||||
static char *offload_targets = NULL;
|
|
||||||
|
|
||||||
+/* Set to true if -foffload has not been used and offload_targets
|
|
||||||
+ is set to the configured in default. */
|
|
||||||
+static bool offload_targets_default;
|
|
||||||
+
|
|
||||||
/* Nonzero if cross-compiling.
|
|
||||||
When -b is used, the value comes from the `specs' file. */
|
|
||||||
|
|
||||||
@@ -4457,7 +4461,10 @@ process_command (unsigned int decoded_op
|
|
||||||
/* If the user didn't specify any, default to all configured offload
|
|
||||||
targets. */
|
|
||||||
if (ENABLE_OFFLOADING && offload_targets == NULL)
|
|
||||||
- handle_foffload_option (OFFLOAD_TARGETS);
|
|
||||||
+ {
|
|
||||||
+ handle_foffload_option (OFFLOAD_TARGETS);
|
|
||||||
+ offload_targets_default = true;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if (output_file
|
|
||||||
&& strcmp (output_file, "-") != 0
|
|
||||||
@@ -7693,6 +7700,8 @@ driver::maybe_putenv_OFFLOAD_TARGETS ()
|
|
||||||
obstack_grow (&collect_obstack, offload_targets,
|
|
||||||
strlen (offload_targets) + 1);
|
|
||||||
xputenv (XOBFINISH (&collect_obstack, char *));
|
|
||||||
+ if (offload_targets_default)
|
|
||||||
+ xputenv ("OFFLOAD_TARGET_DEFAULT=1");
|
|
||||||
}
|
|
||||||
|
|
||||||
free (offload_targets);
|
|
||||||
--- gcc/lto-wrapper.c.jj 2017-01-01 12:45:34.000000000 +0100
|
|
||||||
+++ gcc/lto-wrapper.c 2017-01-20 16:34:18.294016997 +0100
|
|
||||||
@@ -52,6 +52,7 @@ along with GCC; see the file COPYING3.
|
|
||||||
/* Environment variable, used for passing the names of offload targets from GCC
|
|
||||||
driver to lto-wrapper. */
|
|
||||||
#define OFFLOAD_TARGET_NAMES_ENV "OFFLOAD_TARGET_NAMES"
|
|
||||||
+#define OFFLOAD_TARGET_DEFAULT_ENV "OFFLOAD_TARGET_DEFAULT"
|
|
||||||
|
|
||||||
enum lto_mode_d {
|
|
||||||
LTO_MODE_NONE, /* Not doing LTO. */
|
|
||||||
@@ -822,6 +823,12 @@ compile_offload_image (const char *targe
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (!compiler && getenv (OFFLOAD_TARGET_DEFAULT_ENV))
|
|
||||||
+ {
|
|
||||||
+ free_array_of_ptrs ((void **) paths, n_paths);
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if (!compiler)
|
|
||||||
fatal_error (input_location,
|
|
||||||
"could not find %s in %s (consider using %<-B%>)",
|
|
||||||
@@ -885,6 +892,7 @@ compile_images_for_offload_targets (unsi
|
|
||||||
unsigned num_targets = parse_env_var (target_names, &names, NULL);
|
|
||||||
|
|
||||||
int next_name_entry = 0;
|
|
||||||
+ bool hsa_seen = false;
|
|
||||||
const char *compiler_path = getenv ("COMPILER_PATH");
|
|
||||||
if (!compiler_path)
|
|
||||||
goto out;
|
|
||||||
@@ -897,18 +905,26 @@ compile_images_for_offload_targets (unsi
|
|
||||||
/* HSA does not use LTO-like streaming and a different compiler, skip
|
|
||||||
it. */
|
|
||||||
if (strcmp (names[i], "hsa") == 0)
|
|
||||||
- continue;
|
|
||||||
+ {
|
|
||||||
+ hsa_seen = true;
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
offload_names[next_name_entry]
|
|
||||||
= compile_offload_image (names[i], compiler_path, in_argc, in_argv,
|
|
||||||
compiler_opts, compiler_opt_count,
|
|
||||||
linker_opts, linker_opt_count);
|
|
||||||
if (!offload_names[next_name_entry])
|
|
||||||
- fatal_error (input_location,
|
|
||||||
- "problem with building target image for %s", names[i]);
|
|
||||||
+ continue;
|
|
||||||
next_name_entry++;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (next_name_entry == 0 && !hsa_seen)
|
|
||||||
+ {
|
|
||||||
+ free (offload_names);
|
|
||||||
+ offload_names = NULL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
out:
|
|
||||||
free_array_of_ptrs ((void **) names, num_targets);
|
|
||||||
}
|
|
||||||
--- libgomp/target.c.jj 2017-01-01 12:45:52.000000000 +0100
|
|
||||||
+++ libgomp/target.c 2017-01-20 20:12:13.756710875 +0100
|
|
||||||
@@ -2356,7 +2356,7 @@ gomp_load_plugin_for_device (struct gomp
|
|
||||||
|
|
||||||
void *plugin_handle = dlopen (plugin_name, RTLD_LAZY);
|
|
||||||
if (!plugin_handle)
|
|
||||||
- goto dl_fail;
|
|
||||||
+ return 0;
|
|
||||||
|
|
||||||
/* Check if all required functions are available in the plugin and store
|
|
||||||
their handlers. None of the symbols can legitimately be NULL,
|
|
@ -1,11 +0,0 @@
|
|||||||
--- libgomp/configure.tgt.jj 2008-01-10 20:53:48.000000000 +0100
|
|
||||||
+++ libgomp/configure.tgt 2008-03-27 12:44:51.000000000 +0100
|
|
||||||
@@ -67,7 +67,7 @@ if test $enable_linux_futex = yes; then
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if test -z "$with_arch"; then
|
|
||||||
- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
|
|
||||||
+ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
|
|
||||||
fi
|
|
||||||
esac
|
|
||||||
;;
|
|
@ -1,30 +0,0 @@
|
|||||||
crt files and statically linked libgcc objects cause false positives
|
|
||||||
in annobin coverage, so we add the assembler flag to generate notes
|
|
||||||
for them.
|
|
||||||
|
|
||||||
The patch also adds notes to libgcc_s.so, but this is harmless because
|
|
||||||
these notes only confer that there is no other annobin markup.
|
|
||||||
|
|
||||||
2018-07-25 Florian Weimer <fweimer@redhat.com>
|
|
||||||
|
|
||||||
* Makefile.in (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add
|
|
||||||
-Wa,--generate-missing-build-notes=yes.
|
|
||||||
|
|
||||||
--- libgcc/Makefile.in 2018-01-13 13:05:41.000000000 +0100
|
|
||||||
+++ libgcc/Makefile.in 2018-07-25 13:15:02.036226940 +0200
|
|
||||||
@@ -246,6 +246,7 @@ LIBGCC2_DEBUG_CFLAGS = -g
|
|
||||||
LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \
|
|
||||||
$(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \
|
|
||||||
-fbuilding-libgcc -fno-stack-protector \
|
|
||||||
+ -Wa,--generate-missing-build-notes=yes \
|
|
||||||
$(INHIBIT_LIBC_CFLAGS)
|
|
||||||
|
|
||||||
# Additional options to use when compiling libgcc2.a.
|
|
||||||
@@ -301,6 +302,7 @@ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(IN
|
|
||||||
$(NO_PIE_CFLAGS) -finhibit-size-directive -fno-inline -fno-exceptions \
|
|
||||||
-fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
|
|
||||||
-fbuilding-libgcc -fno-stack-protector $(FORCE_EXPLICIT_EH_REGISTRY) \
|
|
||||||
+ -Wa,--generate-missing-build-notes=yes \
|
|
||||||
$(INHIBIT_LIBC_CFLAGS) $(USE_TM_CLONE_REGISTRY)
|
|
||||||
|
|
||||||
# Extra flags to use when compiling crt{begin,end}.o.
|
|
62
gcc13-Wno-format-security.patch
Normal file
62
gcc13-Wno-format-security.patch
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
2022-01-07 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* Makefile.tpl (GOCFLAGS, GDCFLAGS): Filter out -Wformat-security.
|
||||||
|
* Makefile.in: Regenerated.
|
||||||
|
|
||||||
|
2017-02-25 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* configure.ac: When adding -Wno-format, also add -Wno-format-security.
|
||||||
|
* configure: Regenerated.
|
||||||
|
|
||||||
|
--- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100
|
||||||
|
+++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100
|
||||||
|
@@ -570,7 +570,7 @@ AC_ARG_ENABLE(build-format-warnings,
|
||||||
|
AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]),
|
||||||
|
[],[enable_build_format_warnings=yes])
|
||||||
|
AS_IF([test $enable_build_format_warnings = no],
|
||||||
|
- [wf_opt=-Wno-format],[wf_opt=])
|
||||||
|
+ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=])
|
||||||
|
ACX_PROG_CXX_WARNING_OPTS(
|
||||||
|
m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ],
|
||||||
|
[-Wcast-qual $wf_opt])),
|
||||||
|
--- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100
|
||||||
|
+++ gcc/configure 2017-02-25 12:42:50.041946391 +0100
|
||||||
|
@@ -7077,7 +7077,7 @@ else
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $enable_build_format_warnings = no; then :
|
||||||
|
- wf_opt=-Wno-format
|
||||||
|
+ wf_opt="-Wno-format -Wno-format-security"
|
||||||
|
else
|
||||||
|
wf_opt=
|
||||||
|
fi
|
||||||
|
--- Makefile.tpl.jj 2021-12-30 15:12:42.188164847 +0100
|
||||||
|
+++ Makefile.tpl 2022-01-07 12:06:12.115550714 +0100
|
||||||
|
@@ -446,9 +446,9 @@ LDFLAGS = @LDFLAGS@
|
||||||
|
LIBCFLAGS = $(CFLAGS)
|
||||||
|
CXXFLAGS = @CXXFLAGS@
|
||||||
|
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
|
||||||
|
-GOCFLAGS = $(CFLAGS)
|
||||||
|
-GDCFLAGS = $(CFLAGS)
|
||||||
|
-GM2FLAGS = $(CFLAGS)
|
||||||
|
+GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
|
||||||
|
+GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
|
||||||
|
+GM2FLAGS = $(filter-out -Wformat-security,$(CFLAGS))
|
||||||
|
|
||||||
|
# Pass additional PGO and LTO compiler options to the PGO build.
|
||||||
|
BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS)
|
||||||
|
--- Makefile.in.jj 2021-12-30 15:12:42.188164847 +0100
|
||||||
|
+++ Makefile.in 2022-01-07 12:06:27.335334561 +0100
|
||||||
|
@@ -443,9 +443,9 @@ LDFLAGS = @LDFLAGS@
|
||||||
|
LIBCFLAGS = $(CFLAGS)
|
||||||
|
CXXFLAGS = @CXXFLAGS@
|
||||||
|
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
|
||||||
|
-GOCFLAGS = $(CFLAGS)
|
||||||
|
-GDCFLAGS = $(CFLAGS)
|
||||||
|
-GM2FLAGS = $(CFLAGS)
|
||||||
|
+GOCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
|
||||||
|
+GDCFLAGS = $(filter-out -Wformat-security,$(CFLAGS))
|
||||||
|
+GM2FLAGS = $(filter-out -Wformat-security,$(CFLAGS))
|
||||||
|
|
||||||
|
# Pass additional PGO and LTO compiler options to the PGO build.
|
||||||
|
BUILD_CFLAGS = $(PGO_BUILD_CFLAGS) $(PGO_BUILD_LTO_CFLAGS)
|
@ -5,9 +5,9 @@
|
|||||||
|
|
||||||
--- gcc/d/d-spec.cc.jj 2019-01-01 12:37:49.502444257 +0100
|
--- gcc/d/d-spec.cc.jj 2019-01-01 12:37:49.502444257 +0100
|
||||||
+++ gcc/d/d-spec.cc 2019-01-17 17:09:45.364949246 +0100
|
+++ gcc/d/d-spec.cc 2019-01-17 17:09:45.364949246 +0100
|
||||||
@@ -405,9 +405,9 @@ lang_specific_driver (cl_decoded_option
|
@@ -408,9 +408,9 @@ lang_specific_driver (cl_decoded_option
|
||||||
/* Add `-lgphobos' if we haven't already done so. */
|
/* Add `-lgphobos' if we haven't already done so. */
|
||||||
if (phobos_library != PHOBOS_NOLINK && need_phobos)
|
if (phobos_library != PHOBOS_NOLINK)
|
||||||
{
|
{
|
||||||
- /* Default to static linking. */
|
- /* Default to static linking. */
|
||||||
- if (phobos_library != PHOBOS_DYNAMIC)
|
- if (phobos_library != PHOBOS_DYNAMIC)
|
||||||
@ -17,4 +17,4 @@
|
|||||||
+ phobos_library = PHOBOS_DYNAMIC;
|
+ phobos_library = PHOBOS_DYNAMIC;
|
||||||
|
|
||||||
#ifdef HAVE_LD_STATIC_DYNAMIC
|
#ifdef HAVE_LD_STATIC_DYNAMIC
|
||||||
if (phobos_library == PHOBOS_DYNAMIC && static_link)
|
if (phobos_library == PHOBOS_STATIC && !static_link)
|
215
gcc13-fortran-fdec-duplicates.patch
Normal file
215
gcc13-fortran-fdec-duplicates.patch
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
From 23b1fcb104c666429451ffaf936f8da5fcd3d43a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mark Eggleston <markeggleston@gcc.gnu.org>
|
||||||
|
Date: Fri, 22 Jan 2021 12:29:47 +0000
|
||||||
|
Subject: [PATCH 01/10] Allow duplicate declarations.
|
||||||
|
|
||||||
|
Enabled by -fdec-duplicates and -fdec.
|
||||||
|
|
||||||
|
Some fixes by Jim MacArthur <jim.macarthur@codethink.co.uk>
|
||||||
|
Addition of -fdec-duplicates by Mark Eggleston <mark.eggleston@codethink.com>
|
||||||
|
---
|
||||||
|
gcc/fortran/lang.opt | 4 ++++
|
||||||
|
gcc/fortran/options.cc | 1 +
|
||||||
|
gcc/fortran/symbol.cc | 21 +++++++++++++++++--
|
||||||
|
.../gfortran.dg/duplicate_type_4.f90 | 13 ++++++++++++
|
||||||
|
.../gfortran.dg/duplicate_type_5.f90 | 13 ++++++++++++
|
||||||
|
.../gfortran.dg/duplicate_type_6.f90 | 13 ++++++++++++
|
||||||
|
.../gfortran.dg/duplicate_type_7.f90 | 13 ++++++++++++
|
||||||
|
.../gfortran.dg/duplicate_type_8.f90 | 12 +++++++++++
|
||||||
|
.../gfortran.dg/duplicate_type_9.f90 | 12 +++++++++++
|
||||||
|
9 files changed, 100 insertions(+), 2 deletions(-)
|
||||||
|
create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_4.f90
|
||||||
|
create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_5.f90
|
||||||
|
create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_6.f90
|
||||||
|
create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_7.f90
|
||||||
|
create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_8.f90
|
||||||
|
create mode 100644 gcc/testsuite/gfortran.dg/duplicate_type_9.f90
|
||||||
|
|
||||||
|
diff --git a/gcc/fortran/lang.opt b/gcc/fortran/lang.opt
|
||||||
|
index 2b1977c523b..52bd522051e 100644
|
||||||
|
--- a/gcc/fortran/lang.opt
|
||||||
|
+++ b/gcc/fortran/lang.opt
|
||||||
|
@@ -469,6 +469,10 @@ Fortran Var(flag_dec_char_conversions)
|
||||||
|
Enable the use of character literals in assignments and data statements
|
||||||
|
for non-character variables.
|
||||||
|
|
||||||
|
+fdec-duplicates
|
||||||
|
+Fortran Var(flag_dec_duplicates)
|
||||||
|
+Allow varibles to be duplicated in the type specification matches.
|
||||||
|
+
|
||||||
|
fdec-include
|
||||||
|
Fortran Var(flag_dec_include)
|
||||||
|
Enable legacy parsing of INCLUDE as statement.
|
||||||
|
diff --git a/gcc/fortran/options.cc b/gcc/fortran/options.cc
|
||||||
|
index 3a0b98bf1ec..f19ba87f8a0 100644
|
||||||
|
--- a/gcc/fortran/options.cc
|
||||||
|
+++ b/gcc/fortran/options.cc
|
||||||
|
@@ -77,6 +77,7 @@ set_dec_flags (int value)
|
||||||
|
SET_BITFLAG (flag_dec_format_defaults, value, value);
|
||||||
|
SET_BITFLAG (flag_dec_blank_format_item, value, value);
|
||||||
|
SET_BITFLAG (flag_dec_char_conversions, value, value);
|
||||||
|
+ SET_BITFLAG (flag_dec_duplicates, value, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Finalize DEC flags. */
|
||||||
|
diff --git a/gcc/fortran/symbol.cc b/gcc/fortran/symbol.cc
|
||||||
|
index 3b988d1be22..9843175cc2a 100644
|
||||||
|
--- a/gcc/fortran/symbol.cc
|
||||||
|
+++ b/gcc/fortran/symbol.cc
|
||||||
|
@@ -1995,6 +1995,8 @@ gfc_add_type (gfc_symbol *sym, gfc_typespec *ts, locus *where)
|
||||||
|
if (sym->attr.result && type == BT_UNKNOWN && sym->ns->proc_name)
|
||||||
|
type = sym->ns->proc_name->ts.type;
|
||||||
|
|
||||||
|
+ flavor = sym->attr.flavor;
|
||||||
|
+
|
||||||
|
if (type != BT_UNKNOWN && !(sym->attr.function && sym->attr.implicit_type)
|
||||||
|
&& !(gfc_state_stack->previous && gfc_state_stack->previous->previous
|
||||||
|
&& gfc_state_stack->previous->previous->state == COMP_SUBMODULE)
|
||||||
|
@@ -2007,6 +2009,23 @@ gfc_add_type (gfc_symbol *sym, gfc_typespec *ts, locus *where)
|
||||||
|
else if (sym->attr.function && sym->attr.result)
|
||||||
|
gfc_error ("Symbol %qs at %L already has basic type of %s",
|
||||||
|
sym->ns->proc_name->name, where, gfc_basic_typename (type));
|
||||||
|
+ else if (flag_dec_duplicates)
|
||||||
|
+ {
|
||||||
|
+ /* Ignore temporaries and class/procedure names */
|
||||||
|
+ if (sym->ts.type == BT_DERIVED || sym->ts.type == BT_CLASS
|
||||||
|
+ || sym->ts.type == BT_PROCEDURE)
|
||||||
|
+ return false;
|
||||||
|
+
|
||||||
|
+ if (gfc_compare_types (&sym->ts, ts)
|
||||||
|
+ && (flavor == FL_UNKNOWN || flavor == FL_VARIABLE
|
||||||
|
+ || flavor == FL_PROCEDURE))
|
||||||
|
+ {
|
||||||
|
+ return gfc_notify_std (GFC_STD_LEGACY,
|
||||||
|
+ "Symbol '%qs' at %L already has "
|
||||||
|
+ "basic type of %s", sym->name, where,
|
||||||
|
+ gfc_basic_typename (type));
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
else
|
||||||
|
gfc_error ("Symbol %qs at %L already has basic type of %s", sym->name,
|
||||||
|
where, gfc_basic_typename (type));
|
||||||
|
@@ -2020,8 +2039,6 @@ gfc_add_type (gfc_symbol *sym, gfc_typespec *ts, locus *where)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- flavor = sym->attr.flavor;
|
||||||
|
-
|
||||||
|
if (flavor == FL_PROGRAM || flavor == FL_BLOCK_DATA || flavor == FL_MODULE
|
||||||
|
|| flavor == FL_LABEL
|
||||||
|
|| (flavor == FL_PROCEDURE && sym->attr.subroutine)
|
||||||
|
diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_4.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_4.f90
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..cdd29ea8846
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gfortran.dg/duplicate_type_4.f90
|
||||||
|
@@ -0,0 +1,13 @@
|
||||||
|
+! { dg-do compile }
|
||||||
|
+! { dg-options "-std=f95" }
|
||||||
|
+
|
||||||
|
+! PR fortran/30239
|
||||||
|
+! Check for errors when a symbol gets declared a type twice, even if it
|
||||||
|
+! is the same.
|
||||||
|
+
|
||||||
|
+INTEGER FUNCTION foo ()
|
||||||
|
+ IMPLICIT NONE
|
||||||
|
+ INTEGER :: x
|
||||||
|
+ INTEGER :: x ! { dg-error "basic type of" }
|
||||||
|
+ x = 42
|
||||||
|
+END FUNCTION foo
|
||||||
|
diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_5.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_5.f90
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..00f931809aa
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gfortran.dg/duplicate_type_5.f90
|
||||||
|
@@ -0,0 +1,13 @@
|
||||||
|
+! { dg-do run }
|
||||||
|
+! { dg-options "-fdec" }
|
||||||
|
+!
|
||||||
|
+! Test case contributed by Mark Eggleston <mark.eggleston@codethink.com>
|
||||||
|
+!
|
||||||
|
+
|
||||||
|
+program test
|
||||||
|
+ implicit none
|
||||||
|
+ integer :: x
|
||||||
|
+ integer :: x
|
||||||
|
+ x = 42
|
||||||
|
+ if (x /= 42) stop 1
|
||||||
|
+end program test
|
||||||
|
diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_6.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_6.f90
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..f0df27e323c
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gfortran.dg/duplicate_type_6.f90
|
||||||
|
@@ -0,0 +1,13 @@
|
||||||
|
+! { dg-do run }
|
||||||
|
+! { dg-options "-std=legacy -fdec-duplicates" }
|
||||||
|
+!
|
||||||
|
+! Test case contributed by Mark Eggleston <mark.eggleston@codethink.com>
|
||||||
|
+!
|
||||||
|
+
|
||||||
|
+program test
|
||||||
|
+ implicit none
|
||||||
|
+ integer :: x
|
||||||
|
+ integer :: x
|
||||||
|
+ x = 42
|
||||||
|
+ if (x /= 42) stop 1
|
||||||
|
+end program test
|
||||||
|
diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_7.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_7.f90
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..f32472ff586
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gfortran.dg/duplicate_type_7.f90
|
||||||
|
@@ -0,0 +1,13 @@
|
||||||
|
+! { dg-do run }
|
||||||
|
+! { dg-options "-fdec-duplicates" }
|
||||||
|
+!
|
||||||
|
+! Test case contributed by Mark Eggleston <mark.eggleston@codethink.com>
|
||||||
|
+!
|
||||||
|
+
|
||||||
|
+program test
|
||||||
|
+ implicit none
|
||||||
|
+ integer :: x
|
||||||
|
+ integer :: x! { dg-warning "Legacy Extension" }
|
||||||
|
+ x = 42
|
||||||
|
+ if (x /= 42) stop 1
|
||||||
|
+end program test
|
||||||
|
diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_8.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_8.f90
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..23c94add179
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gfortran.dg/duplicate_type_8.f90
|
||||||
|
@@ -0,0 +1,12 @@
|
||||||
|
+! { dg-do compile }
|
||||||
|
+! { dg-options "-fdec -fno-dec-duplicates" }
|
||||||
|
+!
|
||||||
|
+! Test case contributed by Mark Eggleston <mark.eggleston@codethink.com>
|
||||||
|
+!
|
||||||
|
+
|
||||||
|
+integer function foo ()
|
||||||
|
+ implicit none
|
||||||
|
+ integer :: x
|
||||||
|
+ integer :: x ! { dg-error "basic type of" }
|
||||||
|
+ x = 42
|
||||||
|
+end function foo
|
||||||
|
diff --git a/gcc/testsuite/gfortran.dg/duplicate_type_9.f90 b/gcc/testsuite/gfortran.dg/duplicate_type_9.f90
|
||||||
|
new file mode 100644
|
||||||
|
index 00000000000..d5edee4d8ee
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/gcc/testsuite/gfortran.dg/duplicate_type_9.f90
|
||||||
|
@@ -0,0 +1,12 @@
|
||||||
|
+! { dg-do compile }
|
||||||
|
+! { dg-options "-fdec-duplicates -fno-dec-duplicates" }
|
||||||
|
+!
|
||||||
|
+! Test case contributed by Mark Eggleston <mark.eggleston@codethink.com>
|
||||||
|
+!
|
||||||
|
+
|
||||||
|
+integer function foo ()
|
||||||
|
+ implicit none
|
||||||
|
+ integer :: x
|
||||||
|
+ integer :: x ! { dg-error "basic type of" }
|
||||||
|
+ x = 42
|
||||||
|
+end function foo
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
@ -65,8 +65,8 @@
|
|||||||
GOCFLAGS="$(GOCFLAGS) $${flags}" \
|
GOCFLAGS="$(GOCFLAGS) $${flags}" \
|
||||||
GDCFLAGS="$(GDCFLAGS) $${flags}" \
|
GDCFLAGS="$(GDCFLAGS) $${flags}" \
|
||||||
CXXFLAGS="$(CXXFLAGS) $${flags}" \
|
CXXFLAGS="$(CXXFLAGS) $${flags}" \
|
||||||
--- libcpp/macro.c.jj 2019-01-09 13:01:21.420552123 +0100
|
--- libcpp/macro.cc.jj 2019-01-09 13:01:21.420552123 +0100
|
||||||
+++ libcpp/macro.c 2019-01-11 18:18:17.736876285 +0100
|
+++ libcpp/macro.cc 2019-01-11 18:18:17.736876285 +0100
|
||||||
@@ -3256,8 +3256,6 @@ static cpp_macro *
|
@@ -3256,8 +3256,6 @@ static cpp_macro *
|
||||||
create_iso_definition (cpp_reader *pfile)
|
create_iso_definition (cpp_reader *pfile)
|
||||||
{
|
{
|
||||||
@ -98,9 +98,9 @@
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
--- libcpp/expr.c.jj 2019-01-09 13:01:22.415535734 +0100
|
--- libcpp/expr.cc.jj 2019-01-09 13:01:22.415535734 +0100
|
||||||
+++ libcpp/expr.c 2019-01-11 18:16:23.444726882 +0100
|
+++ libcpp/expr.cc 2019-01-11 18:16:23.444726882 +0100
|
||||||
@@ -788,16 +788,17 @@ cpp_classify_number (cpp_reader *pfile,
|
@@ -803,16 +803,17 @@ cpp_classify_number (cpp_reader *pfile,
|
||||||
if ((result & CPP_N_WIDTH) == CPP_N_LARGE
|
if ((result & CPP_N_WIDTH) == CPP_N_LARGE
|
||||||
&& CPP_OPTION (pfile, cpp_warn_long_long))
|
&& CPP_OPTION (pfile, cpp_warn_long_long))
|
||||||
{
|
{
|
||||||
@ -123,4 +123,4 @@
|
|||||||
+ : N_("use of C99 long long integer constant"));
|
+ : N_("use of C99 long long integer constant"));
|
||||||
}
|
}
|
||||||
|
|
||||||
result |= CPP_N_INTEGER;
|
if ((result & CPP_N_SIZE_T) == CPP_N_SIZE_T
|
@ -26,11 +26,11 @@
|
|||||||
# Generate header and source files from the machine description,
|
# Generate header and source files from the machine description,
|
||||||
# and compile them.
|
# and compile them.
|
||||||
--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100
|
--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100
|
||||||
+++ gcc/graphite.h 2016-01-27 13:26:38.309876856 +0100
|
+++ gcc/graphite.h 2022-11-03 19:14:50.369690720 +0100
|
||||||
@@ -39,6 +39,590 @@ along with GCC; see the file COPYING3.
|
@@ -24,6 +24,591 @@ along with GCC; see the file COPYING3.
|
||||||
#include <isl/schedule_node.h>
|
|
||||||
#include <isl/id.h>
|
#include "sese.h"
|
||||||
#include <isl/space.h>
|
|
||||||
+#include <isl/version.h>
|
+#include <isl/version.h>
|
||||||
+#include <dlfcn.h>
|
+#include <dlfcn.h>
|
||||||
+
|
+
|
||||||
@ -41,15 +41,15 @@
|
|||||||
+ DYNSYM (isl_aff_set_coefficient_si); \
|
+ DYNSYM (isl_aff_set_coefficient_si); \
|
||||||
+ DYNSYM (isl_aff_set_constant_si); \
|
+ DYNSYM (isl_aff_set_constant_si); \
|
||||||
+ DYNSYM (isl_aff_zero_on_domain); \
|
+ DYNSYM (isl_aff_zero_on_domain); \
|
||||||
+ DYNSYM (isl_band_free); \
|
+ /* DYNSYM (isl_band_free); */ \
|
||||||
+ DYNSYM (isl_band_get_children); \
|
+ /* DYNSYM (isl_band_get_children); */ \
|
||||||
+ DYNSYM (isl_band_get_partial_schedule); \
|
+ /* DYNSYM (isl_band_get_partial_schedule); */ \
|
||||||
+ DYNSYM (isl_band_has_children); \
|
+ /* DYNSYM (isl_band_has_children); */ \
|
||||||
+ DYNSYM (isl_band_list_free); \
|
+ /* DYNSYM (isl_band_list_free); */ \
|
||||||
+ DYNSYM (isl_band_list_get_band); \
|
+ /* DYNSYM (isl_band_list_get_band); */ \
|
||||||
+ DYNSYM (isl_band_list_get_ctx); \
|
+ /* DYNSYM (isl_band_list_get_ctx); */ \
|
||||||
+ DYNSYM (isl_band_list_n_band); \
|
+ /* DYNSYM (isl_band_list_n_band); */ \
|
||||||
+ DYNSYM (isl_band_n_member); \
|
+ /* DYNSYM (isl_band_n_member); */ \
|
||||||
+ DYNSYM (isl_basic_map_add_constraint); \
|
+ DYNSYM (isl_basic_map_add_constraint); \
|
||||||
+ DYNSYM (isl_basic_map_project_out); \
|
+ DYNSYM (isl_basic_map_project_out); \
|
||||||
+ DYNSYM (isl_basic_map_universe); \
|
+ DYNSYM (isl_basic_map_universe); \
|
||||||
@ -91,7 +91,7 @@
|
|||||||
+ DYNSYM (isl_map_is_empty); \
|
+ DYNSYM (isl_map_is_empty); \
|
||||||
+ DYNSYM (isl_map_lex_ge); \
|
+ DYNSYM (isl_map_lex_ge); \
|
||||||
+ DYNSYM (isl_map_lex_le); \
|
+ DYNSYM (isl_map_lex_le); \
|
||||||
+ DYNSYM (isl_map_n_out); \
|
+ /* DYNSYM (isl_map_n_out); */ \
|
||||||
+ DYNSYM (isl_map_range); \
|
+ DYNSYM (isl_map_range); \
|
||||||
+ DYNSYM (isl_map_set_tuple_id); \
|
+ DYNSYM (isl_map_set_tuple_id); \
|
||||||
+ DYNSYM (isl_map_universe); \
|
+ DYNSYM (isl_map_universe); \
|
||||||
@ -124,7 +124,7 @@
|
|||||||
+ DYNSYM (isl_pw_aff_sub); \
|
+ DYNSYM (isl_pw_aff_sub); \
|
||||||
+ DYNSYM (isl_pw_aff_zero_set); \
|
+ DYNSYM (isl_pw_aff_zero_set); \
|
||||||
+ DYNSYM (isl_schedule_free); \
|
+ DYNSYM (isl_schedule_free); \
|
||||||
+ DYNSYM (isl_schedule_get_band_forest); \
|
+ /* DYNSYM (isl_schedule_get_band_forest); */ \
|
||||||
+ DYNSYM (isl_set_add_constraint); \
|
+ DYNSYM (isl_set_add_constraint); \
|
||||||
+ DYNSYM (isl_set_add_dims); \
|
+ DYNSYM (isl_set_add_dims); \
|
||||||
+ DYNSYM (isl_set_apply); \
|
+ DYNSYM (isl_set_apply); \
|
||||||
@ -615,20 +615,21 @@
|
|||||||
+#define isl_version (*isl_pointers__.p_isl_version)
|
+#define isl_version (*isl_pointers__.p_isl_version)
|
||||||
+#define isl_options_get_on_error (*isl_pointers__.p_isl_options_get_on_error)
|
+#define isl_options_get_on_error (*isl_pointers__.p_isl_options_get_on_error)
|
||||||
+#define isl_ctx_reset_error (*isl_pointers__.p_isl_ctx_reset_error)
|
+#define isl_ctx_reset_error (*isl_pointers__.p_isl_ctx_reset_error)
|
||||||
|
+
|
||||||
typedef struct poly_dr *poly_dr_p;
|
typedef struct poly_dr *poly_dr_p;
|
||||||
|
|
||||||
@@ -461,5 +1045,6 @@ extern void build_scops (vec<scop_p> *);
|
typedef struct poly_bb *poly_bb_p;
|
||||||
|
@@ -448,5 +1033,6 @@ extern tree cached_scalar_evolution_in_r
|
||||||
extern void dot_all_sese (FILE *, vec<sese_l> &);
|
extern void dot_all_sese (FILE *, vec<sese_l> &);
|
||||||
extern void dot_sese (sese_l &);
|
extern void dot_sese (sese_l &);
|
||||||
extern void dot_cfg ();
|
extern void dot_cfg ();
|
||||||
+extern const char *get_isl_version (bool);
|
+extern const char *get_isl_version (bool);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
--- gcc/graphite.c.jj 2015-11-04 14:15:32.000000000 +0100
|
--- gcc/graphite.cc.jj 2015-11-04 14:15:32.000000000 +0100
|
||||||
+++ gcc/graphite.c 2015-11-04 14:56:02.645536409 +0100
|
+++ gcc/graphite.cc 2015-11-04 14:56:02.645536409 +0100
|
||||||
@@ -60,6 +60,35 @@ along with GCC; see the file COPYING3.
|
@@ -60,6 +60,35 @@ along with GCC; see the file COPYING3.
|
||||||
#include "tree-into-ssa.h"
|
#include "tree-ssa-propagate.h"
|
||||||
#include "graphite.h"
|
#include "graphite.h"
|
||||||
|
|
||||||
+__typeof (isl_pointers__) isl_pointers__;
|
+__typeof (isl_pointers__) isl_pointers__;
|
||||||
@ -640,7 +641,7 @@
|
|||||||
+
|
+
|
||||||
+ if (isl_pointers__.inited)
|
+ if (isl_pointers__.inited)
|
||||||
+ return isl_pointers__.h != NULL;
|
+ return isl_pointers__.h != NULL;
|
||||||
+ h = dlopen ("libisl.so.15", RTLD_LAZY);
|
+ h = dlopen ("libisl.so.23", RTLD_LAZY);
|
||||||
+ isl_pointers__.h = h;
|
+ isl_pointers__.h = h;
|
||||||
+ if (h == NULL)
|
+ if (h == NULL)
|
||||||
+ return false;
|
+ return false;
|
||||||
@ -663,7 +664,7 @@
|
|||||||
/* Print global statistics to FILE. */
|
/* Print global statistics to FILE. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -365,6 +394,15 @@ graphite_transform_loops (void)
|
@@ -424,6 +453,15 @@ graphite_transform_loops (void)
|
||||||
if (parallelized_function_p (cfun->decl))
|
if (parallelized_function_p (cfun->decl))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -679,7 +680,7 @@
|
|||||||
calculate_dominance_info (CDI_DOMINATORS);
|
calculate_dominance_info (CDI_DOMINATORS);
|
||||||
|
|
||||||
/* We rely on post-dominators during merging of SESE regions so those
|
/* We rely on post-dominators during merging of SESE regions so those
|
||||||
@@ -455,6 +493,14 @@ graphite_transform_loops (void)
|
@@ -519,6 +557,14 @@ graphite_transform_loops (void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -694,8 +695,8 @@
|
|||||||
#else /* If isl is not available: #ifndef HAVE_isl. */
|
#else /* If isl is not available: #ifndef HAVE_isl. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
--- gcc/toplev.c.jj 2017-02-19 13:02:31.000000000 +0100
|
--- gcc/toplev.cc.jj 2017-02-19 13:02:31.000000000 +0100
|
||||||
+++ gcc/toplev.c 2017-02-19 16:50:25.536301350 +0100
|
+++ gcc/toplev.cc 2017-02-19 16:50:25.536301350 +0100
|
||||||
@@ -94,6 +94,7 @@ along with GCC; see the file COPYING3.
|
@@ -94,6 +94,7 @@ along with GCC; see the file COPYING3.
|
||||||
|
|
||||||
#ifdef HAVE_isl
|
#ifdef HAVE_isl
|
71
gcc13-isl-dl2.patch
Normal file
71
gcc13-isl-dl2.patch
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
2011-04-04 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* toplev.cc (toplev_main_argv): New variable.
|
||||||
|
(toplev_main): Initialize it.
|
||||||
|
* graphite.cc (init_isl_pointers): Load libisl.so.23 from gcc's private
|
||||||
|
directory.
|
||||||
|
|
||||||
|
--- gcc/toplev.cc.jj 2008-12-09 23:59:10.000000000 +0100
|
||||||
|
+++ gcc/toplev.cc 2009-01-27 14:33:52.000000000 +0100
|
||||||
|
@@ -113,6 +113,8 @@ static void finalize (bool);
|
||||||
|
static void crash_signal (int) ATTRIBUTE_NORETURN;
|
||||||
|
static void compile_file (void);
|
||||||
|
|
||||||
|
+const char **toplev_main_argv;
|
||||||
|
+
|
||||||
|
/* Decoded options, and number of such options. */
|
||||||
|
struct cl_decoded_option *save_decoded_options;
|
||||||
|
unsigned int save_decoded_options_count;
|
||||||
|
@@ -2239,6 +2241,8 @@ toplev::main (int argc, char **argv)
|
||||||
|
|
||||||
|
expandargv (&argc, &argv);
|
||||||
|
|
||||||
|
+ toplev_main_argv = CONST_CAST2 (const char **, char **, argv);
|
||||||
|
+
|
||||||
|
/* Initialization of GCC's environment, and diagnostics. */
|
||||||
|
general_init (argv[0], m_init_signals);
|
||||||
|
|
||||||
|
--- gcc/graphite.cc.jj 2010-12-01 10:24:32.000000000 -0500
|
||||||
|
+++ gcc/graphite.cc 2010-12-01 11:46:07.832118193 -0500
|
||||||
|
@@ -64,11 +64,39 @@ __typeof (isl_pointers__) isl_pointers__
|
||||||
|
static bool
|
||||||
|
init_isl_pointers (void)
|
||||||
|
{
|
||||||
|
- void *h;
|
||||||
|
+ void *h = NULL;
|
||||||
|
+ extern const char **toplev_main_argv;
|
||||||
|
+ char *buf, *p;
|
||||||
|
+ size_t len;
|
||||||
|
|
||||||
|
if (isl_pointers__.inited)
|
||||||
|
return isl_pointers__.h != NULL;
|
||||||
|
- h = dlopen ("libisl.so.23", RTLD_LAZY);
|
||||||
|
+ len = progname - toplev_main_argv[0];
|
||||||
|
+ buf = XALLOCAVAR (char, len + sizeof "libisl.so.23");
|
||||||
|
+ memcpy (buf, toplev_main_argv[0], len);
|
||||||
|
+ strcpy (buf + len, "libisl.so.23");
|
||||||
|
+ len += sizeof "libisl.so.23";
|
||||||
|
+ p = strstr (buf, "/libexec/");
|
||||||
|
+ if (p != NULL)
|
||||||
|
+ {
|
||||||
|
+ while (1)
|
||||||
|
+ {
|
||||||
|
+ char *q = strstr (p + 8, "/libexec/");
|
||||||
|
+ if (q == NULL)
|
||||||
|
+ break;
|
||||||
|
+ p = q;
|
||||||
|
+ }
|
||||||
|
+ memmove (p + 4, p + 8, len - (p + 8 - buf));
|
||||||
|
+ h = dlopen (buf, RTLD_LAZY);
|
||||||
|
+ if (h == NULL)
|
||||||
|
+ {
|
||||||
|
+ len = progname - toplev_main_argv[0];
|
||||||
|
+ memcpy (buf, toplev_main_argv[0], len);
|
||||||
|
+ strcpy (buf + len, "libisl.so.23");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ if (h == NULL)
|
||||||
|
+ h = dlopen (buf, RTLD_LAZY);
|
||||||
|
isl_pointers__.h = h;
|
||||||
|
if (h == NULL)
|
||||||
|
return false;
|
@ -4,7 +4,7 @@
|
|||||||
<a class="link" href="https://www.fsf.org" target="_top">FSF
|
<a class="link" href="https://www.fsf.org" target="_top">FSF
|
||||||
</a>
|
</a>
|
||||||
</p><p>
|
</p><p>
|
||||||
+ Release 10.0.1
|
+ Release 13.2.1
|
||||||
+ </p><p>
|
+ </p><p>
|
||||||
Permission is granted to copy, distribute and/or modify this
|
Permission is granted to copy, distribute and/or modify this
|
||||||
document under the terms of the GNU Free Documentation
|
document under the terms of the GNU Free Documentation
|
||||||
@ -17,7 +17,7 @@
|
|||||||
</p><p>
|
</p><p>
|
||||||
- The API documentation, rendered into HTML, can be viewed online
|
- The API documentation, rendered into HTML, can be viewed online
|
||||||
+ The API documentation, rendered into HTML, can be viewed locally
|
+ The API documentation, rendered into HTML, can be viewed locally
|
||||||
+ <a class="link" href="api/index.html" target="_top">for the 10.0.1 release</a>,
|
+ <a class="link" href="api/index.html" target="_top">for the 13.2.1 release</a>,
|
||||||
+ online
|
+ online
|
||||||
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
|
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
|
||||||
and
|
and
|
21
gcc13-rh1574936.patch
Normal file
21
gcc13-rh1574936.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
crt files and statically linked libgcc objects cause false positives
|
||||||
|
in annobin coverage, so we add the assembler flag to generate notes
|
||||||
|
for them.
|
||||||
|
|
||||||
|
The patch also adds notes to libgcc_s.so, but this is harmless because
|
||||||
|
these notes only confer that there is no other annobin markup.
|
||||||
|
|
||||||
|
2018-07-25 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
|
* config/t-linux (LIBGCC2_CFLAGS, CRTSTUFF_CFLAGS): Add
|
||||||
|
-Wa,--generate-missing-build-notes=yes.
|
||||||
|
|
||||||
|
--- libgcc/config/t-linux 2022-12-15 19:25:20.581394950 +0100
|
||||||
|
+++ libgcc/config/t-linux 2023-03-21 22:00:37.054478562 +0100
|
||||||
|
@@ -1,3 +1,6 @@
|
||||||
|
# Override t-slibgcc-elf-ver to export some libgcc symbols with
|
||||||
|
# the symbol versions that glibc used.
|
||||||
|
SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
|
||||||
|
+
|
||||||
|
+LIBGCC2_CFLAGS += -Wa,--generate-missing-build-notes=yes
|
||||||
|
+CRTSTUFF_CFLAGS += -Wa,--generate-missing-build-notes=yes
|
@ -1,21 +1,21 @@
|
|||||||
--- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500
|
--- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500
|
||||||
+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500
|
+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500
|
||||||
@@ -2790,7 +2790,7 @@ sparc-*-rtems*)
|
@@ -3330,7 +3330,7 @@ sparc-*-rtems*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
|
tm_file="${tm_file} elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
|
||||||
tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
|
tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
|
||||||
;;
|
;;
|
||||||
-sparc-*-linux*)
|
-sparc-*-linux*)
|
||||||
+sparc-*-linux* | sparcv9-*-linux*)
|
+sparc-*-linux* | sparcv9-*-linux*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
|
tm_file="${tm_file} elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
|
||||||
extra_options="${extra_options} sparc/long-double-switch.opt"
|
extra_options="${extra_options} sparc/long-double-switch.opt"
|
||||||
case ${target} in
|
case ${target} in
|
||||||
@@ -2844,7 +2844,7 @@ sparc64-*-rtems*)
|
@@ -3384,7 +3384,7 @@ sparc64-*-rtems*)
|
||||||
extra_options="${extra_options}"
|
extra_options="${extra_options}"
|
||||||
tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
|
tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
|
||||||
;;
|
;;
|
||||||
-sparc64-*-linux*)
|
-sparc64-*-linux*)
|
||||||
+sparc64*-*-linux*)
|
+sparc64*-*-linux*)
|
||||||
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
|
tm_file="sparc/biarch64.h ${tm_file} elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
|
||||||
extra_options="${extra_options} sparc/long-double-switch.opt"
|
extra_options="${extra_options} sparc/long-double-switch.opt"
|
||||||
tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
|
tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
|
||||||
--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
|
--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
|
85
isl-rh2155127.patch
Normal file
85
isl-rh2155127.patch
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
From: Sven Verdoolaege <sven.verdoolaege@gmail.com>
|
||||||
|
Date: Mon, 6 Jun 2022 12:56:02 +0000 (+0200)
|
||||||
|
Subject: update m4/ax_prog_cc_for_build.m4
|
||||||
|
X-Git-Tag: isl-0.25~11
|
||||||
|
X-Git-Url: https://repo.or.cz/isl.git/commitdiff_plain/b4dcdfadc29a6c9f410a72f345f3f32725b1d38b
|
||||||
|
|
||||||
|
update m4/ax_prog_cc_for_build.m4
|
||||||
|
|
||||||
|
In particular, update to the latest version from the autoconf archive,
|
||||||
|
but preserve the changes from isl-0.22.1-358-gcd42abdf2
|
||||||
|
(m4/ax_prog_cc_for_build.m4: do not override host compiler dependency style,
|
||||||
|
Tue Jun 9 10:54:10 2020 +0200).
|
||||||
|
|
||||||
|
Signed-off-by: Sven Verdoolaege <sven.verdoolaege@gmail.com>
|
||||||
|
|
||||||
|
--- isl-0.24/m4/ax_prog_cc_for_build.m4.jj 2021-03-02 12:07:09.000000000 +0100
|
||||||
|
+++ isl-0.24/m4/ax_prog_cc_for_build.m4 2022-12-20 18:11:18.855777817 +0100
|
||||||
|
@@ -32,7 +32,7 @@
|
||||||
|
# and this notice are preserved. This file is offered as-is, without any
|
||||||
|
# warranty.
|
||||||
|
|
||||||
|
-#serial 18
|
||||||
|
+#serial 21
|
||||||
|
|
||||||
|
AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
|
||||||
|
AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
|
||||||
|
@@ -44,6 +44,8 @@ dnl Use the standard macros, but make th
|
||||||
|
dnl
|
||||||
|
pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
|
||||||
|
pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
|
||||||
|
+pushdef([ac_cv_prog_cc_c99], ac_cv_build_prog_cc_c99)dnl
|
||||||
|
+pushdef([ac_cv_prog_cc_c11], ac_cv_build_prog_cc_c11)dnl
|
||||||
|
pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
|
||||||
|
pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
|
||||||
|
pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
|
||||||
|
@@ -86,7 +88,21 @@ AS_IF([test -n "$build"], [ac_build
|
||||||
|
[test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
|
||||||
|
|
||||||
|
AC_LANG_PUSH([C])
|
||||||
|
+
|
||||||
|
+dnl The pushdef([ac_cv_c_compiler_gnu], ...) currently does not cover
|
||||||
|
+dnl the use of this variable in _AC_LANG_COMPILER_GNU called by
|
||||||
|
+dnl AC_PROG_CC. Unset this cache variable temporarily as a workaround.
|
||||||
|
+was_set_c_compiler_gnu=${[ac_cv_c_compiler_gnu]+y}
|
||||||
|
+AS_IF([test ${was_set_c_compiler_gnu}],
|
||||||
|
+ [saved_c_compiler_gnu=$[ac_cv_c_compiler_gnu]
|
||||||
|
+ AS_UNSET([[ac_cv_c_compiler_gnu]])])
|
||||||
|
+
|
||||||
|
AC_PROG_CC
|
||||||
|
+
|
||||||
|
+dnl Restore ac_cv_c_compiler_gnu
|
||||||
|
+AS_IF([test ${was_set_c_compiler_gnu}],
|
||||||
|
+ [[ac_cv_c_compiler_gnu]=$[saved_c_compiler_gnu]])
|
||||||
|
+
|
||||||
|
_AC_COMPILER_EXEEXT
|
||||||
|
_AC_COMPILER_OBJEXT
|
||||||
|
AC_PROG_CPP
|
||||||
|
--- isl-0.24/configure.jj 2021-04-26 11:13:19.000000000 +0200
|
||||||
|
+++ isl-0.24/configure 2022-12-20 18:11:36.882518568 +0100
|
||||||
|
@@ -5002,6 +4990,13 @@ ac_compile='$CC_FOR_BUILD -c $CFLAGS_FOR
|
||||||
|
ac_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5'
|
||||||
|
ac_compiler_gnu=$ac_cv_build_c_compiler_gnu
|
||||||
|
|
||||||
|
+
|
||||||
|
+was_set_c_compiler_gnu=${ac_cv_c_compiler_gnu+y}
|
||||||
|
+if test ${was_set_c_compiler_gnu}; then :
|
||||||
|
+ saved_c_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||||
|
+ { ac_cv_c_compiler_gnu=; unset ac_cv_c_compiler_gnu;}
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
ac_ext=c
|
||||||
|
ac_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD'
|
||||||
|
ac_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5'
|
||||||
|
@@ -5728,6 +5723,11 @@ else
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
+
|
||||||
|
+if test ${was_set_c_compiler_gnu}; then :
|
||||||
|
+ ac_cv_c_compiler_gnu=$saved_c_compiler_gnu
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
10
plans/ci.fmf
Normal file
10
plans/ci.fmf
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
summary: CI Gating Plan
|
||||||
|
discover:
|
||||||
|
how: fmf
|
||||||
|
directory: tests
|
||||||
|
prepare:
|
||||||
|
- name: prepare
|
||||||
|
how: shell
|
||||||
|
script: ./plans/prepare.sh
|
||||||
|
execute:
|
||||||
|
how: tmt
|
54
plans/prepare.sh
Executable file
54
plans/prepare.sh
Executable file
@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#
|
||||||
|
# Setup task for Fedora CI system. Install the x86_64 GCC build under test
|
||||||
|
# along with its respective i686 (compat arch) bits needed for the testing.
|
||||||
|
# KOJI_TASK_ID per https://github.com/fedora-ci/dist-git-pipeline/pull/50 .
|
||||||
|
#
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
true "V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V-V"
|
||||||
|
|
||||||
|
echo "KOJI_TASK_ID=$KOJI_TASK_ID"
|
||||||
|
|
||||||
|
. /etc/os-release
|
||||||
|
|
||||||
|
if [ "$ID" == "fedora" ] && [ "$(arch)" == "x86_64" ]; then
|
||||||
|
|
||||||
|
if [ -z "${KOJI_TASK_ID}" ]; then
|
||||||
|
echo "Missing koji task ID, skipping ..."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
tmpd=`mktemp -d`
|
||||||
|
pushd $tmpd
|
||||||
|
koji download-task $KOJI_TASK_ID --noprogress --arch=src
|
||||||
|
ls
|
||||||
|
VR=$(rpm -qp gcc* --queryformat='%{version}-%{release}')
|
||||||
|
popd
|
||||||
|
rm -rf $tmpd
|
||||||
|
|
||||||
|
tmpd=`mktemp -d`
|
||||||
|
pushd $tmpd
|
||||||
|
koji download-task $KOJI_TASK_ID --noprogress --arch=x86_64 --arch=noarch
|
||||||
|
rm -f *debuginfo*
|
||||||
|
ls
|
||||||
|
dnf -y install *.rpm
|
||||||
|
popd
|
||||||
|
rm -rf $tmpd
|
||||||
|
|
||||||
|
tmpd=`mktemp -d`
|
||||||
|
pushd $tmpd
|
||||||
|
koji download-task $KOJI_TASK_ID --noprogress --arch=i686
|
||||||
|
rm -f *debuginfo*
|
||||||
|
ls
|
||||||
|
yum -y install libgcc-$VR* libgfortran-$VR* libgomp-$VR* libitm-$VR* \
|
||||||
|
libstdc++-devel-$VR* libstdc++-$VR* libstdc++-static-$VR*
|
||||||
|
popd
|
||||||
|
rm -rf $tmpd
|
||||||
|
else
|
||||||
|
echo "Not Fedora x86_64, skipping..."
|
||||||
|
fi
|
||||||
|
|
||||||
|
true "^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^"
|
7
sources
7
sources
@ -1,3 +1,4 @@
|
|||||||
SHA512 (gcc-10.0.1-20200216.tar.xz) = 56507e273b00e85ed4145e80df65d9b4e4791f23e7cb5d931f85b9420cbf3a7125ba49978dc73c2987c0a6101f741dc5a60a08cb3346d4c5082400cbcfcdd008
|
SHA512 (gcc-13.2.1-20230728.tar.xz) = 7698968e1eabfe8ae8ff79806d9c15a50e861b2776ea5968e6b1f2ebf399d7b62cc4066d7d43b3cd791b790f41c2da401c33a0b258b640bf4c1f1cebd2cac99a
|
||||||
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 9ceea0b883185fe489724d54a7e909bb6ed4785fcadf80162033dc6a133e2657337175601278e4155d1f8fac275ff9c8a02572aea876166c608774c809f832e9
|
SHA512 (isl-0.24.tar.bz2) = aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95
|
||||||
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7
|
SHA512 (newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz) = bef3fa04f7b1a915fc1356ebed114698b5cc835e9fa04b0becff05a9efc76c59fb376482990873d222d7acdcfee3c4f30f5a4cb7f3be1f291f1fa5f1c7a9d983
|
||||||
|
SHA512 (nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz) = c719fad8689b2b6f3c888d0308604ddef884037d71ec3e755c68052d30075a181c29358fda516833ace437921b17602b147be7886317be94ec9736faa8cb52be
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
int i = 2;
|
||||||
|
if (-10 * abs (i - 1) == 10 * abs (i - 1))
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
summary: gcc optimization error for neg number * abs() [extract_muldiv]
|
||||||
|
description: |
|
||||||
|
abs() from gcc was broken so it gave wrong results.
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
path: /tests/Regression/394271-gcc-optimization-error-for-neg-number-abs
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
duration: 5m
|
||||||
|
enabled: true
|
||||||
|
tier: '1'
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=394271
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
- DTS8-INTEROP-CI
|
||||||
|
- DTS9-INTEROP-CI
|
||||||
|
- Tier1
|
||||||
|
- dts_smoke
|
||||||
|
- dts_stable
|
||||||
|
extra-nitrate: TC#0062143
|
||||||
|
extra-summary: /tools/gcc/Regression/gcc/394271-gcc-optimization-error-for-neg-number-abs
|
||||||
|
extra-task: /tools/gcc/Regression/gcc/394271-gcc-optimization-error-for-neg-number-abs
|
52
tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/runtest.sh
Executable file
52
tests/Regression/394271-gcc-optimization-error-for-neg-number-abs/runtest.sh
Executable file
@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Copyright (c) 2008, 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# Author: Michal Nowak <mnowak@redhat.com>
|
||||||
|
# Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
# Include rhts environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
GCC="${GCC:-$(type -P gcc)}"
|
||||||
|
PACKAGE=$(rpm --qf '%{name}' -qf $GCC)
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\`mktemp -d\`"
|
||||||
|
rlRun "cp -v abs.c $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
gcc -dumpversion | grep -q '^4\.4' && export OLDGCC="true"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest "Testing the executable"
|
||||||
|
OPTS="-O0 -O1 -O2 -O3 -Os -Ofast -Og"
|
||||||
|
if [ "$OLDGCC" = "true" ]; then
|
||||||
|
OPTS=${OPTS/ -Ofast -Og/}
|
||||||
|
fi
|
||||||
|
for opt in "" $OPTS; do
|
||||||
|
rlRun "$GCC -g $opt -o abs$opt abs.c" 0 "Compiling the test case [ $opt ]"
|
||||||
|
rlRun "./abs$opt" 0 "Checking whether we have an working executable [ $opt ]"
|
||||||
|
done
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,29 @@
|
|||||||
|
summary: unzip problem with CRC error for src-4.1.0.zip file on s390x
|
||||||
|
description: |
|
||||||
|
A customer has been trying to unzip the file src-4.1.0.zip
|
||||||
|
which is contained libgcj4-src-4.1.0-18.EL4.s390x.rpm. However,
|
||||||
|
unzip command can't run correctly with the CRC errors
|
||||||
|
It seems that the src-4.1.0.zip is broken.
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
- libgcj-src
|
||||||
|
duration: 5m
|
||||||
|
enabled: true
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
- Tier1
|
||||||
|
tier: '1'
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=462397
|
||||||
|
adjust:
|
||||||
|
- enabled: false
|
||||||
|
when: distro != rhel-5 and distro != rhel-6
|
||||||
|
continue: false
|
||||||
|
extra-nitrate: TC#0147365
|
||||||
|
extra-summary: /tools/gcc/Sanity/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file
|
||||||
|
extra-task: /tools/gcc/Sanity/462397-unzip-problem-with-CRC-error-for-src-4.1.0.zip-file
|
@ -0,0 +1,53 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Copyright (c) 2008, 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# Author: Michal Nowak <mnowak@redhat.com>
|
||||||
|
# Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
# Include rhts environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGES=(gcc libgcj-src)
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
for p in "${PACKAGES[@]}"; do
|
||||||
|
rlAssertRpm "$p"
|
||||||
|
done; unset p
|
||||||
|
rlRun "TmpDir=\`mktemp -d\`"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
srclist="/usr/share/java/src-*"
|
||||||
|
for src in ${srclist}; do
|
||||||
|
|
||||||
|
rlPhaseStartTest "Try to unzip src file"
|
||||||
|
rm -rf tmp/; mkdir tmp/
|
||||||
|
rlRun "cp -fv ${src} tmp/" 0 "[${src}]: Copy the zip file to tmp/"
|
||||||
|
cd tmp/
|
||||||
|
rlRun "unzip ${src}" 0 "[${src}] Verify that is possible to unzip ${src}"
|
||||||
|
cd ..
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,22 @@
|
|||||||
|
subroutine a
|
||||||
|
INTEGER*4 a_i
|
||||||
|
common /block/a_i
|
||||||
|
a_i = 1
|
||||||
|
end subroutine a
|
||||||
|
subroutine b
|
||||||
|
INTEGER*4 b_i
|
||||||
|
common /block/b_i
|
||||||
|
a_i = 3
|
||||||
|
b_i = 2
|
||||||
|
end subroutine b
|
||||||
|
subroutine c
|
||||||
|
INTEGER*4 a_i
|
||||||
|
common /block/a_i
|
||||||
|
if (a_i .ne. 2) call abort
|
||||||
|
end subroutine c
|
||||||
|
program abc
|
||||||
|
call a
|
||||||
|
call b
|
||||||
|
call c
|
||||||
|
end program abc
|
||||||
|
|
@ -0,0 +1,38 @@
|
|||||||
|
summary: Fortran DW_TAG_common_block has incorrect placement/scope
|
||||||
|
description: |+
|
||||||
|
Problem: gcc-4.3.2 / gfortran-4.3.2 (in the forthcoming tech-preview for
|
||||||
|
RHEL5.3) appears to also have the "DW_TAG_common_block has incorrect
|
||||||
|
placement/scope" issues listed in the following gcc upstream bug:
|
||||||
|
|
||||||
|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37738
|
||||||
|
|
||||||
|
What gfortran is doing currently is:
|
||||||
|
|
||||||
|
(1) Merges all common blocks into a single one.
|
||||||
|
(2) Places this single common block into the first subroutine where it was
|
||||||
|
used.
|
||||||
|
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
path: /tests/Regression/465974-DW_TAG_common_block-has-incorrect-placement-scope
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
- gcc-gfortran
|
||||||
|
duration: 5m
|
||||||
|
tier: '1'
|
||||||
|
enabled: true
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=465974
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
- DTS8-INTEROP-CI
|
||||||
|
- DTS9-INTEROP-CI
|
||||||
|
- Tier1
|
||||||
|
- dts_smoke
|
||||||
|
- dts_stable
|
||||||
|
extra-nitrate: TC#0062268
|
||||||
|
extra-summary: /tools/gcc/g77/465974-DW_TAG_common_block-has-incorrect-placement-scope
|
||||||
|
extra-task: /tools/gcc/g77/465974-DW_TAG_common_block-has-incorrect-placement-scope
|
@ -0,0 +1,56 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (c) 2008, 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# Author: Michal Nowak <mnowak@redhat.com>
|
||||||
|
# Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
# Include rhts environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGES=(gcc gcc-gfortran)
|
||||||
|
|
||||||
|
GFORTRAN=${GFORTRAN:-gfortran}
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
if type gcc | grep -q -v toolset; then
|
||||||
|
# assert only of not devtoolset/gcc-toolset
|
||||||
|
for p in "${PACKAGES[@]}"; do
|
||||||
|
rlAssertRpm "$p"
|
||||||
|
done; unset p
|
||||||
|
fi
|
||||||
|
rlRun "TmpDir=\`mktemp -d\`"
|
||||||
|
rlRun "cp -v abc.f90 $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest "Testing the executable via readelf -w"
|
||||||
|
# Compile
|
||||||
|
rlRun "$GFORTRAN -g -o abc abc.f90" 0 "Compiling the test case: abc.f90"
|
||||||
|
rlRun "./abc" 0 "Checking whether we have an working executable"
|
||||||
|
rlWatchdog "readelf -w abc 2>&1 | tee gcc-readelf.log" 10
|
||||||
|
rlAssert0 "Checking if 'readelf' ends itself" $?
|
||||||
|
# Test
|
||||||
|
cb=$(grep Abbrev gcc-readelf.log | grep DW_TAG_common_block -c)
|
||||||
|
rlRun "if [ ${cb} -eq 3 ]; then true; else false; fi" 0 "Expected amount of common blocks is 3; got ${cb}"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,29 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
/* Compile flags:
|
||||||
|
* gcc -fno-builtin-isascii -fno-builtin-isalnum -o builtin builtin.c
|
||||||
|
*
|
||||||
|
* Expected output:
|
||||||
|
* Using custom isascii() function
|
||||||
|
* ret = 0
|
||||||
|
*
|
||||||
|
* Expected return value:
|
||||||
|
* 0
|
||||||
|
*/
|
||||||
|
|
||||||
|
int isascii(int c)
|
||||||
|
{
|
||||||
|
printf("Using custom isascii() function\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
int c = 65;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = isascii(c);
|
||||||
|
printf("ret = %d\n", ret);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
summary: 'Test for bz515799 ([RHEL5] gcc: if more than one -fno-builtin-*)'
|
||||||
|
description: |
|
||||||
|
Bug summary: [RHEL5] gcc: if more than one -fno-builtin-* options are specified, only the last one is effective
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=515799
|
||||||
|
|
||||||
|
This test compiles builtin.c with the flags '-fno-builtin-isascii
|
||||||
|
-fno-builtin-isalnum'. This program contains a custom isascii() function
|
||||||
|
that always returns 0. If gcc honors the -fno-builtin-isascii flag, it
|
||||||
|
will return 0. If not, it will use the built-in isascii() function which
|
||||||
|
will return 1.
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
path: /tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
duration: 5m
|
||||||
|
enabled: true
|
||||||
|
tier: '1'
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=515799
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
- DTS8-INTEROP-CI
|
||||||
|
- DTS9-INTEROP-CI
|
||||||
|
- Tier1
|
||||||
|
- dts_smoke
|
||||||
|
- dts_stable
|
||||||
|
extra-nitrate: TC#0063259
|
||||||
|
extra-summary: /tools/gcc/Regression/gcc/515799-RHEL5-gcc-if-more-than-one-fno-builtin
|
||||||
|
extra-task: /tools/gcc/Regression/gcc/515799-RHEL5-gcc-if-more-than-one-fno-builtin
|
58
tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/runtest.sh
Executable file
58
tests/Regression/515799-RHEL5-gcc-if-more-than-one-fno-builtin/runtest.sh
Executable file
@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/rhts-library/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/gcc/515799-RHEL5-gcc-if-more-than-one-fno-builtin
|
||||||
|
# Description: Test for bz515799 ([RHEL5] gcc: if more than one -fno-builtin-*)
|
||||||
|
# Author: Jeffrey Bastian <jbastian@redhat.com>
|
||||||
|
# Marek Polacek <polacek@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2009, 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public
|
||||||
|
# License along with this program; if not, write to the Free
|
||||||
|
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include rhts environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGES=(gcc)
|
||||||
|
|
||||||
|
GCC=${GCC:-gcc}
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
for p in "${PACKAGES[@]}"; do
|
||||||
|
rlAssertRpm "$p"
|
||||||
|
done; unset p
|
||||||
|
rlRun "TmpDir=\`mktemp -d\`"
|
||||||
|
rlRun "cp -v builtin.c $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "$GCC -fno-builtin-isascii -fno-builtin-isalnum -o builtin builtin.c"
|
||||||
|
rlAssertExists "builtin"
|
||||||
|
rlRun "./builtin"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,5 @@
|
|||||||
|
public class foo {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.loadLibrary("foolib");
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
summary: 'CVE-2009-3736 libtool: libltdl may load and execute code from a library
|
||||||
|
in the current directory'
|
||||||
|
description: |
|
||||||
|
cat > ~/foo.java <\EOF public class foo { public static void main(String[] args) { System.loadLibrary("foolib"); } } EOF
|
||||||
|
cd
|
||||||
|
gcj -C foo.java
|
||||||
|
cd /tmp
|
||||||
|
strace -f -v -s1024 gij -cp ~/ foo 2>&1 | grep foolib
|
||||||
|
|
||||||
|
(resp. s/gcj/gcj4/g;s/gij/gij4/ for gcc4 testing).
|
||||||
|
|
||||||
|
If any relative path is seen, it is wrong. Bad examples are
|
||||||
|
|
||||||
|
{lib,}foolib.la
|
||||||
|
{hwcap,0,nosegneg}/{lib,}foolib.{so,la}
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
- gcc-java
|
||||||
|
- libgcj
|
||||||
|
- strace
|
||||||
|
duration: 5m
|
||||||
|
enabled: false
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
- Tier1
|
||||||
|
tier: '1'
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=537941
|
||||||
|
adjust:
|
||||||
|
- enabled: true
|
||||||
|
when: distro == rhel-6 or distro == rhel-5
|
||||||
|
extra-nitrate: TC#0062145
|
||||||
|
extra-summary: /tools/gcc/Regression/gcj/537941-libltdl-may-load-library-in-current-directory
|
||||||
|
extra-task: /tools/gcc/Regression/gcj/537941-libltdl-may-load-library-in-current-directory
|
@ -0,0 +1,71 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Copyright (c) 2008, 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# Author: Michal Nowak <mnowak@redhat.com>
|
||||||
|
# Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
# Include rhts environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGES=(gcc libgcj strace gcc-java)
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
for p in "${PACKAGES[@]}"; do
|
||||||
|
rlAssertRpm "$p"
|
||||||
|
done; unset p
|
||||||
|
rlRun "TmpDir=\`mktemp -d\`"
|
||||||
|
rlRun "cp -v foo.java $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
# I weeded out the if (isRHEL 3) support.
|
||||||
|
for gj in "" "4"; do
|
||||||
|
gcj_name="/usr/bin/gcj${gj}"
|
||||||
|
gij_name="/usr/bin/gij${gj}"
|
||||||
|
if [ -x ${gcj_name} ] && [ -x ${gij_name} ]; then
|
||||||
|
gcj_basename=$(basename ${gcj_name})
|
||||||
|
gij_basename=$(basename ${gij_name})
|
||||||
|
|
||||||
|
rlPhaseStartTest "[${gij_basename}] Interpreting and compiling via java"
|
||||||
|
rlRun "${gcj_name} -C foo.java" 0 "[${gcj_basename}] Creating bytecode"
|
||||||
|
mv foo.class ~
|
||||||
|
pushd /tmp
|
||||||
|
|
||||||
|
echo "Dry run w/o strace"
|
||||||
|
${gij_basename} -cp ~/ foo
|
||||||
|
|
||||||
|
echo "=== Dry run end ==="
|
||||||
|
strace -f -v -s1024 ${gij_basename} -cp ~/ foo 2>&1 | tee out.${gij_basename}
|
||||||
|
echo
|
||||||
|
grep foolib out.${gij_basename}
|
||||||
|
foolib_cnt="$(grep foolib out.${gij_basename} -c)"
|
||||||
|
echo
|
||||||
|
rlRun "if [ ${foolib_cnt} -ne 0 ]; then egrep '\"libfoolib.la|\"foolib.la' out.${gij_basename}; else echo \"Zero lines w/ foolib\"; true; fi" 1 "[${gij_basename}] Interpreting test case" # use 'true' (sic!)
|
||||||
|
popd
|
||||||
|
rm -f ~/foo.class
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,32 @@
|
|||||||
|
summary: Test for BZ#1611637 (devtoolset-8-gcc includes avx512vbmi2intrin.h but)
|
||||||
|
description: |
|
||||||
|
Bug summary: devtoolset-8-gcc includes avx512vbmi2intrin.h but does not contain it
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1611637
|
||||||
|
|
||||||
|
The list of intrinsic headers keeps changing every release, sometimes
|
||||||
|
even on the release branch, and %files needs to be in sync with what has
|
||||||
|
been changed in gcc/config.gcc. immintrin.h is one of those headers and
|
||||||
|
this test makes sure that we can #include it.
|
||||||
|
contact: Vaclav Kadlcik <vkadlcik@redhat.com>
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
duration: 5m
|
||||||
|
enabled: true
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1611637
|
||||||
|
adjust:
|
||||||
|
- enabled: false
|
||||||
|
when: arch != x86_64
|
||||||
|
continue: false
|
||||||
|
- enabled: false
|
||||||
|
when: distro == rhel-5
|
||||||
|
continue: false
|
||||||
|
extra-nitrate: TC#0575308
|
||||||
|
extra-summary: /tools/gcc/Regression/bz1611637-immintrin_h_include_list_does_not_match_release
|
||||||
|
extra-task: /tools/gcc/Regression/bz1611637-immintrin_h_include_list_does_not_match_release
|
@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz1611637-immintrin_h_include_list_does_not_match_release
|
||||||
|
# Description: Test for BZ#1611637 (devtoolset-8-gcc includes avx512vbmi2intrin.h but)
|
||||||
|
# Author: Michael Petlan <mpetlan@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2018 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
GCC=${GCC:-gcc}
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
cat > a.c <<EOF
|
||||||
|
#include <immintrin.h>
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
rlAssertExists "a.c"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "$GCC -o a a.c"
|
||||||
|
rlAssertExists "a"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "rm -f a a.c"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,12 @@
|
|||||||
|
summary: Test for BZ#1815504 (Regression in the line information debug)
|
||||||
|
description: |
|
||||||
|
Bug summary: Regression in the line information debug information generated by gcc
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1815504
|
||||||
|
recommend:
|
||||||
|
- gcc
|
||||||
|
- valgrind
|
||||||
|
duration: 5m
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1815504
|
||||||
|
extra-summary: /tools/gcc/Regression/bz1815504-Regression-in-the-line-information-debug
|
||||||
|
extra-task: /tools/gcc/Regression/bz1815504-Regression-in-the-line-information-debug
|
@ -0,0 +1,50 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz1815504-Regression-in-the-line-information-debug
|
||||||
|
# Description: Test for BZ#1815504 (Regression in the line information debug)
|
||||||
|
# Author: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="gcc"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "valgrind -q date &> log" 0
|
||||||
|
rlAssertNotGrep "Can't handle inlined call info entry with line number" log
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,17 @@
|
|||||||
|
summary: Test for BZ#1852781 (Compiling with -flto and -g removes CET support)
|
||||||
|
description: |
|
||||||
|
Bug summary: Compiling with -flto and -g removes CET support
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1852781
|
||||||
|
contact: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- gcc
|
||||||
|
- binutils
|
||||||
|
duration: 15m
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1852781
|
||||||
|
extra-summary: /tools/gcc/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support
|
||||||
|
extra-task: /tools/gcc/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support
|
@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz1852781-Compiling-with-flto-and-g-removes-CET-support
|
||||||
|
# Description: Test for BZ#1852781 (Compiling with -flto and -g removes CET support)
|
||||||
|
# Author: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="gcc"
|
||||||
|
TESTPROG="x"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "cp $TESTPROG.c $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "gcc -flto -c -fcf-protection -g $TESTPROG.c"
|
||||||
|
rlRun "gcc -flto -Wl,-z,cet-report=error -fcf-protection -g $TESTPROG.o &> log"
|
||||||
|
rlAssertNotGrep " missing IBT and SHSTK properties" log
|
||||||
|
rlRun "readelf --wide --notes a.out | grep IBT &> log"
|
||||||
|
rlAsserGrep "IBT, SHSTK" log
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,8 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
printf ("hello\n");
|
||||||
|
return 0;
|
||||||
|
}
|
@ -0,0 +1,17 @@
|
|||||||
|
summary: Test for BZ#1853900 (typeinfo for stdcodecvt_utf8<wchar_t, 1114111ul,)
|
||||||
|
description: |
|
||||||
|
Bug summary: typeinfo for std::codecvt_utf8<wchar_t, 1114111ul, (std::codecvt_mode)0> not found
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1853900
|
||||||
|
contact: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- gcc
|
||||||
|
- gcc-c++
|
||||||
|
duration: 10m
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1853900
|
||||||
|
extra-summary: /tools/gcc/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul
|
||||||
|
extra-task: /tools/gcc/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul
|
@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz1853900-typeinfo-for-std-codecvt-utf8-wchar-t-1114111ul
|
||||||
|
# Description: Test for BZ#1853900 (typeinfo for stdcodecvt_utf8<wchar_t, 1114111ul,)
|
||||||
|
# Author: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="gcc"
|
||||||
|
TESTPROG="test.cc"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "cp $TESTPROG $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "g++ -std=c++17 $TESTPROG &> log"
|
||||||
|
rlAssertNotGrep "hidden symbol " log
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,7 @@
|
|||||||
|
#include <filesystem>
|
||||||
|
|
||||||
|
namespace fs = std::filesystem;
|
||||||
|
int main() {
|
||||||
|
fs::create_directory("sandbox");
|
||||||
|
fs::remove_all("sandbox");
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
summary: Test for BZ#1878841 (GOMP_parallel_loop_nonmonotonic_dynamic and)
|
||||||
|
description: |
|
||||||
|
Bug summary: GOMP_parallel_loop_nonmonotonic_dynamic and GOMP_loop_nonmonotonic_dynamic_next missing
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1878841
|
||||||
|
contact: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- gcc
|
||||||
|
duration: 5m
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1878841
|
||||||
|
extra-summary: /tools/gcc/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and
|
||||||
|
extra-task: /tools/gcc/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and
|
@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz1878841-GOMP-parallel-loop-nonmonotonic-dynamic-and
|
||||||
|
# Description: Test for BZ#1878841 (GOMP_parallel_loop_nonmonotonic_dynamic and)
|
||||||
|
# Author: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="gcc"
|
||||||
|
TESTPROG="tst"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "cp $TESTPROG.c $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "gcc -fopenmp $TESTPROG.c &> log"
|
||||||
|
rlAssertNotGrep "undefined reference to `GOMP_parallel_loop_nonmonotonic_dynamic`" log
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,6 @@
|
|||||||
|
#include <omp.h>
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
#pragma omp parallel for schedule(dynamic)
|
||||||
|
for (int i = 0; i < 10; i++);
|
||||||
|
}
|
@ -0,0 +1,2 @@
|
|||||||
|
info functions foo
|
||||||
|
q
|
@ -0,0 +1,17 @@
|
|||||||
|
summary: Test for BZ#1893340 (Variadic arguments are missing from debugging data)
|
||||||
|
description: |
|
||||||
|
Bug summary: Variadic arguments are missing from debugging data when building with -flto
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1893340
|
||||||
|
contact: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- gcc
|
||||||
|
- gdb
|
||||||
|
duration: 5m
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1893340
|
||||||
|
extra-summary: /tools/gcc/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data
|
||||||
|
extra-task: /tools/gcc/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data
|
@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz1893340-Variadic-arguments-are-missing-from-debugging-data
|
||||||
|
# Description: Test for BZ#1893340 (Variadic arguments are missing from debugging data)
|
||||||
|
# Author: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="gcc"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "cp test.c b.gdb $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "gcc -fPIC -shared -o libtest.so -O0 -g test.c"
|
||||||
|
rlRun "gdb -x b.gdb libtest.so > gdb.log"
|
||||||
|
rlAssertGrep "void foo(int, ...);" gdb.log
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,6 @@
|
|||||||
|
#include <stdarg.h>
|
||||||
|
void foo(int args, ...) {
|
||||||
|
va_list ap;
|
||||||
|
va_start(ap, args);
|
||||||
|
va_end(ap);
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
summary: Test for BZ#1896093 (Compiling with -flto=auto fails if make is not)
|
||||||
|
description: |
|
||||||
|
Bug summary: Compiling with -flto=auto fails if make is not installed
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1896093
|
||||||
|
contact: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- gcc
|
||||||
|
duration: 5m
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1896093
|
||||||
|
extra-summary: /tools/gcc/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not
|
||||||
|
extra-task: /tools/gcc/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not
|
@ -0,0 +1,56 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz1896093-Compiling-with-flto-auto-fails-if-make-is-not
|
||||||
|
# Description: Test for BZ#1896093 (Compiling with -flto=auto fails if make is not)
|
||||||
|
# Author: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="gcc"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
MAKE_WAS_PRESENT=false
|
||||||
|
rpm -q make &>/dev/null && MAKE_WAS_PRESENT=true
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlRun "rpm -e --nodeps make" 0,1
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
echo "void main() { }" | gcc -x c -flto=auto - &> log
|
||||||
|
rlAssertNotGrep "lto-wrapper: fatal error: execvp: No such file or directory" log
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
if $MAKE_WAS_PRESENT; then
|
||||||
|
rpm -q make &>/dev/null || rlRun "yum -y install make"
|
||||||
|
fi
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,5 @@
|
|||||||
|
program test_allocated
|
||||||
|
integer :: i = 4
|
||||||
|
real(4), allocatable :: x(:)
|
||||||
|
if (.not. allocated(x)) allocate(x(i))
|
||||||
|
end program test_allocated
|
@ -0,0 +1,17 @@
|
|||||||
|
summary: Test for BZ#1927579 (libgfortran seems to be missing)
|
||||||
|
description: |
|
||||||
|
Bug summary: libgfortran seems to be missing _gfortran_os_error_at
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1927579
|
||||||
|
contact: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- gcc
|
||||||
|
- gcc-gfortran
|
||||||
|
duration: 5m
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1927579
|
||||||
|
extra-summary: /tools/gcc/Regression/bz1927579-libgfortran-seems-to-be-missing
|
||||||
|
extra-task: /tools/gcc/Regression/bz1927579-libgfortran-seems-to-be-missing
|
51
tests/Regression/bz1927579-libgfortran-seems-to-be-missing/runtest.sh
Executable file
51
tests/Regression/bz1927579-libgfortran-seems-to-be-missing/runtest.sh
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz1927579-libgfortran-seems-to-be-missing
|
||||||
|
# Description: Test for BZ#1927579 (libgfortran seems to be missing)
|
||||||
|
# Author: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="gcc"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "cp alloc1.f90 $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "gfortran alloc1.f90" &> log
|
||||||
|
rlAssertNotGrep "alloc1.f90:(.text+0x131): undefined reference" log
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,17 @@
|
|||||||
|
summary: Test for BZ#1939638 (gcc-toolset-10-libasan-devel depends on the wrong)
|
||||||
|
description: |
|
||||||
|
Bug summary: gcc-toolset-10-libasan-devel depends on the wrong libasan
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1939638
|
||||||
|
contact: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- gcc
|
||||||
|
- libasan
|
||||||
|
duration: 5m
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1939638
|
||||||
|
extra-summary: /tools/gcc/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong
|
||||||
|
extra-task: /tools/gcc/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong
|
@ -0,0 +1,50 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz1939638-gcc-toolset-10-libasan-devel-depends-on-the-wrong
|
||||||
|
# Description: Test for BZ#1939638 (gcc-toolset-10-libasan-devel depends on the wrong)
|
||||||
|
# Author: Alexandra Hájková <ahajkova@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="gcc"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "echo 'int main () { return 0; }' | gcc -xc -fsanitize=address -" &> log
|
||||||
|
rlAssertNotGrep "cannot find /usr/lib64/libasan" log
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,27 @@
|
|||||||
|
summary: Test for BZ#1960701 (Wrong-code regression starting with gcc 8.2)
|
||||||
|
description: |
|
||||||
|
Bug summary: Wrong-code regression starting with gcc 8.2
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1960701
|
||||||
|
contact: Vaclav Kadlcik <vkadlcik@redhat.com>
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc-c++
|
||||||
|
duration: 15m
|
||||||
|
enabled: true
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1960701
|
||||||
|
adjust:
|
||||||
|
- enabled: false
|
||||||
|
when: distro < rhel-8 and collection is not defined
|
||||||
|
continue: false
|
||||||
|
- enabled: false
|
||||||
|
when: distro ~< rhel-8.5 and collection is not defined
|
||||||
|
continue: false
|
||||||
|
extra-nitrate: TC#0610780
|
||||||
|
extra-summary: /tools/gcc/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2
|
||||||
|
extra-task: /tools/gcc/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2
|
@ -0,0 +1,14 @@
|
|||||||
|
#include <vector>
|
||||||
|
|
||||||
|
struct T {
|
||||||
|
unsigned a;
|
||||||
|
float b {8.};
|
||||||
|
};
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
T t = {1};
|
||||||
|
std::vector<T> tt = {{1}, {2}};
|
||||||
|
if (t.a != 1 || t.b != 8.0f || tt[0].a != 1 || tt[0].b != 8.0f || tt[1].a != 2 || tt[1].b != 8.0f)
|
||||||
|
__builtin_abort ();
|
||||||
|
}
|
@ -0,0 +1,66 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz1960701-Wrong-code-regression-starting-with-gcc-8-2
|
||||||
|
# Description: Test for BZ#1960701 (Wrong-code regression starting with gcc 8.2)
|
||||||
|
# Author: Vaclav Kadlcik <vkadlcik@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
# Notes on relevancy
|
||||||
|
#
|
||||||
|
# The test is applicable to GCCs supporting -std=c++17. In practice,
|
||||||
|
# * any supported toolset GCC
|
||||||
|
# * system GCC of RHEL 8+; however the respective fix landed in 8.5
|
||||||
|
# and isn't planned for backporting.
|
||||||
|
#
|
||||||
|
# Suggested TCMS relevancy:
|
||||||
|
# distro < rhel-8 && collection !defined: False
|
||||||
|
# distro < rhel-8.5 && collection !defined: False
|
||||||
|
|
||||||
|
GCC="${GCC:-$(type -P gcc)}"
|
||||||
|
PACKAGE=$(rpm --qf '%{name}\n' -qf $GCC | head -1)
|
||||||
|
PACKAGES="${PACKAGE} ${PACKAGE}-c++"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlLogInfo "PACKAGES=$PACKAGES"
|
||||||
|
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
||||||
|
rlAssertRpm --all
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)"
|
||||||
|
rlRun "cp reproducer.cc $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun 'g++ -o reproducer -Wall -Wextra -std=c++17 reproducer.cc'
|
||||||
|
rlRun './reproducer'
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun 'popd'
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,16 @@
|
|||||||
|
summary: Test for BZ#1965951 (Wrong-code regression starting with gcc 8.5)
|
||||||
|
description: |
|
||||||
|
Bug summary: Wrong-code regression starting with gcc 8.5
|
||||||
|
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1965951
|
||||||
|
contact: Vaclav Kadlcik <vkadlcik@redhat.com>
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
recommend:
|
||||||
|
- gcc-c++
|
||||||
|
duration: 15m
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1965951
|
||||||
|
extra-summary: /tools/gcc/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5
|
||||||
|
extra-task: /tools/gcc/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5
|
@ -0,0 +1,12 @@
|
|||||||
|
#include <iostream>
|
||||||
|
struct S1 { virtual ~S1() = default; };
|
||||||
|
struct S2 { virtual void f1() = 0; };
|
||||||
|
struct S3: S1, S2 {
|
||||||
|
void f1() { f2(); }
|
||||||
|
virtual void f2() = 0;
|
||||||
|
};
|
||||||
|
struct S4: S3 {
|
||||||
|
void f2() { std::cout << "called\n"; }
|
||||||
|
using S2::f1;
|
||||||
|
};
|
||||||
|
int main() { S4().f1(); }
|
@ -0,0 +1,55 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz1965951-Wrong-code-regression-starting-with-gcc-8-5
|
||||||
|
# Description: Test for BZ#1965951 (Wrong-code regression starting with gcc 8.5)
|
||||||
|
# Author: Vaclav Kadlcik <vkadlcik@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
GCC="${GCC:-$(type -P gcc)}"
|
||||||
|
PACKAGE=$(rpm --qf '%{name}\n' -qf $GCC | head -1)
|
||||||
|
PACKAGES="${PACKAGE} ${PACKAGE}-c++"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlLogInfo "PACKAGES=$PACKAGES"
|
||||||
|
rlRun "dnf -y install $PACKAGES" 0-255
|
||||||
|
rlAssertRpm --all
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)"
|
||||||
|
rlRun "cp reproducer.cc $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun 'g++ -o reproducer reproducer.cc'
|
||||||
|
rlRun './reproducer'
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun 'popd'
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,26 @@
|
|||||||
|
summary: SystemTap fails to retrieve location attribute for local variable
|
||||||
|
description: ''
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
- systemtap
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
- systemtap
|
||||||
|
- kernel-devel
|
||||||
|
- kernel-headers
|
||||||
|
duration: 50m
|
||||||
|
enabled: true
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
- STAP-EWA
|
||||||
|
- mcu_stap
|
||||||
|
- mcu_stap_6g
|
||||||
|
- mcu_stap_7g
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=576287
|
||||||
|
extra-nitrate: TC#0062256
|
||||||
|
extra-summary: /tools/gcc/Regression/gcc/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable
|
||||||
|
extra-task: /tools/gcc/Regression/gcc/bz576287-SystemTap-fails-to-retrieve-location-attribute-for-local-variable
|
@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Copyright (c) 2010 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include rhts environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGE="gcc"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
kernel_uname="$(uname -a | awk '{ print $3 }')"
|
||||||
|
kernel_arch="$(uname -a | awk '{ print $12 }')"
|
||||||
|
echo kernel_arch: $kernel_arch
|
||||||
|
kernel_version="$(echo ${kernel_uname} | sed 's/-/ /' | awk '{ print $1 }')"
|
||||||
|
echo kernel_version: $kernel_version
|
||||||
|
kernel_release="$(echo ${kernel_uname} | sed 's/-/ /' | awk '{ print $2 }' | sed 's/\./ /g' | awk '{ print $1,".",$2 }' | sed 's/ //g')"
|
||||||
|
echo kernel_release_1: $kernel_release
|
||||||
|
if $(echo ${kernel_release} | grep -iq PAE); then
|
||||||
|
kernel_release="$(echo ${kernel_release} | sed 's/PAE//g' | sed 's/pae//g')"
|
||||||
|
PAE="PAE-"
|
||||||
|
fi
|
||||||
|
echo kernel_release_2: $kernel_release
|
||||||
|
if rlIsRHEL 6; then
|
||||||
|
arch="${kernel_arch}-"
|
||||||
|
fi
|
||||||
|
kernel_debug="http://download.devel.redhat.com/brewroot/packages/kernel/${kernel_version}/${kernel_release}/${kernel_arch}/kernel-${PAE}debuginfo-${kernel_version}-${kernel_release}.${kernel_arch}.rpm"
|
||||||
|
kernel_debug_common="http://download.devel.redhat.com/brewroot/packages/kernel/${kernel_version}/${kernel_release}/${kernel_arch}/kernel-debuginfo-common-${arch}${kernel_version}-${kernel_release}.${kernel_arch}.rpm"
|
||||||
|
echo ">>> $kernel_debug $kernel_debug_common"
|
||||||
|
debuginfo-install -y kernel
|
||||||
|
rpmquery kernel-debuginfo || rpm -ivh ${kernel_debug} ${kernel_debug_common}
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest opt-O$opt
|
||||||
|
rlRun "stap -vvvv -p2 -e 'probe kernel.function(\"sig_ignored\") {println($$parms)}' 2>&1 | grep 'variable location problem'" 1 "gcc produced good enough debuginfo w/o 'variable location problem'"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
@ -0,0 +1,15 @@
|
|||||||
|
template <bool C> int func (void);
|
||||||
|
|
||||||
|
template <class T> struct Foo
|
||||||
|
{
|
||||||
|
static const unsigned int a = sizeof (T);
|
||||||
|
|
||||||
|
//enum { b = a };
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
c = sizeof (func < (a == 0) > ())
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
Foo <int> x;
|
@ -0,0 +1,28 @@
|
|||||||
|
summary: Try to compile a program that has a template parameter with a boolean expression
|
||||||
|
involving a templated static constant
|
||||||
|
description: ''
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
path: /tests/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
- gcc-c++
|
||||||
|
- file
|
||||||
|
duration: 5m
|
||||||
|
enabled: true
|
||||||
|
tier: '1'
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=703059
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
- DTS8-INTEROP-CI
|
||||||
|
- DTS9-INTEROP-CI
|
||||||
|
- Tier1
|
||||||
|
- dts_smoke
|
||||||
|
- dts_stable
|
||||||
|
extra-nitrate: TC#0111110
|
||||||
|
extra-summary: /tools/gcc/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template
|
||||||
|
extra-task: /tools/gcc/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template
|
@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Regression/bz703059-g-fails-to-compile-a-program-that-has-a-template
|
||||||
|
# Description: Try to compile a program that has a template parameter with a boolean expression involving a templated static constant
|
||||||
|
# Author: Marek Polacek <mpolacek@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2011, 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public
|
||||||
|
# License along with this program; if not, write to the Free
|
||||||
|
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include rhts environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
GXX=${GXX:-g++}
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlLog "GXX = $GXX"
|
||||||
|
rlLog "Installed within `rpmquery -f $(which $GXX)`"
|
||||||
|
rlRun "TmpDir=\`mktemp -d\`"
|
||||||
|
rlRun "cp -v f.cc $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "$GXX -c f.cc"
|
||||||
|
rlAssertExists "f.o"
|
||||||
|
rlRun "file f.o | grep ELF" # Basic obj file sanity check
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
31
tests/Regression/unused_parameter_warning/main.fmf
Normal file
31
tests/Regression/unused_parameter_warning/main.fmf
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
summary: Check to see if g++ throws unused parameter warnings with standard libraries
|
||||||
|
with option -Wall
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
path: /tests/Regression/unused_parameter_warning
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc-c++
|
||||||
|
- glibc-devel
|
||||||
|
- libstdc++-devel
|
||||||
|
recommend:
|
||||||
|
- gcc44-c++
|
||||||
|
- glibc-devel.ppc64
|
||||||
|
- glibc-devel.ppc
|
||||||
|
- libstdc++43-devel.ppc
|
||||||
|
- libstdc++44-devel.ppc
|
||||||
|
- libstdc++-devel.ppc
|
||||||
|
duration: 10m
|
||||||
|
enabled: true
|
||||||
|
tier: '1'
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=201342
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
- Tier1
|
||||||
|
- dts_stable
|
||||||
|
extra-nitrate: TC#0062265
|
||||||
|
extra-summary: /tools/gcc/c++/unused_parameter_warning
|
||||||
|
extra-task: /tools/gcc/c++/unused_parameter_warning
|
60
tests/Regression/unused_parameter_warning/runtest.sh
Executable file
60
tests/Regression/unused_parameter_warning/runtest.sh
Executable file
@ -0,0 +1,60 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/rhts-library/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2009, 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public
|
||||||
|
# License along with this program; if not, write to the Free
|
||||||
|
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# g++ - check for unused parameter warning
|
||||||
|
# expected exit code is 0
|
||||||
|
#
|
||||||
|
# Author: Sachin Prabhu <sprabhu@redhat.com>
|
||||||
|
# Maintainer: Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
PACKAGES=(gcc gcc-c++ grep)
|
||||||
|
|
||||||
|
GXX=${GXX:-g++}
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
for p in "${PACKAGES[@]}"; do
|
||||||
|
rlAssertRpm "$p"
|
||||||
|
done; unset p
|
||||||
|
rlLog "GXX = $GXX"
|
||||||
|
rlLog "Installed within `rpmquery -f $(which $GXX)`"
|
||||||
|
rlRun "TmpDir=\`mktemp -d\`"
|
||||||
|
rlRun "cp -v test.cpp $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "$GXX -W -Wall -o test.bin test.cpp &> output"
|
||||||
|
cat output
|
||||||
|
rlRun "grep -E 'warning:\W+unused\W+parameter' -q output" 1 "'warning: unused parameter' not present"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
2
tests/Regression/unused_parameter_warning/test.cpp
Normal file
2
tests/Regression/unused_parameter_warning/test.cpp
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
#include <sstream>
|
||||||
|
int main() {}
|
45
tests/Sanity/compile-rpm/main.fmf
Normal file
45
tests/Sanity/compile-rpm/main.fmf
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
summary: Compile a Red Hat RPM package.
|
||||||
|
description: ''
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
path: /tests/Sanity/compile-rpm
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- autoconf
|
||||||
|
- bison
|
||||||
|
- dejagnu
|
||||||
|
- elfutils-libelf-devel
|
||||||
|
- expat-devel
|
||||||
|
- flex
|
||||||
|
- gcc
|
||||||
|
- gdb
|
||||||
|
- glibc-devel
|
||||||
|
- grep
|
||||||
|
- libselinux-devel
|
||||||
|
- make
|
||||||
|
- mpfr-devel
|
||||||
|
- ncurses-devel
|
||||||
|
- python-devel
|
||||||
|
- readline-devel
|
||||||
|
- rpm-build
|
||||||
|
- rpm-devel
|
||||||
|
- texinfo
|
||||||
|
- xz-devel
|
||||||
|
- yum-utils
|
||||||
|
- zlib-devel
|
||||||
|
duration: 240m
|
||||||
|
adjust:
|
||||||
|
- require+:
|
||||||
|
- ncurses-devel.i686
|
||||||
|
- ncurses-devel.x86_64
|
||||||
|
when: arch == x86_64
|
||||||
|
- enabled: false
|
||||||
|
# Too "heavy" for Fedora CI (for now)
|
||||||
|
when: distro == fedora and trigger is defined
|
||||||
|
continue: false
|
||||||
|
enabled: true
|
||||||
|
extra-nitrate: TC#0142522
|
||||||
|
extra-summary: /tools/gcc/Sanity/compile-rpm
|
||||||
|
extra-task: /tools/gcc/Sanity/compile-rpm
|
99
tests/Sanity/compile-rpm/runtest.sh
Executable file
99
tests/Sanity/compile-rpm/runtest.sh
Executable file
@ -0,0 +1,99 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Sanity/compile-rpm
|
||||||
|
# Description: Compile a Red Hat RPM package.
|
||||||
|
# Author: Marek Polacek <polacek@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public
|
||||||
|
# License along with this program; if not, write to the Free
|
||||||
|
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
GCC=${GCC:-gcc}
|
||||||
|
|
||||||
|
# Set the variabile UNDER_DTS on non-empty string, when run under devtoolset.
|
||||||
|
if $( echo `which gcc` | grep -qE '/opt/rh/' ); then
|
||||||
|
UNDER_DTS="true"
|
||||||
|
# Set the actual version of DTS
|
||||||
|
DTS=`which gcc | awk 'BEGIN { FS="/" } { print $4 }'`
|
||||||
|
fi
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
# Work around troubles with buildroot packages being out-of-sync
|
||||||
|
if rlIsRHEL; then
|
||||||
|
rlMountRedhat
|
||||||
|
for i in libipt source-highlight libbabeltrace; do
|
||||||
|
rpm -q $i &>/dev/null || rlRun "yum -y install $i" 0-255
|
||||||
|
rpm -q ${i}-devel &>/dev/null || rlRun "yum -y install ${i}-devel" 0-255
|
||||||
|
d=/mnt/redhat/brewroot/packages/$i
|
||||||
|
if rpm -q $i &>/dev/null && ! rpm -q ${i}-devel &>/dev/null; then
|
||||||
|
if [[ -e /mnt/redhat/brewroot/packages/$i ]]; then
|
||||||
|
d=/mnt/redhat/brewroot/packages/$i
|
||||||
|
else
|
||||||
|
d=/mnt/redhat/brewroot/packages/${i#lib}
|
||||||
|
fi
|
||||||
|
rlRun "yum -y install $d/$(rpm -q --qf='%{VERSION}/%{RELEASE}/%{ARCH}' $i)/${i}-devel-$(rpm -q --qf='%{VERSION}-%{RELEASE}.%{ARCH}' $i).rpm"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
|
||||||
|
if [ -z ${UNDER_DTS} ]; then
|
||||||
|
rlFetchSrcForInstalled gdb || yumdownloader --source gdb
|
||||||
|
else
|
||||||
|
rlFetchSrcForInstalled $DTS-gdb || yumdownloader --source $DTS-gdb
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z ${UNDER_DTS} ]; then
|
||||||
|
srpm=$(rpmquery gdb --queryformat=%{NAME}-%{VERSION}-%{RELEASE})".src.rpm"
|
||||||
|
else
|
||||||
|
srpm=$(rpmquery $DTS-gdb --queryformat=%{NAME}-%{VERSION}-%{RELEASE})".src.rpm"
|
||||||
|
fi
|
||||||
|
rlRun "rpm -Uvh $srpm"
|
||||||
|
spec_dir=$(rpm --eval=%_specdir)
|
||||||
|
build_dir=$(rpm --eval=%_builddir)
|
||||||
|
|
||||||
|
if [ -z ${UNDER_DTS} ]; then
|
||||||
|
pkg_dir=$(rpmquery gdb} --queryformat=%{NAME}-%{VERSION})
|
||||||
|
else
|
||||||
|
pkg_dir=$(rpmquery $DTS-gdb} --queryformat=%{NAME}-%{VERSION})
|
||||||
|
fi
|
||||||
|
|
||||||
|
yum-builddep -y $spec_dir/gdb.spec
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "CC=$GCC rpmbuild -bb $spec_dir/gdb.spec &> BUILD_LOG"
|
||||||
|
test $? -eq 0 || tail -n 20 BUILD_LOG
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlBundleLogs "Build-log" BUILD_LOG
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
BIN
tests/Sanity/libitm-smoke/bins_aarch64.tar.gz
Normal file
BIN
tests/Sanity/libitm-smoke/bins_aarch64.tar.gz
Normal file
Binary file not shown.
BIN
tests/Sanity/libitm-smoke/bins_i686.tar.gz
Normal file
BIN
tests/Sanity/libitm-smoke/bins_i686.tar.gz
Normal file
Binary file not shown.
BIN
tests/Sanity/libitm-smoke/bins_ppc64.tar.gz
Normal file
BIN
tests/Sanity/libitm-smoke/bins_ppc64.tar.gz
Normal file
Binary file not shown.
BIN
tests/Sanity/libitm-smoke/bins_ppc64le.tar.gz
Normal file
BIN
tests/Sanity/libitm-smoke/bins_ppc64le.tar.gz
Normal file
Binary file not shown.
BIN
tests/Sanity/libitm-smoke/bins_s390x.tar.gz
Normal file
BIN
tests/Sanity/libitm-smoke/bins_s390x.tar.gz
Normal file
Binary file not shown.
BIN
tests/Sanity/libitm-smoke/bins_x86_64.tar.gz
Normal file
BIN
tests/Sanity/libitm-smoke/bins_x86_64.tar.gz
Normal file
Binary file not shown.
34
tests/Sanity/libitm-smoke/main.fmf
Normal file
34
tests/Sanity/libitm-smoke/main.fmf
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
summary: Just runs prebuilt binaries
|
||||||
|
description: |
|
||||||
|
Just running prebuilt binaries that require libitm.
|
||||||
|
This test is designed to run in gcc-libraries CI. we
|
||||||
|
cannot build anything on our own, since we don't have
|
||||||
|
devtoolset's gcc and -devel libraries.
|
||||||
|
|
||||||
|
This should run OK on RHEL-6 and RHEL-7, currently all
|
||||||
|
arches.
|
||||||
|
|
||||||
|
The sources of the tests are in Sanity/libitm-sanity.
|
||||||
|
!!! THIS TEST IS INTENTIONALLY NOT IN gcc General PLAN !!!
|
||||||
|
contact: Michael Petlan <mpetlan@redhat.com>
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
- gcc-libraries
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
- libitm
|
||||||
|
recommend:
|
||||||
|
- gcc-libraries
|
||||||
|
duration: 5m
|
||||||
|
enabled: true
|
||||||
|
tag:
|
||||||
|
- CI-Tier-1
|
||||||
|
adjust:
|
||||||
|
- enabled: false
|
||||||
|
when: distro == rhel-6 and arch == s390x
|
||||||
|
continue: false
|
||||||
|
extra-nitrate: TC#0539542
|
||||||
|
extra-summary: /tools/gcc/Sanity/libitm-smoke
|
||||||
|
extra-task: /tools/gcc/Sanity/libitm-smoke
|
75
tests/Sanity/libitm-smoke/runtest.sh
Executable file
75
tests/Sanity/libitm-smoke/runtest.sh
Executable file
@ -0,0 +1,75 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Sanity/libitm-smoke
|
||||||
|
# Description: Just runs prebuilt binaries
|
||||||
|
# Author: Michael Petlan <mpetlan@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2016 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 2 of
|
||||||
|
# the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
# Relevant for any system with libitm binary compatible with the attached
|
||||||
|
# binaries.
|
||||||
|
# Suggested TCMS relevancy:
|
||||||
|
# distro = rhel-6 && arch = s390x: False
|
||||||
|
|
||||||
|
PACKAGE="gcc"
|
||||||
|
REALLY_WANT_TO_RUN="true"
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlAssertRpm $PACKAGE
|
||||||
|
if [ "$BASEOS_CI" = "true" ]; then
|
||||||
|
# in CI, we need to be able to skip this testcase
|
||||||
|
# in case libitm is not a part of gcc-libraries
|
||||||
|
rlCheckRpm "libitm" || REALLY_WANT_TO_RUN="false"
|
||||||
|
else
|
||||||
|
rlCheckRpm "libitm" || rlRun "yum install -y libitm" 0 "Installing missing libitm"
|
||||||
|
rlAssertRpm "libitm"
|
||||||
|
fi
|
||||||
|
TARBALL="bins_`arch`.tar.gz"
|
||||||
|
if [ ! -f $TARBALL ]; then
|
||||||
|
rlDie "We do not have binaries for your arch (`arch`)"
|
||||||
|
fi
|
||||||
|
rlRun "zcat $TARBALL | tar x"
|
||||||
|
rlRun "pushd bins"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
if [ "$REALLY_WANT_TO_RUN" = "true" ]; then
|
||||||
|
rlPhaseStartTest
|
||||||
|
for i in T_*; do
|
||||||
|
rlRun "./$i"
|
||||||
|
done
|
||||||
|
rlPhaseEnd
|
||||||
|
else
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlPass "SKIPPING THIS TEST -- libitm is probably not shipped within current gcc-libraries"
|
||||||
|
rlPhaseEnd
|
||||||
|
fi
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -rf bins" 0 "Removing the stuff we created"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
70
tests/Sanity/rebuild-binutils/main.fmf
Normal file
70
tests/Sanity/rebuild-binutils/main.fmf
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
summary: Rebuild binutils.
|
||||||
|
description: ''
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
path: /tests/Sanity/rebuild-binutils
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- autoconf
|
||||||
|
- automake
|
||||||
|
- binutils
|
||||||
|
- gcc
|
||||||
|
- glibc
|
||||||
|
- glibc-devel
|
||||||
|
- glibc-static
|
||||||
|
- libstdc++
|
||||||
|
- libstdc++-devel
|
||||||
|
- libstdc++-static
|
||||||
|
- perl
|
||||||
|
- rpm-build
|
||||||
|
- sharutils
|
||||||
|
- texinfo
|
||||||
|
- yum-utils
|
||||||
|
- zlib-devel
|
||||||
|
- zlib-static
|
||||||
|
recommend:
|
||||||
|
- glibc-devel.ppc
|
||||||
|
- glibc-devel.s390
|
||||||
|
- glibc-static.ppc
|
||||||
|
- glibc-static.s390
|
||||||
|
- libgcc.ppc
|
||||||
|
- libgcc.s390
|
||||||
|
- libstdc++-devel.ppc
|
||||||
|
- libstdc++-devel.s390
|
||||||
|
- libstdc++.ppc
|
||||||
|
- libstdc++.s390
|
||||||
|
- libstdc++-static.ppc
|
||||||
|
- libstdc++-static.s390
|
||||||
|
- zlib-devel.ppc
|
||||||
|
- zlib-static.ppc
|
||||||
|
- dnf-utils
|
||||||
|
- yum-utils
|
||||||
|
duration: 3h
|
||||||
|
enabled: true
|
||||||
|
adjust:
|
||||||
|
- require+:
|
||||||
|
- glibc-devel.i686
|
||||||
|
- glibc-devel.x86_64
|
||||||
|
- glibc-static.i686
|
||||||
|
- glibc-static.x86_64
|
||||||
|
- libgcc.i686
|
||||||
|
- libgcc.x86_64
|
||||||
|
- libstdc++-devel.i686
|
||||||
|
- libstdc++-devel.x86_64
|
||||||
|
- libstdc++.i686
|
||||||
|
- libstdc++.x86_64
|
||||||
|
- libstdc++-static.i686
|
||||||
|
- libstdc++-static.x86_64
|
||||||
|
when: arch == x86_64
|
||||||
|
- enabled: false
|
||||||
|
when: distro == rhel-6 and collection is defined
|
||||||
|
continue: false
|
||||||
|
- enabled: false
|
||||||
|
# Too "heavy" for Fedora CI (for now)
|
||||||
|
when: distro == fedora and trigger is defined
|
||||||
|
continue: false
|
||||||
|
extra-nitrate: TC#0147459
|
||||||
|
extra-summary: /tools/gcc/Sanity/rebuild-binutils
|
||||||
|
extra-task: /tools/gcc/Sanity/rebuild-binutils
|
89
tests/Sanity/rebuild-binutils/runtest.sh
Executable file
89
tests/Sanity/rebuild-binutils/runtest.sh
Executable file
@ -0,0 +1,89 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Sanity/rebuild-binutils
|
||||||
|
# Description: Rebuild binutils.
|
||||||
|
# Author: Marek Polacek <polacek@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public
|
||||||
|
# License along with this program; if not, write to the Free
|
||||||
|
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
# The test is expected to fail in devtoolset-* on RHEL-6 because of
|
||||||
|
# the "Unresolvable `R_X86_64_NONE` relocation" family of bugs, e.g.
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1545386
|
||||||
|
# They have been fixed for both the base and devtoolset binutils
|
||||||
|
# on RHEL-7 but on RHEL-6, it was just the base binutils.
|
||||||
|
|
||||||
|
GCC=${GCC:-gcc}
|
||||||
|
|
||||||
|
# Set the variabile UNDER_DTS on non-empty string, when run under devtoolset.
|
||||||
|
if $( echo `which gcc` | grep -qE '/opt/rh/' ); then
|
||||||
|
UNDER_DTS="true"
|
||||||
|
# Set the actual version of DTS
|
||||||
|
DTS=`which gcc | awk 'BEGIN { FS="/" } { print $4 }'`
|
||||||
|
fi
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlLog "Using GCC: `rpmquery -f $(which $GCC)`"
|
||||||
|
rlRun "rpmquery -a | grep -e yum-utils -e dnf-utils" 0 "YUM or DNF utils are installed"
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
|
||||||
|
if [ -z ${UNDER_DTS} ]; then
|
||||||
|
rlFetchSrcForInstalled binutils || yumdownloader --source binutils
|
||||||
|
srpm=$(find binutils*.src.rpm | tail -n1)
|
||||||
|
else
|
||||||
|
rlFetchSrcForInstalled $DTS-binutils || yumdownloader --source $DTS-binutils
|
||||||
|
srpm=$(find $DTS-binutils*.src.rpm | tail -n1)
|
||||||
|
fi
|
||||||
|
rlRun "rpm -Uvh $srpm"
|
||||||
|
spec_dir=$(rpm --eval=%_specdir)
|
||||||
|
yum-builddep -y $spec_dir/binutils.spec
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
if [ "$(uname -i)" == "ppc64" ]; then
|
||||||
|
if rlIsRHEL 6; then
|
||||||
|
target='--target=ppc64'
|
||||||
|
else
|
||||||
|
target='--target=ppc'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ "$(uname -i)" == "i386" ]; then
|
||||||
|
target='--target=i686'
|
||||||
|
fi
|
||||||
|
|
||||||
|
rlRun "setsebool allow_execmod 1"
|
||||||
|
rlRun "CC=$GCC rpmbuild -bb $target --clean $spec_dir/binutils.spec &> BUILD_LOG" || ( echo "========== BUILD_LOG tail ==========" ; tail -n 20 BUILD_LOG )
|
||||||
|
rlRun "setsebool allow_execmod 0"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlBundleLogs "Build-log" BUILD_LOG
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
84
tests/Sanity/rebuild-glibc/main.fmf
Normal file
84
tests/Sanity/rebuild-glibc/main.fmf
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
description: |
|
||||||
|
Rebuild current glibc.
|
||||||
|
summary: Rebuild glibc
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
path: /tests/Sanity/rebuild-glibc
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- audit-libs-devel
|
||||||
|
- binutils
|
||||||
|
- bison
|
||||||
|
- gcc
|
||||||
|
- gcc-c++
|
||||||
|
- gd-devel
|
||||||
|
- glibc-devel
|
||||||
|
- glibc-static
|
||||||
|
- glibc-utils
|
||||||
|
- libcap-devel
|
||||||
|
- libgcc
|
||||||
|
- libpng-devel
|
||||||
|
- libstdc++
|
||||||
|
- libstdc++-devel
|
||||||
|
- libstdc++-static
|
||||||
|
- libXpm-devel
|
||||||
|
- nspr-devel
|
||||||
|
- nss-devel
|
||||||
|
- nss-softokn-devel
|
||||||
|
- nss-util-devel
|
||||||
|
- python3-devel
|
||||||
|
- rpm-build
|
||||||
|
- systemtap-sdt-devel
|
||||||
|
- texinfo
|
||||||
|
- valgrind
|
||||||
|
- yum-utils
|
||||||
|
recommend:
|
||||||
|
- glibc-devel.ppc
|
||||||
|
- glibc-devel.s390
|
||||||
|
- glibc-static.ppc
|
||||||
|
- glibc-static.s390
|
||||||
|
- libgcc.ppc
|
||||||
|
- libgcc.s390
|
||||||
|
- libstdc++-devel.ppc
|
||||||
|
- libstdc++-devel.s390
|
||||||
|
- libstdc++.ppc
|
||||||
|
- libstdc++.s390
|
||||||
|
- libstdc++-static.ppc
|
||||||
|
- libstdc++-static.s390
|
||||||
|
- dnf-utils
|
||||||
|
- yum-utils
|
||||||
|
duration: 18h
|
||||||
|
enabled: true
|
||||||
|
tag:
|
||||||
|
- NoDTS
|
||||||
|
- rhel8-buildroot
|
||||||
|
adjust:
|
||||||
|
- require+:
|
||||||
|
- glibc-devel.i686
|
||||||
|
- glibc-devel.x86_64
|
||||||
|
- glibc-static.i686
|
||||||
|
- glibc-static.x86_64
|
||||||
|
- libgcc.i686
|
||||||
|
- libgcc.x86_64
|
||||||
|
- libstdc++-devel.i686
|
||||||
|
- libstdc++-devel.x86_64
|
||||||
|
- libstdc++.i686
|
||||||
|
- libstdc++.x86_64
|
||||||
|
- libstdc++-static.i686
|
||||||
|
- libstdc++-static.x86_64
|
||||||
|
when: arch == x86_64
|
||||||
|
- require-:
|
||||||
|
- python3-devel
|
||||||
|
when: distro < rhel-8
|
||||||
|
- enabled: false
|
||||||
|
when: collection is defined
|
||||||
|
continue: false
|
||||||
|
- enabled: false
|
||||||
|
# Too "heavy" for Fedora CI (for now)
|
||||||
|
when: distro == fedora and trigger is defined
|
||||||
|
continue: false
|
||||||
|
extra-nitrate: TC#0035677
|
||||||
|
extra-summary: /tools/gcc/Sanity/rebuild-glibc
|
||||||
|
extra-task: /tools/gcc/Sanity/rebuild-glibc
|
79
tests/Sanity/rebuild-glibc/runtest.sh
Executable file
79
tests/Sanity/rebuild-glibc/runtest.sh
Executable file
@ -0,0 +1,79 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Copyright (c) 2009, 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# Author: Michal Nowak <mnowak@redhat.com>
|
||||||
|
# Rewrite: Marek Polacek <polacek@redhat.com>
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
cpu_good_for_make_check () {
|
||||||
|
# glibc can create several alternative CPU-specific bits that are selected
|
||||||
|
# in runtime. However the "make check" phase tries to test all of them and
|
||||||
|
# fails when testing a more "advanced" binary than the SUT's CPU. In such
|
||||||
|
# case we'd want to skip "make check" to prevent "rpmbuild" from a certain
|
||||||
|
# failure.
|
||||||
|
if rlIsRHEL '>=8' && [[ $(arch) = ppc64le ]] && grep -q 'POWER[2-8]' /proc/cpuinfo; then
|
||||||
|
rlLogInfo 'RHEL8+ on <POWER9, make check will be skipped'
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
GCC=${GCC:-gcc}
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
|
||||||
|
cpu_good_for_make_check && CHECK_PARAM='' || CHECK_PARAM='--nocheck'
|
||||||
|
|
||||||
|
rlRun "rpmquery -a | grep -e yum-utils -e dnf-utils" 0 "YUM or DNF utils are installed"
|
||||||
|
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
|
||||||
|
rlLogInfo "Running kernel: `uname -r`"
|
||||||
|
rlLogInfo "Installed kernel(s): `rpm -q kernel`"
|
||||||
|
rlLogInfo "Installed headers: `rpm -q kernel-headers`"
|
||||||
|
|
||||||
|
rlFetchSrcForInstalled glibc || yumdownloader --source glibc
|
||||||
|
srpm=$(find glibc*.src.rpm | tail -n1)
|
||||||
|
rlRun "rpm -Uvh $srpm"
|
||||||
|
spec_dir=$(rpm --eval=%_specdir)
|
||||||
|
yum-builddep -y $spec_dir/glibc.spec
|
||||||
|
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
if [ "$(uname -i)" == "ppc64" ]; then
|
||||||
|
if rlIsRHEL 7 || rlIsRHEL 6; then
|
||||||
|
target='--target=ppc64'
|
||||||
|
else
|
||||||
|
target='--target=ppc'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rlRun "CC=$GCC rpmbuild -bb $target $CHECK_PARAM --clean $spec_dir/glibc.spec &> BUILD_LOG"
|
||||||
|
test $? -eq 0 || tail -n 20 BUILD_LOG
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlBundleLogs "Build-log" BUILD_LOG
|
||||||
|
rlRun "popd"
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
7
tests/Sanity/test-m32-m64-options/clear_cache.c
Normal file
7
tests/Sanity/test-m32-m64-options/clear_cache.c
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
int
|
||||||
|
main (void)
|
||||||
|
{
|
||||||
|
char *mem = __builtin_alloca (40);
|
||||||
|
__builtin___clear_cache (mem, mem + 40);
|
||||||
|
return 0;
|
||||||
|
}
|
78
tests/Sanity/test-m32-m64-options/cpp11.cpp
Normal file
78
tests/Sanity/test-m32-m64-options/cpp11.cpp
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
template <class T>
|
||||||
|
class X
|
||||||
|
{
|
||||||
|
T p;
|
||||||
|
public:
|
||||||
|
template <class U> auto f() -> decltype(+p) { return p; }
|
||||||
|
};
|
||||||
|
|
||||||
|
struct A
|
||||||
|
{
|
||||||
|
int i = 42;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct B
|
||||||
|
{
|
||||||
|
int i = 42;
|
||||||
|
B() { }
|
||||||
|
B(int i): i(i) { }
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class T, T t>
|
||||||
|
struct C
|
||||||
|
{
|
||||||
|
T m = t;
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class T, T t>
|
||||||
|
struct D
|
||||||
|
{
|
||||||
|
T m = t;
|
||||||
|
D() { }
|
||||||
|
D(T m):m(m) { }
|
||||||
|
};
|
||||||
|
|
||||||
|
struct complex
|
||||||
|
{
|
||||||
|
typedef float value_type;
|
||||||
|
typedef __complex__ float _ComplexT;
|
||||||
|
|
||||||
|
constexpr complex(_ComplexT __z) : _M_value(__z) { }
|
||||||
|
|
||||||
|
constexpr complex(float __r = 0.0f, float __i = 0.0f)
|
||||||
|
: _M_value(__r + __i * 1.0f) { }
|
||||||
|
|
||||||
|
private:
|
||||||
|
_ComplexT _M_value;
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr complex c1;
|
||||||
|
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
{
|
||||||
|
X<int>().f<int>();
|
||||||
|
A a1;
|
||||||
|
if (a1.i != 42) return 1;
|
||||||
|
A a2{};
|
||||||
|
if (a2.i != 42) return 2;
|
||||||
|
A a3[1];
|
||||||
|
if (a3[0].i != 42) return 3;
|
||||||
|
|
||||||
|
B b1;
|
||||||
|
if (b1.i != 42) return 3;
|
||||||
|
B b2 (24);
|
||||||
|
if (b2.i != 24) return 4;
|
||||||
|
|
||||||
|
C<int,3> c1;
|
||||||
|
if (c1.m != 3) return 5;
|
||||||
|
C<int,5> c2 {};
|
||||||
|
if (c2.m != 5) return 6;
|
||||||
|
|
||||||
|
D<int,3> d1;
|
||||||
|
if (d1.m != 3) return 7;
|
||||||
|
D<int,3> d2 (5) ;
|
||||||
|
if (d2.m != 5) return 8;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
8
tests/Sanity/test-m32-m64-options/hello.c
Normal file
8
tests/Sanity/test-m32-m64-options/hello.c
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
{
|
||||||
|
puts ("Hello World!");
|
||||||
|
return 0;
|
||||||
|
}
|
7
tests/Sanity/test-m32-m64-options/hello.cpp
Normal file
7
tests/Sanity/test-m32-m64-options/hello.cpp
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
{
|
||||||
|
std::cout << "Hello, world!\n";
|
||||||
|
}
|
3
tests/Sanity/test-m32-m64-options/hello.f90
Normal file
3
tests/Sanity/test-m32-m64-options/hello.f90
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
program hello
|
||||||
|
print *, "Hello World!"
|
||||||
|
end program hello
|
41
tests/Sanity/test-m32-m64-options/lambda-template.C
Normal file
41
tests/Sanity/test-m32-m64-options/lambda-template.C
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
// { dg-options -std=c++0x }
|
||||||
|
// { dg-do run }
|
||||||
|
|
||||||
|
extern "C" void abort();
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
auto apply (T t) -> decltype (t())
|
||||||
|
{
|
||||||
|
return t();
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
void f(T t)
|
||||||
|
{
|
||||||
|
T t2 = t;
|
||||||
|
if (t != [=]()->T { return t; }())
|
||||||
|
abort ();
|
||||||
|
if (t != [=] { return t; }())
|
||||||
|
abort ();
|
||||||
|
if (t != [=] { return t2; }())
|
||||||
|
abort ();
|
||||||
|
if (t != [&] { return t; }())
|
||||||
|
abort ();
|
||||||
|
if (t != apply([=]{return t;}))
|
||||||
|
abort ();
|
||||||
|
|
||||||
|
int i;
|
||||||
|
[&] (int a) { return a+i+t; } (0);
|
||||||
|
[&] (int a) -> decltype(a) { return a+i+t; } (0);
|
||||||
|
[&] (int a) -> decltype(i) { return a+i+t; } (0);
|
||||||
|
[&] (int a) -> decltype(t) { return a+i+t; } (0);
|
||||||
|
[&] (int a) -> decltype(a+i) { return a+i+t; } (0);
|
||||||
|
[&] (int a) -> decltype(a+t) { return a+i+t; } (0);
|
||||||
|
[&] (int a) -> decltype(i+t) { return a+i+t; } (0);
|
||||||
|
[&] (int a) -> decltype(a+i+t) { return a+i+t; } (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
f(0xbeef);
|
||||||
|
}
|
58
tests/Sanity/test-m32-m64-options/main.fmf
Normal file
58
tests/Sanity/test-m32-m64-options/main.fmf
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
summary: Try -m32 and -m64 options.
|
||||||
|
description: Try -m32 and -m64 options
|
||||||
|
contact: mcermak@redhat.com
|
||||||
|
component:
|
||||||
|
- gcc
|
||||||
|
test: bash ./runtest.sh
|
||||||
|
path: /tests/Sanity/test-m32-m64-options
|
||||||
|
framework: beakerlib
|
||||||
|
require:
|
||||||
|
- gcc
|
||||||
|
- gcc-c++
|
||||||
|
- gcc-gfortran
|
||||||
|
- glibc-devel
|
||||||
|
- libgfortran
|
||||||
|
- libgomp
|
||||||
|
- libstdc++-devel
|
||||||
|
- libitm
|
||||||
|
recommend:
|
||||||
|
- libgfortran5
|
||||||
|
- libitm-devel
|
||||||
|
- libquadmath-devel
|
||||||
|
duration: 20m
|
||||||
|
enabled: true
|
||||||
|
link:
|
||||||
|
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1113429
|
||||||
|
adjust:
|
||||||
|
- enabled: false
|
||||||
|
when: arch == ia64, ppc64, s390, s390x
|
||||||
|
continue: false
|
||||||
|
- enabled: false
|
||||||
|
when: arch == aarch64
|
||||||
|
continue: false
|
||||||
|
because: no -m64 nor -m32 there
|
||||||
|
- require+:
|
||||||
|
- glibc-devel.x86_64
|
||||||
|
- glibc-devel.i686
|
||||||
|
- libgfortran.x86_64
|
||||||
|
- libgfortran.i686
|
||||||
|
- libstdc++-devel.x86_64
|
||||||
|
- libstdc++-devel.i686
|
||||||
|
- libitm.x86_64
|
||||||
|
- libitm.i686
|
||||||
|
- libgomp.x86_64
|
||||||
|
- libgomp.i686
|
||||||
|
- libquadmath.x86_64
|
||||||
|
- libquadmath.i686
|
||||||
|
when: arch == x86_64
|
||||||
|
- recommend+:
|
||||||
|
- libgfortran5.x86_64
|
||||||
|
- libgfortran5.i686
|
||||||
|
- libitm-devel.x86_64
|
||||||
|
- libitm-devel.i686
|
||||||
|
- libquadmath-devel.x86_64
|
||||||
|
- libquadmath-devel.i686
|
||||||
|
when: arch == x86_64
|
||||||
|
extra-nitrate: TC#0197178
|
||||||
|
extra-summary: /tools/gcc/Sanity/test-m32-m64-options
|
||||||
|
extra-task: /tools/gcc/Sanity/test-m32-m64-options
|
24
tests/Sanity/test-m32-m64-options/omphello.c
Normal file
24
tests/Sanity/test-m32-m64-options/omphello.c
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#include <omp.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
{
|
||||||
|
int th_id;
|
||||||
|
int nthreads;
|
||||||
|
|
||||||
|
#pragma omp parallel private(th_id)
|
||||||
|
{
|
||||||
|
th_id = omp_get_thread_num ();
|
||||||
|
printf ("Hello World from thread %d\n", th_id);
|
||||||
|
|
||||||
|
#pragma omp barrier
|
||||||
|
if (th_id == 0)
|
||||||
|
{
|
||||||
|
nthreads = omp_get_num_threads ();
|
||||||
|
printf ("There are %d threads\n", nthreads);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
38
tests/Sanity/test-m32-m64-options/quad.c
Normal file
38
tests/Sanity/test-m32-m64-options/quad.c
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#include <quadmath.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
{
|
||||||
|
__float128 r = strtoflt128 ("1.23456789", NULL);
|
||||||
|
|
||||||
|
int prec = 20;
|
||||||
|
int width = 46;
|
||||||
|
char buf[128];
|
||||||
|
|
||||||
|
r = 2.0q;
|
||||||
|
r = sqrtq (r);
|
||||||
|
int n = quadmath_snprintf (buf, sizeof buf, "%+-#*.20Qe", width, r);
|
||||||
|
if ((size_t) n < sizeof buf)
|
||||||
|
/* Prints: +1.41421356237309504880e+00. */
|
||||||
|
printf ("%s\n", buf);
|
||||||
|
quadmath_snprintf (buf, sizeof buf, "%Qa", r);
|
||||||
|
if ((size_t) n < sizeof buf)
|
||||||
|
/* Prints: 0x1.6a09e667f3bcc908b2fb1366ea96p+0. */
|
||||||
|
printf ("%s\n", buf);
|
||||||
|
n = quadmath_snprintf (NULL, 0, "%+-#46.*Qe", prec, r);
|
||||||
|
if (n > -1)
|
||||||
|
{
|
||||||
|
char *str = malloc (n + 1);
|
||||||
|
if (str)
|
||||||
|
{
|
||||||
|
quadmath_snprintf (str, n + 1, "%+-#46.*Qe", prec, r);
|
||||||
|
/* Prints: +1.41421356237309504880e+00. */
|
||||||
|
printf ("%s\n", str);
|
||||||
|
}
|
||||||
|
free (str);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
167
tests/Sanity/test-m32-m64-options/runtest.sh
Executable file
167
tests/Sanity/test-m32-m64-options/runtest.sh
Executable file
@ -0,0 +1,167 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/gcc/Sanity/test-m32-m64-options
|
||||||
|
# Description: Try -m32 and -m64 options.
|
||||||
|
# Author: Marek Polacek <polacek@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing
|
||||||
|
# to use, modify, copy, or redistribute it subject to the terms
|
||||||
|
# and conditions of the GNU General Public License version 2.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be
|
||||||
|
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||||
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE. See the GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public
|
||||||
|
# License along with this program; if not, write to the Free
|
||||||
|
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||||
|
# Boston, MA 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
# In this test, we try to compile and run programs using -m32 and -m64.
|
||||||
|
# We compile C, C++ and Fortran Hello World programs. Also, there are two
|
||||||
|
# proglets which are exercising some C++11 features. Furthermore, we try
|
||||||
|
# -fgnu-tm, -fopenmp options. We also use libquadmath a little bit.
|
||||||
|
# We call a function from libgcc. We also use the __thread keyword.
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
GCC=${GCC:-$(type -P gcc)}
|
||||||
|
GCC_RPM_NAME=$(rpm --qf '%{name}' -qf $GCC)
|
||||||
|
|
||||||
|
[[ "$GCC_RPM_NAME" == *toolset* ]] && TOOLSET=${GCC_RPM_NAME%-gcc} || TOOLSET=''
|
||||||
|
|
||||||
|
if [ -n "`rlGetPrimaryArch`" ]; then
|
||||||
|
PRI_ARCH=$(rlGetPrimaryArch)
|
||||||
|
else
|
||||||
|
PRI_ARCH="$(uname -i)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# State applicable -m<bits> switches
|
||||||
|
SWITCHES='-m64 -m32'
|
||||||
|
case "$PRI_ARCH" in
|
||||||
|
i686)
|
||||||
|
SWITCHES=-m32 # just base RHEL-6/i386
|
||||||
|
;;
|
||||||
|
ppc64le) # we never had 32 support there
|
||||||
|
SWITCHES=-m64
|
||||||
|
;;
|
||||||
|
aarch64)
|
||||||
|
# Not only we never had 32-bit support there, GCC on this architecture
|
||||||
|
# doesn't accept the -m64 switch either. This test isn't applicable
|
||||||
|
# at all and should be excluded by its relevancy, e.g. in TCMS:
|
||||||
|
# arch = aarch64: False
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
ppc64|s390x) # 32-bit support present only in system GCC of RHEL <8
|
||||||
|
if [[ -z "$TOOLSET" ]] && rlIsRHEL '<8'; then
|
||||||
|
if [[ "$PRI_ARCH" != s390x ]]; then
|
||||||
|
SWITCHES='-m64 -m32'
|
||||||
|
else
|
||||||
|
SWITCHES='-m64 -m31'
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
SWITCHES=-m64
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
||||||
|
rlLogInfo "GCC=$GCC"
|
||||||
|
rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK"
|
||||||
|
|
||||||
|
# We optionally need to skip checking for the presence of the metapackage
|
||||||
|
# because that would pull in all the dependent toolset subrpms. We do not
|
||||||
|
# always want that, especially in CI.
|
||||||
|
_COLLECTIONS="$COLLECTIONS"
|
||||||
|
if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then
|
||||||
|
for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do
|
||||||
|
rlLogInfo "ignoring metapackage check for collection $c"
|
||||||
|
export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/})
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS"
|
||||||
|
export COLLECTIONS="$_COLLECTIONS"
|
||||||
|
|
||||||
|
rlRun "TmpDir=\$(mktemp -d)"
|
||||||
|
rlRun "cp -v hello.{c,cpp,f90} tm.c quad.c thr-init-2.c clear_cache.c omphello.c lambda-template.C cpp11.cpp $TmpDir"
|
||||||
|
rlRun "pushd $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartSetup "Showing compiler versions"
|
||||||
|
for compiler in gcc g++ gfortran; do
|
||||||
|
rlLogInfo "Version of compiler: $compiler"
|
||||||
|
eval "$compiler --version 2>&1" | while read line; do
|
||||||
|
rlLogInfo " $line"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
for m in $SWITCHES; do
|
||||||
|
rlPhaseStartTest "Compile and run [$m]"
|
||||||
|
|
||||||
|
# Test C
|
||||||
|
rlRun "gcc $m hello.c -o hello_c"
|
||||||
|
rlRun ./hello_c
|
||||||
|
|
||||||
|
# Test C++
|
||||||
|
rlRun "g++ $m hello.cpp -o hello_cpp"
|
||||||
|
rlRun ./hello_cpp
|
||||||
|
|
||||||
|
# C++11 features. Not available in system GCC of RHEL-6
|
||||||
|
if ! rlIsRHEL 6 || [[ -n "$TOOLSET" ]]; then
|
||||||
|
rlRun "g++ $m -std=c++11 lambda-template.C -o lambda"
|
||||||
|
rlRun ./lambda
|
||||||
|
|
||||||
|
rlRun "g++ $m -std=c++11 cpp11.cpp -o cpp11"
|
||||||
|
rlRun ./cpp11
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test Fortran
|
||||||
|
rlRun "gfortran $m hello.f90 -o hello_fortran"
|
||||||
|
rlRun "./hello_fortran"
|
||||||
|
|
||||||
|
# Test TM. Not available in system GCC of RHEL-6
|
||||||
|
if ! rlIsRHEL 6 || [[ -n "$TOOLSET" ]]; then
|
||||||
|
rlRun "gcc $m -O2 -std=gnu99 -fgnu-tm tm.c -o tm"
|
||||||
|
rlRun ./tm
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test OpenMP
|
||||||
|
rlRun "gcc $m omphello.c -O2 -std=gnu99 -fopenmp -o omp"
|
||||||
|
rlRun ./omp
|
||||||
|
|
||||||
|
# Test __thread
|
||||||
|
rlRun "gcc $m thr-init-2.c -O2 -std=gnu99 -ftls-model=initial-exec -o thr"
|
||||||
|
rlRun ./thr
|
||||||
|
|
||||||
|
# Now test some libquadmath stuff (__float128 support).
|
||||||
|
if rpm -q ${GCC_RPM_NAME%%gcc}libquadmath-devel &>/dev/null; then
|
||||||
|
rlRun "gcc $m quad.c -O2 -std=gnu99 -lquadmath -o quad -lm"
|
||||||
|
rlRun ./quad
|
||||||
|
fi
|
||||||
|
|
||||||
|
# And now something from libgcc, e.g. __builtin___clear_cache.
|
||||||
|
rlRun "gcc $m clear_cache.c -O2 -std=gnu99 -o cache"
|
||||||
|
rlRun ./cache
|
||||||
|
|
||||||
|
rlPhaseEnd
|
||||||
|
done
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
rlRun popd
|
||||||
|
rlRun "rm -r $TmpDir"
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user