Compare commits

..

No commits in common. "main" and "master" have entirely different histories.
main ... master

121 changed files with 434 additions and 4688 deletions

View File

@ -1 +0,0 @@
1

102
.gitignore vendored
View File

@ -6,105 +6,3 @@
/gcc-10.0.1-20200126.tar.xz
/gcc-10.0.1-20200130.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

View File

@ -1,16 +0,0 @@
--- !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}

1066
gcc.spec

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,27 @@
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

View File

@ -5,9 +5,9 @@
--- 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
@@ -408,9 +408,9 @@ lang_specific_driver (cl_decoded_option
@@ -405,9 +405,9 @@ lang_specific_driver (cl_decoded_option
/* Add `-lgphobos' if we haven't already done so. */
if (phobos_library != PHOBOS_NOLINK)
if (phobos_library != PHOBOS_NOLINK && need_phobos)
{
- /* Default to static linking. */
- if (phobos_library != PHOBOS_DYNAMIC)
@ -17,4 +17,4 @@
+ phobos_library = PHOBOS_DYNAMIC;
#ifdef HAVE_LD_STATIC_DYNAMIC
if (phobos_library == PHOBOS_STATIC && !static_link)
if (phobos_library == PHOBOS_DYNAMIC && static_link)

View File

@ -0,0 +1,122 @@
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,

View File

@ -65,8 +65,8 @@
GOCFLAGS="$(GOCFLAGS) $${flags}" \
GDCFLAGS="$(GDCFLAGS) $${flags}" \
CXXFLAGS="$(CXXFLAGS) $${flags}" \
--- libcpp/macro.cc.jj 2019-01-09 13:01:21.420552123 +0100
+++ libcpp/macro.cc 2019-01-11 18:18:17.736876285 +0100
--- libcpp/macro.c.jj 2019-01-09 13:01:21.420552123 +0100
+++ libcpp/macro.c 2019-01-11 18:18:17.736876285 +0100
@@ -3256,8 +3256,6 @@ static cpp_macro *
create_iso_definition (cpp_reader *pfile)
{
@ -98,9 +98,9 @@
goto out;
}
--- libcpp/expr.cc.jj 2019-01-09 13:01:22.415535734 +0100
+++ libcpp/expr.cc 2019-01-11 18:16:23.444726882 +0100
@@ -803,16 +803,17 @@ cpp_classify_number (cpp_reader *pfile,
--- libcpp/expr.c.jj 2019-01-09 13:01:22.415535734 +0100
+++ libcpp/expr.c 2019-01-11 18:16:23.444726882 +0100
@@ -788,16 +788,17 @@ cpp_classify_number (cpp_reader *pfile,
if ((result & CPP_N_WIDTH) == CPP_N_LARGE
&& CPP_OPTION (pfile, cpp_warn_long_long))
{
@ -123,4 +123,4 @@
+ : N_("use of C99 long long integer constant"));
}
if ((result & CPP_N_SIZE_T) == CPP_N_SIZE_T
result |= CPP_N_INTEGER;

11
gcc10-i386-libgomp.patch Normal file
View File

@ -0,0 +1,11 @@
--- 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
;;

View File

@ -26,11 +26,11 @@
# Generate header and source files from the machine description,
# and compile them.
--- gcc/graphite.h.jj 2016-01-27 12:44:06.000000000 +0100
+++ gcc/graphite.h 2022-11-03 19:14:50.369690720 +0100
@@ -24,6 +24,591 @@ along with GCC; see the file COPYING3.
#include "sese.h"
+++ gcc/graphite.h 2016-01-27 13:26:38.309876856 +0100
@@ -39,6 +39,590 @@ along with GCC; see the file COPYING3.
#include <isl/schedule_node.h>
#include <isl/id.h>
#include <isl/space.h>
+#include <isl/version.h>
+#include <dlfcn.h>
+
@ -41,15 +41,15 @@
+ DYNSYM (isl_aff_set_coefficient_si); \
+ DYNSYM (isl_aff_set_constant_si); \
+ DYNSYM (isl_aff_zero_on_domain); \
+ /* DYNSYM (isl_band_free); */ \
+ /* DYNSYM (isl_band_get_children); */ \
+ /* DYNSYM (isl_band_get_partial_schedule); */ \
+ /* DYNSYM (isl_band_has_children); */ \
+ /* DYNSYM (isl_band_list_free); */ \
+ /* DYNSYM (isl_band_list_get_band); */ \
+ /* DYNSYM (isl_band_list_get_ctx); */ \
+ /* DYNSYM (isl_band_list_n_band); */ \
+ /* DYNSYM (isl_band_n_member); */ \
+ DYNSYM (isl_band_free); \
+ DYNSYM (isl_band_get_children); \
+ DYNSYM (isl_band_get_partial_schedule); \
+ DYNSYM (isl_band_has_children); \
+ DYNSYM (isl_band_list_free); \
+ DYNSYM (isl_band_list_get_band); \
+ DYNSYM (isl_band_list_get_ctx); \
+ DYNSYM (isl_band_list_n_band); \
+ DYNSYM (isl_band_n_member); \
+ DYNSYM (isl_basic_map_add_constraint); \
+ DYNSYM (isl_basic_map_project_out); \
+ DYNSYM (isl_basic_map_universe); \
@ -91,7 +91,7 @@
+ DYNSYM (isl_map_is_empty); \
+ DYNSYM (isl_map_lex_ge); \
+ DYNSYM (isl_map_lex_le); \
+ /* DYNSYM (isl_map_n_out); */ \
+ DYNSYM (isl_map_n_out); \
+ DYNSYM (isl_map_range); \
+ DYNSYM (isl_map_set_tuple_id); \
+ DYNSYM (isl_map_universe); \
@ -124,7 +124,7 @@
+ DYNSYM (isl_pw_aff_sub); \
+ DYNSYM (isl_pw_aff_zero_set); \
+ 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_dims); \
+ DYNSYM (isl_set_apply); \
@ -615,21 +615,20 @@
+#define isl_version (*isl_pointers__.p_isl_version)
+#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)
+
typedef struct poly_dr *poly_dr_p;
typedef struct poly_bb *poly_bb_p;
@@ -448,5 +1033,6 @@ extern tree cached_scalar_evolution_in_r
@@ -461,5 +1045,6 @@ extern void build_scops (vec<scop_p> *);
extern void dot_all_sese (FILE *, vec<sese_l> &);
extern void dot_sese (sese_l &);
extern void dot_cfg ();
+extern const char *get_isl_version (bool);
#endif
--- gcc/graphite.cc.jj 2015-11-04 14:15:32.000000000 +0100
+++ gcc/graphite.cc 2015-11-04 14:56:02.645536409 +0100
--- gcc/graphite.c.jj 2015-11-04 14:15:32.000000000 +0100
+++ gcc/graphite.c 2015-11-04 14:56:02.645536409 +0100
@@ -60,6 +60,35 @@ along with GCC; see the file COPYING3.
#include "tree-ssa-propagate.h"
#include "tree-into-ssa.h"
#include "graphite.h"
+__typeof (isl_pointers__) isl_pointers__;
@ -641,7 +640,7 @@
+
+ if (isl_pointers__.inited)
+ return isl_pointers__.h != NULL;
+ h = dlopen ("libisl.so.23", RTLD_LAZY);
+ h = dlopen ("libisl.so.15", RTLD_LAZY);
+ isl_pointers__.h = h;
+ if (h == NULL)
+ return false;
@ -664,7 +663,7 @@
/* Print global statistics to FILE. */
static void
@@ -424,6 +453,15 @@ graphite_transform_loops (void)
@@ -365,6 +394,15 @@ graphite_transform_loops (void)
if (parallelized_function_p (cfun->decl))
return;
@ -680,7 +679,7 @@
calculate_dominance_info (CDI_DOMINATORS);
/* We rely on post-dominators during merging of SESE regions so those
@@ -519,6 +557,14 @@ graphite_transform_loops (void)
@@ -455,6 +493,14 @@ graphite_transform_loops (void)
}
}
@ -695,8 +694,8 @@
#else /* If isl is not available: #ifndef HAVE_isl. */
static void
--- gcc/toplev.cc.jj 2017-02-19 13:02:31.000000000 +0100
+++ gcc/toplev.cc 2017-02-19 16:50:25.536301350 +0100
--- gcc/toplev.c.jj 2017-02-19 13:02:31.000000000 +0100
+++ gcc/toplev.c 2017-02-19 16:50:25.536301350 +0100
@@ -94,6 +94,7 @@ along with GCC; see the file COPYING3.
#ifdef HAVE_isl

View File

@ -4,7 +4,7 @@
<a class="link" href="https://www.fsf.org" target="_top">FSF
</a>
</p><p>
+ Release 13.2.1
+ Release 10.0.1
+ </p><p>
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation
@ -17,7 +17,7 @@
</p><p>
- The API documentation, rendered into HTML, can be viewed online
+ The API documentation, rendered into HTML, can be viewed locally
+ <a class="link" href="api/index.html" target="_top">for the 13.2.1 release</a>,
+ <a class="link" href="api/index.html" target="_top">for the 10.0.1 release</a>,
+ online
<a class="link" href="http://gcc.gnu.org/onlinedocs/" target="_top">for each GCC release</a>
and

30
gcc10-rh1574936.patch Normal file
View File

@ -0,0 +1,30 @@
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.

View File

@ -1,21 +1,21 @@
--- gcc/config.gcc.jj 2008-04-24 15:42:46.000000000 -0500
+++ gcc/config.gcc 2008-04-24 15:44:51.000000000 -0500
@@ -3330,7 +3330,7 @@ sparc-*-rtems*)
tm_file="${tm_file} elfos.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h newlib-stdint.h"
@@ -2790,7 +2790,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"
tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems"
;;
-sparc-*-linux*)
+sparc-*-linux* | sparcv9-*-linux*)
tm_file="${tm_file} elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
tm_file="${tm_file} dbxelf.h 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"
case ${target} in
@@ -3384,7 +3384,7 @@ sparc64-*-rtems*)
@@ -2844,7 +2844,7 @@ sparc64-*-rtems*)
extra_options="${extra_options}"
tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
;;
-sparc64-*-linux*)
+sparc64*-*-linux*)
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"
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"
extra_options="${extra_options} sparc/long-double-switch.opt"
tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500

View File

@ -1,62 +0,0 @@
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)

View File

@ -1,215 +0,0 @@
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

View File

@ -1,71 +0,0 @@
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;

View File

@ -1,21 +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>
* 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

View File

@ -1,85 +0,0 @@
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. */

View File

@ -1,10 +0,0 @@
summary: CI Gating Plan
discover:
how: fmf
directory: tests
prepare:
- name: prepare
how: shell
script: ./plans/prepare.sh
execute:
how: tmt

View File

@ -1,54 +0,0 @@
#!/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 "^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^"

View File

@ -1,4 +1,3 @@
SHA512 (gcc-13.2.1-20230728.tar.xz) = 7698968e1eabfe8ae8ff79806d9c15a50e861b2776ea5968e6b1f2ebf399d7b62cc4066d7d43b3cd791b790f41c2da401c33a0b258b640bf4c1f1cebd2cac99a
SHA512 (isl-0.24.tar.bz2) = aab3bddbda96b801d0f56d2869f943157aad52a6f6e6a61745edd740234c635c38231af20bc3f1a08d416a5e973a90e18249078ed8e4ae2f1d5de57658738e95
SHA512 (newlib-cygwin-9e09d6ed83cce4777a5950412647ccc603040409.tar.xz) = bef3fa04f7b1a915fc1356ebed114698b5cc835e9fa04b0becff05a9efc76c59fb376482990873d222d7acdcfee3c4f30f5a4cb7f3be1f291f1fa5f1c7a9d983
SHA512 (nvptx-tools-93e00909ceb9cbbc104f0fcba56c0361ffb3ca4b.tar.xz) = c719fad8689b2b6f3c888d0308604ddef884037d71ec3e755c68052d30075a181c29358fda516833ace437921b17602b147be7886317be94ec9736faa8cb52be
SHA512 (gcc-10.0.1-20200216.tar.xz) = 56507e273b00e85ed4145e80df65d9b4e4791f23e7cb5d931f85b9420cbf3a7125ba49978dc73c2987c0a6101f741dc5a60a08cb3346d4c5082400cbcfcdd008
SHA512 (newlib-cygwin-50e2a63b04bdd018484605fbb954fd1bd5147fa0.tar.xz) = 9ceea0b883185fe489724d54a7e909bb6ed4785fcadf80162033dc6a133e2657337175601278e4155d1f8fac275ff9c8a02572aea876166c608774c809f832e9
SHA512 (nvptx-tools-5f6f343a302d620b0868edab376c00b15741e39e.tar.xz) = f6d10db94fa1570ae0f94df073fa3c73c8e5ee16d59070b53d94f7db0de8a031bc44d7f3f1852533da04b625ce758e022263855ed43cfc6867e0708d001e53c7

View File

@ -1,12 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
int
main ()
{
int i = 2;
if (-10 * abs (i - 1) == 10 * abs (i - 1))
return 1;
return 0;
}

View File

@ -1,26 +0,0 @@
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

View File

@ -1,52 +0,0 @@
#!/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

View File

@ -1,29 +0,0 @@
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

View File

@ -1,53 +0,0 @@
#!/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

View File

@ -1,22 +0,0 @@
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

View File

@ -1,38 +0,0 @@
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

View File

@ -1,56 +0,0 @@
#!/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

View File

@ -1,29 +0,0 @@
#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;
}

View File

@ -1,33 +0,0 @@
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

View File

@ -1,58 +0,0 @@
#!/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

View File

@ -1,5 +0,0 @@
public class foo {
public static void main(String[] args) {
System.loadLibrary("foolib");
}
}

View File

@ -1,39 +0,0 @@
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

View File

@ -1,71 +0,0 @@
#!/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

View File

@ -1,32 +0,0 @@
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

View File

@ -1,54 +0,0 @@
#!/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

View File

@ -1,12 +0,0 @@
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

View File

@ -1,50 +0,0 @@
#!/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

View File

@ -1,17 +0,0 @@
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

View File

@ -1,55 +0,0 @@
#!/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

View File

@ -1,8 +0,0 @@
#include <stdio.h>
int
main ()
{
printf ("hello\n");
return 0;
}

View File

@ -1,17 +0,0 @@
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

View File

@ -1,52 +0,0 @@
#!/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

View File

@ -1,7 +0,0 @@
#include <filesystem>
namespace fs = std::filesystem;
int main() {
fs::create_directory("sandbox");
fs::remove_all("sandbox");
}

View File

@ -1,16 +0,0 @@
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

View File

@ -1,52 +0,0 @@
#!/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

View File

@ -1,6 +0,0 @@
#include <omp.h>
int main ()
{
#pragma omp parallel for schedule(dynamic)
for (int i = 0; i < 10; i++);
}

View File

@ -1,17 +0,0 @@
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

View File

@ -1,52 +0,0 @@
#!/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

View File

@ -1,6 +0,0 @@
#include <stdarg.h>
void foo(int args, ...) {
va_list ap;
va_start(ap, args);
va_end(ap);
}

View File

@ -1,16 +0,0 @@
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

View File

@ -1,56 +0,0 @@
#!/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

View File

@ -1,5 +0,0 @@
program test_allocated
integer :: i = 4
real(4), allocatable :: x(:)
if (.not. allocated(x)) allocate(x(i))
end program test_allocated

View File

@ -1,17 +0,0 @@
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

View File

@ -1,51 +0,0 @@
#!/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

View File

@ -1,17 +0,0 @@
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

View File

@ -1,50 +0,0 @@
#!/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

View File

@ -1,27 +0,0 @@
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

View File

@ -1,14 +0,0 @@
#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 ();
}

View File

@ -1,66 +0,0 @@
#!/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

View File

@ -1,16 +0,0 @@
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

View File

@ -1,12 +0,0 @@
#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(); }

View File

@ -1,55 +0,0 @@
#!/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

View File

@ -1,26 +0,0 @@
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

View File

@ -1,57 +0,0 @@
#!/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

View File

@ -1,15 +0,0 @@
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;

View File

@ -1,28 +0,0 @@
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

View File

@ -1,54 +0,0 @@
#!/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

View File

@ -1,31 +0,0 @@
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

View File

@ -1,60 +0,0 @@
#!/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

View File

@ -1,2 +0,0 @@
#include <sstream>
int main() {}

View File

@ -1,45 +0,0 @@
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

View File

@ -1,99 +0,0 @@
#!/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

View File

@ -1,34 +0,0 @@
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

View File

@ -1,75 +0,0 @@
#!/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

View File

@ -1,70 +0,0 @@
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

View File

@ -1,89 +0,0 @@
#!/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

View File

@ -1,84 +0,0 @@
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

View File

@ -1,79 +0,0 @@
#!/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

View File

@ -1,7 +0,0 @@
int
main (void)
{
char *mem = __builtin_alloca (40);
__builtin___clear_cache (mem, mem + 40);
return 0;
}

View File

@ -1,78 +0,0 @@
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;
}

View File

@ -1,8 +0,0 @@
#include <stdio.h>
int
main (void)
{
puts ("Hello World!");
return 0;
}

View File

@ -1,7 +0,0 @@
#include <iostream>
int
main (void)
{
std::cout << "Hello, world!\n";
}

View File

@ -1,3 +0,0 @@
program hello
print *, "Hello World!"
end program hello

View File

@ -1,41 +0,0 @@
// { 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);
}

View File

@ -1,58 +0,0 @@
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

View File

@ -1,24 +0,0 @@
#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;
}

View File

@ -1,38 +0,0 @@
#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;
}

View File

@ -1,167 +0,0 @@
#!/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