Compare commits
46 commits
fedora-39-
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
542e13fc39 | ||
|
|
b103e458d2 | ||
|
|
f48051f6b9 | ||
|
|
0c3b5465a2 | ||
|
|
d5fdfa740c | ||
|
|
763a84b98a | ||
|
|
71e0f1ccf4 | ||
|
|
07c482bdc6 | ||
|
|
3efa80f3f1 | ||
|
|
8b1bcc91ef | ||
|
|
6d5a02bb0c | ||
|
|
4f0f922a50 | ||
|
|
7391c5eea6 | ||
|
|
54e002d31a | ||
|
|
77ed99d023 | ||
|
|
ad56a109c1 | ||
|
|
2a1c1558d3 | ||
|
|
d38c5a7ff5 | ||
|
|
fe07b4e4c8 | ||
|
|
bb2d005a7c | ||
|
|
4d3c8a8953 | ||
|
|
b9e16fe4fb | ||
|
|
19950b928d | ||
|
|
32bdc99ae0 | ||
|
|
9552328aff | ||
|
|
f494379f4c | ||
|
|
b3d0caa90a | ||
|
|
bbbf15f1b4 | ||
|
|
f1137fbe40 | ||
|
|
c322925444 | ||
|
|
339bd547f7 | ||
|
|
40f1e47045 | ||
|
|
c3dc3043f9 | ||
|
|
a8497b043f | ||
|
|
015d146dac | ||
|
|
398a2caaab | ||
|
|
d1f19f0f88 | ||
|
|
03a0db98eb | ||
|
|
80ee2b7248 | ||
|
|
ac2524a04d | ||
|
|
65f6377e31 | ||
|
|
5745d8c2cf | ||
|
|
d48cb1b731 | ||
|
|
760121284d | ||
|
|
68d4849898 | ||
|
|
45fcc73ca7 |
81 changed files with 4653 additions and 104 deletions
|
|
@ -6,6 +6,7 @@ repos:
|
||||||
rev: v4.4.0
|
rev: v4.4.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: check-added-large-files
|
- id: check-added-large-files
|
||||||
|
args: ["--maxkb=600"]
|
||||||
- id: check-case-conflict
|
- id: check-case-conflict
|
||||||
- id: check-executables-have-shebangs
|
- id: check-executables-have-shebangs
|
||||||
- id: check-merge-conflict
|
- id: check-merge-conflict
|
||||||
|
|
@ -26,9 +27,32 @@ repos:
|
||||||
rev: v1.32.0
|
rev: v1.32.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: yamllint
|
- id: yamllint
|
||||||
|
types: [file]
|
||||||
files: "^.*?\\.fmf$"
|
files: "^.*?\\.fmf$"
|
||||||
|
|
||||||
- repo: https://github.com/teemtee/tmt.git
|
- repo: https://github.com/teemtee/tmt.git
|
||||||
rev: "1.26.0"
|
rev: "1.26.0"
|
||||||
hooks:
|
hooks:
|
||||||
- id: tmt-lint
|
- id: tmt-lint
|
||||||
|
|
||||||
|
# - repo: https://github.com/koalaman/shellcheck-precommit
|
||||||
|
# rev: v0.7.2
|
||||||
|
# hooks:
|
||||||
|
# - id: shellcheck
|
||||||
|
# args: ["--severity=warning"] # Optionally only show errors and warnings
|
||||||
|
|
||||||
|
- repo: local
|
||||||
|
hooks:
|
||||||
|
- id: shellcheck
|
||||||
|
name: shellcheck
|
||||||
|
description: Test shell scripts with shellcheck
|
||||||
|
entry: shellcheck
|
||||||
|
language: python
|
||||||
|
types: [shell]
|
||||||
|
require_serial: true # shellcheck can detect sourcing this way
|
||||||
|
|
||||||
|
- id: custom-lint-checks
|
||||||
|
name: custom-lint-checks
|
||||||
|
entry: custom-lint-checks.sh
|
||||||
|
language: script
|
||||||
|
pass_filenames: false
|
||||||
|
|
|
||||||
10
.yamllint
Normal file
10
.yamllint
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
extends: default
|
||||||
|
|
||||||
|
rules:
|
||||||
|
document-start:
|
||||||
|
present: false
|
||||||
|
|
||||||
|
line-length:
|
||||||
|
max: 120
|
||||||
37
custom-lint-checks.sh
Executable file
37
custom-lint-checks.sh
Executable file
|
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
RETVAL=0
|
||||||
|
|
||||||
|
DELIMITER='=============================================================================='
|
||||||
|
|
||||||
|
echo -e "\n${DELIMITER}\nChecking WITH_SCL in tests' main.fmf\n"
|
||||||
|
|
||||||
|
# shellcheck disable=SC2044
|
||||||
|
for i in $(find . -name main.fmf); do
|
||||||
|
[ "$i" = "./tests/dts-probe-binaries/main.fmf" ] && continue
|
||||||
|
|
||||||
|
if grep -q '^test:.*test\.sh' "$i"; then
|
||||||
|
# shellcheck disable=SC2016
|
||||||
|
if ! grep -qF 'test: "$WITH_SCL ./test.sh"' "$i"; then
|
||||||
|
echo "$i does not use WITH_SCL in 'test:'"
|
||||||
|
RETVAL=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "$DELIMITER"
|
||||||
|
|
||||||
|
echo -e "\n${DELIMITER}\nChecking for '!=' and ',' used together\n"
|
||||||
|
|
||||||
|
# shellcheck disable=SC2044
|
||||||
|
for i in $(find . -name '*.fmf' -type f); do
|
||||||
|
if grep -qE 'when:.*!=\s*[a-z0-9_]+,' "$i"; then
|
||||||
|
echo "$i uses '!=' and ',' together in 'when:'"
|
||||||
|
grep -E 'when:.*!=\s*[a-z0-9_]+,' "$i"
|
||||||
|
RETVAL=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "$DELIMITER"
|
||||||
|
|
||||||
|
echo -en "\nOVERALL RESULT: "
|
||||||
|
[[ "$RETVAL" -eq 0 ]] && echo PASS || echo FAIL
|
||||||
|
exit $RETVAL
|
||||||
|
|
@ -4,21 +4,45 @@
|
||||||
|
|
||||||
summary: "Build/PR gating tests for binutils"
|
summary: "Build/PR gating tests for binutils"
|
||||||
|
|
||||||
|
provision:
|
||||||
|
hardware:
|
||||||
|
disk:
|
||||||
|
- size: ">= 60 GiB"
|
||||||
|
|
||||||
# Adjust rules
|
# Adjust rules
|
||||||
adjust+:
|
adjust+:
|
||||||
- because: "Plan to be ran when executed locally, or executed by CI system to gate a build or PR."
|
- because: >-
|
||||||
|
Plan to be ran when executed locally, in tier runs,
|
||||||
|
or executed by CI system to gate a build or PR.
|
||||||
|
# `commit` is used by Fedora CI, CentOS Stream CI, `build` by BaseOS CI
|
||||||
|
# `compose` is used by Tier machinery
|
||||||
when: >-
|
when: >-
|
||||||
trigger is defined
|
trigger is defined
|
||||||
and trigger != commit
|
and trigger != commit
|
||||||
and trigger != build
|
and trigger != build
|
||||||
|
and initiator != compose
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
- because: "On CentOS Stream 10, CRB repository must be enabled for various BuildRequires"
|
||||||
|
when: distro == centos-stream-10
|
||||||
|
prepare+:
|
||||||
|
- how: shell
|
||||||
|
script: dnf config-manager --set-enabled crb
|
||||||
|
|
||||||
- because: "On CentOS Stream 9, CRB repository must be enabled for various BuildRequires"
|
- because: "On CentOS Stream 9, CRB repository must be enabled for various BuildRequires"
|
||||||
when: distro == centos-stream-9
|
when: distro == centos-stream-9
|
||||||
prepare+:
|
prepare+:
|
||||||
- how: shell
|
- how: shell
|
||||||
script: dnf config-manager --set-enabled crb
|
script: dnf config-manager --set-enabled crb
|
||||||
|
|
||||||
|
- because: "On RHEL-10, CRB and buildroot repositories must be enabled for various BuildRequires"
|
||||||
|
when: distro == rhel-10
|
||||||
|
prepare+:
|
||||||
|
- how: shell
|
||||||
|
script:
|
||||||
|
- dnf config-manager --set-enabled rhel-CRB
|
||||||
|
- dnf config-manager --set-enabled rhel-buildroot
|
||||||
|
|
||||||
- because: "On RHEL-9, CRB and buildroot repositories must be enabled for various BuildRequires"
|
- because: "On RHEL-9, CRB and buildroot repositories must be enabled for various BuildRequires"
|
||||||
when: distro == rhel-9
|
when: distro == rhel-9
|
||||||
prepare+:
|
prepare+:
|
||||||
|
|
@ -35,22 +59,20 @@ adjust+:
|
||||||
- dnf config-manager --set-enabled rhel-CRB
|
- dnf config-manager --set-enabled rhel-CRB
|
||||||
- dnf config-manager --set-enabled rhel-buildroot
|
- dnf config-manager --set-enabled rhel-buildroot
|
||||||
|
|
||||||
|
- when: arch != s390x
|
||||||
|
provision+:
|
||||||
|
hardware+:
|
||||||
|
cpu:
|
||||||
|
processors: ">= 8"
|
||||||
|
|
||||||
/common:
|
/common:
|
||||||
discover:
|
discover:
|
||||||
- how: fmf
|
- how: fmf
|
||||||
filter: "tag:gate-build"
|
filter: "tag:gate-build"
|
||||||
exclude: '^/tests/rebuilds/kernel$'
|
exclude: '^/tests/rebuilds/kernel$'
|
||||||
|
|
||||||
/kernel-rebuild:
|
/kernel-rebuild:
|
||||||
discover:
|
discover:
|
||||||
- how: fmf
|
- how: fmf
|
||||||
filter: "tag:gate-build"
|
filter: "tag:gate-build"
|
||||||
test: '^/tests/rebuilds/kernel$'
|
test: '^/tests/rebuilds/kernel$'
|
||||||
|
|
||||||
# provision:
|
|
||||||
# - how: virtual
|
|
||||||
# hardware:
|
|
||||||
# disk:
|
|
||||||
# - size: ">= 120 GiB"
|
|
||||||
# cpu:
|
|
||||||
# processors: ">= 8"
|
|
||||||
|
|
|
||||||
|
|
@ -10,12 +10,25 @@ discover:
|
||||||
|
|
||||||
# Adjust rules
|
# Adjust rules
|
||||||
adjust+:
|
adjust+:
|
||||||
- because: "Plan to be ran when executed locally, or executed by CI system after updating an erratum."
|
- because: >-
|
||||||
|
Plan to be ran when executed locally, in tier runs,
|
||||||
|
or executed by CI system after updating an erratum/bodhi update.
|
||||||
|
# `build` is used by Bodhi
|
||||||
|
# `compose` is used by Tier machinery
|
||||||
when: >-
|
when: >-
|
||||||
trigger is defined
|
trigger is defined
|
||||||
and trigger != update
|
and trigger != build
|
||||||
|
and initiator != compose
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
- because: "On RHEL-10, CRB and buildroot repositories must be enabled for various BuildRequires"
|
||||||
|
when: distro == rhel-10
|
||||||
|
prepare+:
|
||||||
|
- how: shell
|
||||||
|
script:
|
||||||
|
- dnf config-manager --set-enabled rhel-CRB
|
||||||
|
- dnf config-manager --set-enabled rhel-buildroot
|
||||||
|
|
||||||
- because: "On CentOS Stream 9, CRB repository must be enabled for various BuildRequires"
|
- because: "On CentOS Stream 9, CRB repository must be enabled for various BuildRequires"
|
||||||
when: distro == centos-stream-9
|
when: distro == centos-stream-9
|
||||||
prepare+:
|
prepare+:
|
||||||
|
|
|
||||||
13
tests/bugs/AVX-512-support-in-binutils/main.fmf
Normal file
13
tests/bugs/AVX-512-support-in-binutils/main.fmf
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
summary: Assembles a procedure with AVX-512 instructions.
|
||||||
|
|
||||||
|
link+:
|
||||||
|
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=1140375
|
||||||
|
|
||||||
|
contact+:
|
||||||
|
- Arjun Shankar <ashankar@redhat.com>
|
||||||
|
|
||||||
|
duration: 5m
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: arch != x86_64
|
||||||
|
enabled: false
|
||||||
56
tests/bugs/AVX-512-support-in-binutils/test.sh
Executable file
56
tests/bugs/AVX-512-support-in-binutils/test.sh
Executable file
|
|
@ -0,0 +1,56 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/binutils/Regression/bz1140375-AVX-512-support-in-binutils
|
||||||
|
# Description: Assembles a procedure with AVX-512 instructions.
|
||||||
|
# Author: Arjun Shankar <ashankar@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2014 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
buTestHeader
|
||||||
|
buEnterTmpDir
|
||||||
|
|
||||||
|
buCopyReproducers tst-auditmod10a.s
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "as tst-auditmod10a.s -o tst-auditmod10a.o"
|
||||||
|
rlAssertExists "tst-auditmod10a.o"
|
||||||
|
rlRun "objdump -d tst-auditmod10a.o > tst-auditmod10a.disas"
|
||||||
|
rlLog "Interesting instructions:"
|
||||||
|
rlLog "$(grep zmm tst-auditmod10a.disas)"
|
||||||
|
rlAssertGrep "vmovdqa64" tst-auditmod10a.disas
|
||||||
|
rlAssertGrep "vpbroadcastq" tst-auditmod10a.disas
|
||||||
|
rlAssertGrep "vpxord" tst-auditmod10a.disas
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
buExitTmpDir
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
3002
tests/bugs/AVX-512-support-in-binutils/tst-auditmod10a.s
Normal file
3002
tests/bugs/AVX-512-support-in-binutils/tst-auditmod10a.s
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -7,3 +7,23 @@ contact+:
|
||||||
|
|
||||||
link+:
|
link+:
|
||||||
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=241252
|
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=241252
|
||||||
|
|
||||||
|
environment+:
|
||||||
|
DWARF5: "yes"
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: distro == rhel-8.10
|
||||||
|
environment+:
|
||||||
|
DWARF5: "no"
|
||||||
|
|
||||||
|
- when: distro == rhel-8.6.0
|
||||||
|
environment+:
|
||||||
|
DWARF5: "no"
|
||||||
|
|
||||||
|
- when: distro == rhel-8 and collection == gcc-toolset-14
|
||||||
|
environment+:
|
||||||
|
DWARF5: "no"
|
||||||
|
|
||||||
|
- when: distro == rhel-8 and collection == gcc-toolset-13
|
||||||
|
environment+:
|
||||||
|
DWARF5: "no"
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,15 @@
|
||||||
rlJournalStart
|
rlJournalStart
|
||||||
rlPhaseStartSetup
|
rlPhaseStartSetup
|
||||||
buTestHeader
|
buTestHeader
|
||||||
|
rlLogInfo "DWARF5=$DWARF5"
|
||||||
buEnterTmpDir
|
buEnterTmpDir
|
||||||
buCopyReproducers "x.i y.i"
|
buCopyReproducers "x.i y.i"
|
||||||
|
|
||||||
|
if [ "$DWARF5" = "yes" ]; then
|
||||||
|
rlRun "SECTION_NAME=debug_rnglists"
|
||||||
|
else
|
||||||
|
rlRun "SECTION_NAME=debug_ranges"
|
||||||
|
fi
|
||||||
rlPhaseEnd
|
rlPhaseEnd
|
||||||
|
|
||||||
rlPhaseStartTest
|
rlPhaseStartTest
|
||||||
|
|
@ -37,14 +44,15 @@ rlJournalStart
|
||||||
rlRun "gcc -c -O2 -fpic -o y.o y.i -g" 0 "Compile test case 'y'"
|
rlRun "gcc -c -O2 -fpic -o y.o y.i -g" 0 "Compile test case 'y'"
|
||||||
rlRun "gcc -Wl,--unique -o x [xy].o" 0 "Link 'x' and 'y'"
|
rlRun "gcc -Wl,--unique -o x [xy].o" 0 "Link 'x' and 'y'"
|
||||||
|
|
||||||
# Note: debug_ranges replaced by debug_rnglist (since DWARF 5 in Fedora 34)
|
|
||||||
rlLogInfo 'x.o + y.o:'
|
rlLogInfo 'x.o + y.o:'
|
||||||
rlLogInfo "$( readelf -WS [xy].o | grep debug_rnglist | grep PROGBITS )"
|
rlRun "readelf -WS [xy].o"
|
||||||
|
rlRun "readelf -WS x"
|
||||||
|
rlLogInfo "$( readelf -WS [xy].o | grep "$SECTION_NAME" | grep PROGBITS )"
|
||||||
rlLogInfo 'x:'
|
rlLogInfo 'x:'
|
||||||
rlLogInfo "$( readelf -WS x | grep debug_rnglist )"
|
rlLogInfo "$( readelf -WS x | grep "$SECTION_NAME" )"
|
||||||
|
|
||||||
if [ $( readelf -WS [xy].o | grep debug_rnglist | grep PROGBITS | wc -l ) -eq 2 ] \
|
if [ "$( readelf -WS [xy].o | grep "$SECTION_NAME" | grep -c PROGBITS )" -eq 2 ] \
|
||||||
&& [ $( readelf -WS x | grep debug_rnglist | wc -l ) -eq 1 ]; then
|
&& [ "$( readelf -WS x | grep -c "$SECTION_NAME" )" -eq 1 ]; then
|
||||||
rlPass "Debug ranges sections were merged"
|
rlPass "Debug ranges sections were merged"
|
||||||
else
|
else
|
||||||
rlFail "Debug ranges sections were not merged"
|
rlFail "Debug ranges sections were not merged"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
summary: Avoid creating gaps between adjacent LOAD segments
|
||||||
|
|
||||||
|
duration: 24h
|
||||||
|
|
||||||
|
require+:
|
||||||
|
- rpm-build
|
||||||
|
- tree
|
||||||
|
- /usr/bin/python3
|
||||||
|
|
||||||
|
link+:
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-45873
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: distro < rhel-9.5
|
||||||
|
enabled: false
|
||||||
89
tests/bugs/Avoid-creating-gaps-between-adjacent-LOAD-segments/repro.sh
Executable file
89
tests/bugs/Avoid-creating-gaps-between-adjacent-LOAD-segments/repro.sh
Executable file
|
|
@ -0,0 +1,89 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
ITER=${1:-10000}
|
||||||
|
|
||||||
|
echo "Testing with $(rpm -q binutils)..."
|
||||||
|
|
||||||
|
pagesz=$(getconf PAGESIZE)
|
||||||
|
echo "Testing with a page size of $pagesz"
|
||||||
|
|
||||||
|
GLIBC_SCRIPTS="$(readlink -f $(rpm --define="_topdir $TmpDir" --eval=%_builddir)/glibc-*/scripts)"
|
||||||
|
|
||||||
|
test() {
|
||||||
|
y=$(($1 * 7))
|
||||||
|
f=obj$y
|
||||||
|
gcc -O2 -fpie -pie -DN=$y t.c -Wl,-z,relro,-z,now -o $f
|
||||||
|
|
||||||
|
PYTHONPATH="$GLIBC_SCRIPTS:$PYTHONPATH" python3 tst-load-segment-gaps.py $f >> verbose.log
|
||||||
|
ret=$?
|
||||||
|
|
||||||
|
rm $f
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
|
||||||
|
rm -f verbose.log
|
||||||
|
|
||||||
|
cat > t.c <<EOF
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <err.h>
|
||||||
|
#include <sys/prctl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
const char *const array[] = {
|
||||||
|
[N] = "value",
|
||||||
|
};
|
||||||
|
|
||||||
|
#define BUF_SZ 2048
|
||||||
|
|
||||||
|
void pmap() {
|
||||||
|
FILE *f;
|
||||||
|
size_t bytes;
|
||||||
|
char *buffer = malloc(BUF_SZ);
|
||||||
|
if (buffer == NULL)
|
||||||
|
err(EXIT_FAILURE, NULL);
|
||||||
|
|
||||||
|
f = fopen("/proc/self/maps", "r");
|
||||||
|
if (f == NULL)
|
||||||
|
err(EXIT_FAILURE, NULL);
|
||||||
|
|
||||||
|
while ((bytes = fread(buffer, 1, BUF_SZ, f)) > 0)
|
||||||
|
fwrite(buffer, 1, bytes, stdout);
|
||||||
|
|
||||||
|
if (ferror(f))
|
||||||
|
perror(NULL);
|
||||||
|
|
||||||
|
fclose(f);
|
||||||
|
free(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main (void)
|
||||||
|
{
|
||||||
|
prctl(PR_SET_DUMPABLE, 0,0, 0);
|
||||||
|
char **volatile p = (char **)array;
|
||||||
|
pmap();
|
||||||
|
__builtin_puts(p[N]);
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
errors=0
|
||||||
|
|
||||||
|
# Print a blank line that we will rewrite later.
|
||||||
|
echo
|
||||||
|
for x in $(seq $ITER) ; do
|
||||||
|
p=$(($x * 100 / $ITER))
|
||||||
|
echo -e '\e[1A\e[K Progress:' "$p% Errors: $errors"
|
||||||
|
if ! test $x; then
|
||||||
|
errors=$(($errors + 1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
rm t.c
|
||||||
|
|
||||||
|
if [[ "$errors" -eq 0 ]]; then
|
||||||
|
echo "The test succeeded!"
|
||||||
|
else
|
||||||
|
percent=$(($errors * 100 / $ITER))
|
||||||
|
echo "Error: tests had a $percent% failure rate" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
27
tests/bugs/Avoid-creating-gaps-between-adjacent-LOAD-segments/test.sh
Executable file
27
tests/bugs/Avoid-creating-gaps-between-adjacent-LOAD-segments/test.sh
Executable file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
buTestHeader
|
||||||
|
buEnterTmpDir
|
||||||
|
|
||||||
|
buCopyReproducers "repro.sh tst-load-segment-gaps.py"
|
||||||
|
|
||||||
|
buPrepareSRPM "glibc"
|
||||||
|
buConfigureSRPM "glibc"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "./repro.sh"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
buExitTmpDir
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -0,0 +1,74 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
# Verify that objects do not contain gaps in load segments.
|
||||||
|
# Copyright (C) 2024 Free Software Foundation, Inc.
|
||||||
|
# This file is part of the GNU C Library.
|
||||||
|
#
|
||||||
|
# The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU Lesser General Public
|
||||||
|
# License as published by the Free Software Foundation; either
|
||||||
|
# version 2.1 of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The GNU C Library 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
|
||||||
|
# Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with the GNU C Library; if not, see
|
||||||
|
# <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os.path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
# Make available glibc Python modules.
|
||||||
|
sys.path.append(os.path.join(
|
||||||
|
os.path.dirname(os.path.realpath(__file__)), os.path.pardir, 'scripts'))
|
||||||
|
|
||||||
|
import glibcelf
|
||||||
|
|
||||||
|
def rounddown(val, align):
|
||||||
|
assert (align & (align - 1)) == 0, align
|
||||||
|
return val & -align
|
||||||
|
def roundup(val, align):
|
||||||
|
assert (align & (align - 1)) == 0, align
|
||||||
|
return (val + align - 1) & -align
|
||||||
|
|
||||||
|
errors = False
|
||||||
|
|
||||||
|
def process(path, img):
|
||||||
|
global errors
|
||||||
|
loads = [phdr for phdr in img.phdrs()
|
||||||
|
if phdr.p_type == glibcelf.Pt.PT_LOAD]
|
||||||
|
if not loads:
|
||||||
|
# Nothing ot check.
|
||||||
|
return
|
||||||
|
alignments = [phdr.p_align for phdr in loads if phdr.p_align > 0]
|
||||||
|
if alignments:
|
||||||
|
align = min(alignments)
|
||||||
|
else:
|
||||||
|
print('error: cannot infer page size')
|
||||||
|
errors = True
|
||||||
|
align = 4096
|
||||||
|
print('info: inferred page size:', align)
|
||||||
|
current_address = None
|
||||||
|
for idx, phdr in enumerate(loads):
|
||||||
|
this_address = rounddown(phdr.p_vaddr, align)
|
||||||
|
next_address = roundup(phdr.p_vaddr + phdr.p_memsz, align)
|
||||||
|
print('info: LOAD segment {}: address 0x{:x}, size {},'
|
||||||
|
' range [0x{:x},0x{:x})'
|
||||||
|
.format(idx, phdr.p_vaddr, phdr.p_memsz,
|
||||||
|
this_address, next_address))
|
||||||
|
if current_address is not None:
|
||||||
|
gap = this_address - current_address
|
||||||
|
if gap != 0:
|
||||||
|
errors = True
|
||||||
|
print('error: gap between load segments: {} bytes'.format(gap))
|
||||||
|
current_address = next_address
|
||||||
|
|
||||||
|
for path in sys.argv[1:]:
|
||||||
|
img = glibcelf.Image.readfile(path)
|
||||||
|
process(path, img)
|
||||||
|
|
||||||
|
if errors:
|
||||||
|
sys.exit(1)
|
||||||
Binary file not shown.
13
tests/bugs/Backport-relro_padding-entsize-fix/main.fmf
Normal file
13
tests/bugs/Backport-relro_padding-entsize-fix/main.fmf
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
summary: Backport .relro_padding entsize fix
|
||||||
|
|
||||||
|
duration: 5m
|
||||||
|
|
||||||
|
require+:
|
||||||
|
- xz
|
||||||
|
|
||||||
|
link+:
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-50536
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: distro != rhel-9 or distro < rhel-9.5.0
|
||||||
|
enabled: false
|
||||||
28
tests/bugs/Backport-relro_padding-entsize-fix/test.sh
Executable file
28
tests/bugs/Backport-relro_padding-entsize-fix/test.sh
Executable file
|
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
buTestHeader
|
||||||
|
buEnterTmpDir
|
||||||
|
|
||||||
|
buCopyReproducers "libclang.so.18.1.xz"
|
||||||
|
rlRun "unxz $TmpDir/libclang.so.18.1.xz"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "objcopy $TmpDir/libclang.so.18.1 $TmpDir/libclang.so.18.1.copy"
|
||||||
|
rlRun "readelf --section-headers $TmpDir/libclang.so.18.1"
|
||||||
|
rlRun -s "readelf --section-headers $TmpDir/libclang.so.18.1.copy"
|
||||||
|
rlAssertEquals "entsize has expected value" "00" "$(grep -E '.relro_padding' "$rlRun_LOG" | awk '{print $7}')"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
buExitTmpDir
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
summary: Backport selective allocation of PGSTE to avoid
|
||||||
|
description: |
|
||||||
|
Backport selective allocation of PGSTE to avoid global vm.allocate_pgste
|
||||||
|
|
||||||
|
link+:
|
||||||
|
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=1140375
|
||||||
|
|
||||||
|
duration: 15m
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: arch != s390x
|
||||||
|
enabled: false
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
.text
|
||||||
|
.global fred
|
||||||
|
fred:
|
||||||
|
nop
|
||||||
52
tests/bugs/Backport-selective-allocation-of-PGSTE-to-avoid/test.sh
Executable file
52
tests/bugs/Backport-selective-allocation-of-PGSTE-to-avoid/test.sh
Executable file
|
|
@ -0,0 +1,52 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/binutils/Regression/bz1485398-Backport-selective-allocation-of-PGSTE-to-avoid
|
||||||
|
# Description: Test for BZ#1485398 (Backport selective allocation of PGSTE to avoid)
|
||||||
|
# Author: Milos Prchlik <mprchlik@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
|
||||||
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
buTestHeader
|
||||||
|
buEnterTmpDir
|
||||||
|
|
||||||
|
buCopyReproducers repr.s
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "as repr.s -o repr.o"
|
||||||
|
rlRun "ld -e 0 repr.o -o repr.no-pgste.exe"
|
||||||
|
rlRun "ld -e 0 repr.o -o repr.pgste.exe --s390-pgste"
|
||||||
|
rlRun "readelf -l repr.no-pgste.exe | grep PGSTE" 1
|
||||||
|
rlRun "readelf -l repr.pgste.exe | grep PGSTE" 0
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
buExitTmpDir
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -46,7 +46,7 @@ rlJournalStart
|
||||||
rlPhaseStartTest
|
rlPhaseStartTest
|
||||||
rlRun "gcc v.c -fPIC -shared -olibv.so"
|
rlRun "gcc v.c -fPIC -shared -olibv.so"
|
||||||
rlRun "gcc u.c -fPIC -shared -olibu.so"
|
rlRun "gcc u.c -fPIC -shared -olibu.so"
|
||||||
rlRun "gcc t.c -D_GNU_SOURCE -L. -lu -lv -ldl -Wl,-rpath,`pwd` &> out"
|
rlRun "gcc t.c -D_GNU_SOURCE -L. -lu -lv -ldl -Wl,-rpath,$(pwd) &> out"
|
||||||
rlLogInfo "$(cat out)"
|
rlLogInfo "$(cat out)"
|
||||||
rlAssertNotGrep "warning: hidden symbol .* is referenced" out
|
rlAssertNotGrep "warning: hidden symbol .* is referenced" out
|
||||||
rlRun "./a.out"
|
rlRun "./a.out"
|
||||||
|
|
|
||||||
10
tests/bugs/Disable-separate-code-for-aarch64/main.fmf
Normal file
10
tests/bugs/Disable-separate-code-for-aarch64/main.fmf
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
summary: Disable separate-code for aarch64
|
||||||
|
|
||||||
|
duration: 10m
|
||||||
|
|
||||||
|
link+:
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-42954
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: arch == x86_64
|
||||||
|
enabled: false
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
extern int printf (const char *, ...);
|
||||||
|
int i = 42;
|
||||||
|
const int * j = & i;
|
||||||
|
|
||||||
|
int main (void) { return printf ("hello world %d\n", * j); }
|
||||||
31
tests/bugs/Disable-separate-code-for-aarch64/test.sh
Executable file
31
tests/bugs/Disable-separate-code-for-aarch64/test.sh
Executable file
|
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
buTestHeader
|
||||||
|
buEnterTmpDir
|
||||||
|
|
||||||
|
buCopyReproducers "reproducer.c"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
|
||||||
|
rlRun "gcc -O0 -o reproducer reproducer.c"
|
||||||
|
rlRun "readelf -lW ./reproducer |& tee output"
|
||||||
|
rlAssertEquals "only two LOAD sections are expected" "$(grep -c "LOAD" output)" "2"
|
||||||
|
|
||||||
|
rlRun "gcc -O0 -o reproducer -Wl,-z,separate-code reproducer.c"
|
||||||
|
rlRun "readelf -lW ./reproducer |& tee output"
|
||||||
|
rlAssertEquals "four LOAD sections are expected" "$(grep -c "LOAD" output)" "4"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
buExitTmpDir
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
summary: ELFv2 @localentry not supported by RHEL7.1 LE
|
||||||
|
|
||||||
|
link+:
|
||||||
|
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=1194164
|
||||||
|
|
||||||
|
duration: 15m
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: arch != ppc64le and arch != ppc64
|
||||||
|
enabled: false
|
||||||
49
tests/bugs/ELFv2-localentry-not-supported-by-RHEL7-1-LE/test.sh
Executable file
49
tests/bugs/ELFv2-localentry-not-supported-by-RHEL7-1-LE/test.sh
Executable file
|
|
@ -0,0 +1,49 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /CoreOS/binutils/Regression/bz1194164-ELFv2-localentry-not-supported-by-RHEL7-1-LE
|
||||||
|
# Description: Test for BZ#1194164 (ELFv2 @localentry not supported by RHEL7.1 LE)
|
||||||
|
# Author: Milos Prchlik <mprchlik@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2015 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
buTestHeader
|
||||||
|
buEnterTmpDir
|
||||||
|
|
||||||
|
rlRun "echo '.quad foo@localentry' > reproducer.s"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "as -a64 reproducer.s"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
buExitTmpDir
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
summary: Static linking results in misleading error message
|
||||||
|
|
||||||
|
description: |+
|
||||||
|
This:
|
||||||
|
|
||||||
|
/usr/bin/ld: cannot find -lc
|
||||||
|
|
||||||
|
becomes this:
|
||||||
|
|
||||||
|
/usr/bin/ld: cannot find -lc
|
||||||
|
/usr/bin/ld: have you installed the static version of the c library ?
|
||||||
|
|
||||||
|
duration: 5m
|
||||||
|
|
||||||
|
link:
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-69758
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: distro < rhel-9.6
|
||||||
|
enabled: false
|
||||||
27
tests/bugs/Static-linking-results-in-misleading-error-message/test.sh
Executable file
27
tests/bugs/Static-linking-results-in-misleading-error-message/test.sh
Executable file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# source the test script helpers
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
buTestHeader
|
||||||
|
buEnterTmpDir
|
||||||
|
|
||||||
|
rlRun "echo 'int main(int argc, char **argv) { return 1; }' > main.c"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun -s "gcc -static -lfoo" 1
|
||||||
|
|
||||||
|
rlAssertGrep "cannot find -lfoo" "$rlRun_LOG"
|
||||||
|
rlAssertGrep "have you installed the static version of the foo library ?" "$rlRun_LOG"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
buExitTmpDir
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -40,13 +40,13 @@ rlJournalStart
|
||||||
rlPhaseEnd
|
rlPhaseEnd
|
||||||
|
|
||||||
for ld in $( ls {/emul/ia32-linux,}/lib*/ld-2* 2> /dev/null); do
|
for ld in $( ls {/emul/ia32-linux,}/lib*/ld-2* 2> /dev/null); do
|
||||||
rlPhaseStartTest "${ld} from $( rpmquery -f ${ld} )"
|
rlPhaseStartTest "$ld from $( rpmquery -f "$ld" )"
|
||||||
filename="$( basename ${ld} ).readline"
|
filename="$( basename "$ld" ).readline"
|
||||||
rlRun "readelf -S ${ld} > $filename" 0 "[$( basename ${ld} )] Write section headers of ${ld}"
|
rlRun "readelf -S $ld > $filename" 0 "[$( basename "$ld" )] Write section headers of $ld"
|
||||||
if ! [[ "$( rlGetArch )" == "ia64" && ! "${ld}" =~ "emul" ]]; then
|
if ! [[ "$( rlGetArch )" == "ia64" && ! "${ld}" =~ "emul" ]]; then
|
||||||
rlAssertGrep ".stapsdt.base " $filename || rlLogError "This may be problem for SystemTap"
|
rlAssertGrep ".stapsdt.base " "$filename" || rlLogError "This may be problem for SystemTap"
|
||||||
fi
|
fi
|
||||||
rlAssertNotGrep ".stapsdt.base.1" $filename || rlLogError "This may be problem for SystemTap"
|
rlAssertNotGrep ".stapsdt.base.1" "$filename" || rlLogError "This may be problem for SystemTap"
|
||||||
rlPhaseEnd
|
rlPhaseEnd
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,18 @@ require+:
|
||||||
- gdb
|
- gdb
|
||||||
|
|
||||||
adjust+:
|
adjust+:
|
||||||
|
- when: collection == gcc-toolset-14 and distro == rhel-9
|
||||||
|
require+:
|
||||||
|
- gdb
|
||||||
|
environment+:
|
||||||
|
REQUIRES: gdb
|
||||||
|
|
||||||
|
- when: collection == gcc-toolset-14 and distro == rhel-8
|
||||||
|
require+:
|
||||||
|
- gcc-toolset-14-gdb
|
||||||
|
environment+:
|
||||||
|
REQUIRES: gcc-toolset-14-gdb
|
||||||
|
|
||||||
- when: collection == gcc-toolset-13
|
- when: collection == gcc-toolset-13
|
||||||
require+:
|
require+:
|
||||||
- gcc-toolset-13-gdb
|
- gcc-toolset-13-gdb
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ rlJournalStart
|
||||||
rlPhaseStartTest
|
rlPhaseStartTest
|
||||||
rlRun "rpm -ql $PACKAGES | grep windmc > windmc.txt" 0,1
|
rlRun "rpm -ql $PACKAGES | grep windmc > windmc.txt" 0,1
|
||||||
rlLogInfo "$(cat windmc.txt)"
|
rlLogInfo "$(cat windmc.txt)"
|
||||||
rlRun "FILE_CNT=`cat windmc.txt | wc -l`"
|
rlRun "FILE_CNT=$(wc -l windmc.txt | awk '{print $1}')"
|
||||||
if [ "$FILE_CNT" == "1" ]; then
|
if [ "$FILE_CNT" == "1" ]; then
|
||||||
rlFail "Either windmg manpage or binary is present - both options are wrong."
|
rlFail "Either windmg manpage or binary is present - both options are wrong."
|
||||||
elif [ "$FILE_CNT" == "2" ]; then
|
elif [ "$FILE_CNT" == "2" ]; then
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
summary: Backport the -error-execstack option to RHEL9
|
||||||
|
|
||||||
|
duration: 5m
|
||||||
|
|
||||||
|
link:
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-59801
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: distro < rhel-9.6.0
|
||||||
|
enabled: false
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
extern int foo (int (*)(int));
|
||||||
|
|
||||||
|
int bar (int arg)
|
||||||
|
{
|
||||||
|
int baz (int arg2) { return arg2 * arg; }
|
||||||
|
return foo (& baz) + arg;
|
||||||
|
}
|
||||||
27
tests/bugs/The-error-execstack-option-is-not-available-in-RHEL9/test.sh
Executable file
27
tests/bugs/The-error-execstack-option-is-not-available-in-RHEL9/test.sh
Executable file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
buTestHeader
|
||||||
|
buEnterTmpDir
|
||||||
|
buCopyReproducers reproducer.c
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest "Verify the default is a warning"
|
||||||
|
rlRun -s "gcc -o reproducer reproducer.c" 1
|
||||||
|
rlAssertGrep "warning: .* requires executable stack" $rlRun_LOG
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest "Verify error an be requested"
|
||||||
|
rlRun -s "gcc -o reproducer reproducer.c -Wl,--error-execstack" 1
|
||||||
|
rlAssertGrep "error: .* is triggering the generation of an executable stack" $rlRun_LOG
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
buExitTmpDir
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
summary: Backport the -error-execstack option to RHEL9
|
||||||
|
|
||||||
|
duration: 5m
|
||||||
|
|
||||||
|
link:
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-59801
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: distro < rhel-9.6.0
|
||||||
|
enabled: false
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
SECTIONS
|
||||||
|
{
|
||||||
|
.text : { *(.text) }
|
||||||
|
.data : { *(.data) }
|
||||||
|
}
|
||||||
27
tests/bugs/The-error-rwx-segments-option-is-not-available-in-RHEL9/test.sh
Executable file
27
tests/bugs/The-error-rwx-segments-option-is-not-available-in-RHEL9/test.sh
Executable file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
buTestHeader
|
||||||
|
buEnterTmpDir
|
||||||
|
buCopyReproducers "reproducer.c script.ld"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest "Verify the default is a warning"
|
||||||
|
rlRun -s "gcc -o reproducer reproducer.c -Wl,-T,script.ld" 1
|
||||||
|
rlAssertGrep "warning: reproducer has a LOAD segment with RWX permissions" $rlRun_LOG
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest "Verify error an be requested"
|
||||||
|
rlRun -s "gcc -o reproducer reproducer.c -Wl,-T,script.ld -Wl,--error-rwx-segments" 1
|
||||||
|
rlAssertGrep "error: reproducer has a LOAD segment with RWX permissions" $rlRun_LOG
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
buExitTmpDir
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
13
tests/bugs/aarch64-crc32-instruction-support/main.fmf
Normal file
13
tests/bugs/aarch64-crc32-instruction-support/main.fmf
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
summary: Checks that 'as' supports CRC32 instructions on aarch64
|
||||||
|
|
||||||
|
link+:
|
||||||
|
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=1179810
|
||||||
|
|
||||||
|
contact+:
|
||||||
|
- Arjun Shankar <ashankar@redhat.com>
|
||||||
|
|
||||||
|
duration: 5m
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: arch != aarch64
|
||||||
|
enabled: false
|
||||||
5
tests/bugs/aarch64-crc32-instruction-support/minimal.c
Normal file
5
tests/bugs/aarch64-crc32-instruction-support/minimal.c
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
int
|
||||||
|
main (void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
51
tests/bugs/aarch64-crc32-instruction-support/test.sh
Executable file
51
tests/bugs/aarch64-crc32-instruction-support/test.sh
Executable file
|
|
@ -0,0 +1,51 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# runtest.sh of /tools/binutils/Regression/bz1179810-aarch64-crc32-instruction-support
|
||||||
|
# Description: Checks that 'as' supports CRC32 instructions on aarch64
|
||||||
|
# Author: Arjun Shankar <ashankar@redhat.com>
|
||||||
|
#
|
||||||
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
#
|
||||||
|
# Copyright (c) 2015 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
buTestHeader
|
||||||
|
buEnterTmpDir
|
||||||
|
|
||||||
|
buCopyReproducers minimal.c
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
rlRun "gcc -Wa,-mcpu=generic+crc -o minimal minimal.c"
|
||||||
|
rlRun "./minimal" # this won't generate any CRC32 instructions, it's
|
||||||
|
# just a sanity test.
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
buExitTmpDir
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -36,7 +36,7 @@ rlJournalStart
|
||||||
rlPhaseEnd
|
rlPhaseEnd
|
||||||
|
|
||||||
rlPhaseStartTest
|
rlPhaseStartTest
|
||||||
rpm -qd $PACKAGES | grep 'man' | while read -r m; do
|
rpm -qd "$PACKAGES" | grep 'man' | while read -r m; do
|
||||||
rlLog "$m"
|
rlLog "$m"
|
||||||
man "$m" | col -b > man.txt
|
man "$m" | col -b > man.txt
|
||||||
rlRun "[[ $(wc -c <man.txt) -ge 2000 ]]"
|
rlRun "[[ $(wc -c <man.txt) -ge 2000 ]]"
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ rlJournalStart
|
||||||
|
|
||||||
if [ $HAS_SUPPORT = 1 ]; then
|
if [ $HAS_SUPPORT = 1 ]; then
|
||||||
rlPhaseStartTest
|
rlPhaseStartTest
|
||||||
rlAssertExists $KO_FILE
|
rlAssertExists "$KO_FILE"
|
||||||
rlRun "set -o pipefail" 0 "Conserve the non-zero return value through the pipe"
|
rlRun "set -o pipefail" 0 "Conserve the non-zero return value through the pipe"
|
||||||
|
|
||||||
# As suggested by nickc@redhat.com:
|
# As suggested by nickc@redhat.com:
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
summary: bytecode stream in file ‘/opt/rh/gcc-toolset-13/root/usr/lib64/libbfd.a’ generated with LTO version 11.3 instead of the expected 13.0
|
summary: bytecode stream in file ‘/opt/rh/gcc-toolset-13/root/usr/lib64/libbfd.a’ generated with LTO version 11.3
|
||||||
|
|
||||||
duration: 10m
|
duration: 10m
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ link+:
|
||||||
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=1366145
|
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=1366145
|
||||||
|
|
||||||
adjust+:
|
adjust+:
|
||||||
# DWZ is not available in RHEL-6 - unless you have collection installed,
|
# DWZ is not available in RHEL-6 - unless you have collection installed,
|
||||||
# then you can use (and test) dwz from collection package.
|
# then you can use (and test) dwz from collection package.
|
||||||
- when: distro == rhel-6 and collection is not defined
|
- when: distro == rhel-6 and collection is not defined
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
|
@ -20,6 +20,12 @@ adjust+:
|
||||||
environment+:
|
environment+:
|
||||||
REQUIRES: dwz
|
REQUIRES: dwz
|
||||||
|
|
||||||
|
- when: collection == gcc-toolset-14
|
||||||
|
require+:
|
||||||
|
- gcc-toolset-14-dwz
|
||||||
|
environment+:
|
||||||
|
REQUIRES: gcc-toolset-14-dwz
|
||||||
|
|
||||||
- when: collection == gcc-toolset-13
|
- when: collection == gcc-toolset-13
|
||||||
require+:
|
require+:
|
||||||
- gcc-toolset-13-dwz
|
- gcc-toolset-13-dwz
|
||||||
|
|
|
||||||
|
|
@ -42,10 +42,10 @@ rlJournalStart
|
||||||
if [ "${EABI_file}" ]; then
|
if [ "${EABI_file}" ]; then
|
||||||
rlLog "EABI_file = $EABI_file"
|
rlLog "EABI_file = $EABI_file"
|
||||||
rlRun "cp -v $EABI_file $TmpDir" 0 "Copy file with GNU/Linux EABI"
|
rlRun "cp -v $EABI_file $TmpDir" 0 "Copy file with GNU/Linux EABI"
|
||||||
local_binary="$(basename ${EABI_file})"
|
local_binary="$(basename "$EABI_file")"
|
||||||
rlAssertExists ${local_binary}
|
rlAssertExists "$local_binary"
|
||||||
rlRun "strip -R .comment ${local_binary}"
|
rlRun "strip -R .comment $local_binary"
|
||||||
file $local_binary > out
|
file "$local_binary" > out
|
||||||
rlAssertNotGrep "(SYSV)" out
|
rlAssertNotGrep "(SYSV)" out
|
||||||
else
|
else
|
||||||
rlDie "There's nothing to test."
|
rlDie "There's nothing to test."
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
extern void k(int);
|
||||||
|
extern void l(int, int*);
|
||||||
|
|
||||||
void f(int i) {
|
void f(int i) {
|
||||||
k(i);
|
k(i);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ rlJournalStart
|
||||||
rlLogInfo "$(cat out)"
|
rlLogInfo "$(cat out)"
|
||||||
rlAssertGrep "SONAME must not be empty string; ignored" out
|
rlAssertGrep "SONAME must not be empty string; ignored" out
|
||||||
rlRun "objdump -p libfoo.so | grep SONAME | awk '{print \$2}' > soname"
|
rlRun "objdump -p libfoo.so | grep SONAME | awk '{print \$2}' > soname"
|
||||||
if [ "`stat -c '%s' soname`" != "0" ]; then
|
if [ "$(stat -c '%s' soname)" != "0" ]; then
|
||||||
rlLogInfo "SONAME='$(cat soname)'"
|
rlLogInfo "SONAME='$(cat soname)'"
|
||||||
rlFail "Detected SONAME is empty"
|
rlFail "Detected SONAME is empty"
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,13 @@
|
||||||
|
summary: objcopy doesn't align sections with --section-alignment/--set-section-alignment
|
||||||
|
|
||||||
|
duration: 15m
|
||||||
|
|
||||||
|
require+:
|
||||||
|
- python3-virt-firmware
|
||||||
|
|
||||||
|
link+:
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-30268
|
||||||
|
|
||||||
|
adjust+:
|
||||||
|
- when: distro < rhel-9
|
||||||
|
enabled: false
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
while read -r line; do
|
||||||
|
section="$(echo "$line" | sed -r 's/^.+\(\.([a-z]+)\)$/\1/')"
|
||||||
|
address="$(echo "$line" | sed -r 's/^.+ file (0x[0-9a-z]+).+$/\1/')"
|
||||||
|
echo "$section @$address"
|
||||||
|
if ((address % 512 != 0)); then
|
||||||
|
echo "Section $section alignment is not multiple of 512"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done < <(pe-inspect "$1" | grep --text "section")
|
||||||
|
|
||||||
|
echo "All OK"
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Include Beaker environment
|
||||||
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
||||||
|
rlJournalStart
|
||||||
|
rlPhaseStartSetup
|
||||||
|
buTestHeader
|
||||||
|
buEnterTmpDir
|
||||||
|
|
||||||
|
buCopyReproducers "repro.sh linuxx64.efi.stub linuxx64.elf.stub"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartTest
|
||||||
|
|
||||||
|
rlRun "objcopy -v --file-alignment=512 --section-alignment=512 --target=efi-app-x86_64 -j .text -j .data -j .dynamic linuxx64.elf.stub foo.pe"
|
||||||
|
rlRun "pe-inspect foo.pe"
|
||||||
|
rlRun "./repro.sh foo.pe"
|
||||||
|
|
||||||
|
rlRun "objcopy -v --file-alignment=512 --section-alignment=512 --target=efi-app-x86_64 -j .text -j .data -j .dynamic -j .sbat linuxx64.elf.stub foo.pe"
|
||||||
|
rlRun "pe-inspect foo.pe"
|
||||||
|
rlRun "./repro.sh foo.pe"
|
||||||
|
|
||||||
|
rlRun "objcopy -v --file-alignment=512 --section-alignment=512 --target=efi-app-x86_64 -j .text -j .data -j .dynamic linuxx64.efi.stub foo.pe"
|
||||||
|
rlRun "pe-inspect foo.pe"
|
||||||
|
rlRun "./repro.sh foo.pe"
|
||||||
|
|
||||||
|
rlRun "objcopy -v --file-alignment=512 --section-alignment=512 --target=efi-app-x86_64 -j .text -j .data -j .dynamic -j .sbat linuxx64.efi.stub foo.pe"
|
||||||
|
rlRun "pe-inspect foo.pe"
|
||||||
|
rlRun "./repro.sh foo.pe"
|
||||||
|
rlPhaseEnd
|
||||||
|
|
||||||
|
rlPhaseStartCleanup
|
||||||
|
buExitTmpDir
|
||||||
|
rlPhaseEnd
|
||||||
|
rlJournalPrintText
|
||||||
|
rlJournalEnd
|
||||||
|
|
@ -35,11 +35,11 @@ __have_kernel_debuginfo () {
|
||||||
local RELEASE ARCH
|
local RELEASE ARCH
|
||||||
rlRun "RELEASE=$(uname -r)"
|
rlRun "RELEASE=$(uname -r)"
|
||||||
rlRun "ARCH=$(uname -m)"
|
rlRun "ARCH=$(uname -m)"
|
||||||
if ! rpm -q kernel-debuginfo-$RELEASE &>/dev/null; then
|
if ! rpm -q "kernel-debuginfo-$RELEASE" &>/dev/null; then
|
||||||
rlLogInfo 'kernel-debuginfo not present, trying to install it'
|
rlLogInfo 'kernel-debuginfo not present, trying to install it'
|
||||||
rlRun "dnf install -y --enablerepo=\*debuginfo kernel-debuginfo-$RELEASE"
|
rlRun "dnf install -y --enablerepo=\*debuginfo kernel-debuginfo-$RELEASE"
|
||||||
fi
|
fi
|
||||||
rlAssertRpm kernel-debuginfo-$RELEASE
|
rlAssertRpm "kernel-debuginfo-$RELEASE"
|
||||||
}
|
}
|
||||||
|
|
||||||
rlJournalStart
|
rlJournalStart
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ description: |
|
||||||
stripping with strip works fine.
|
stripping with strip works fine.
|
||||||
|
|
||||||
contact+:
|
contact+:
|
||||||
- Michal Nowak <mnowak@redhat.com>
|
- Michal Nowak <mnowak@redhat.com>
|
||||||
|
|
||||||
require+:
|
require+:
|
||||||
- glibc-static
|
- glibc-static
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,16 @@ rlJournalStart
|
||||||
rlRun "strings -n 0 2>&1 | tee output"
|
rlRun "strings -n 0 2>&1 | tee output"
|
||||||
if rlIsFedora "> 39"; then
|
if rlIsFedora "> 39"; then
|
||||||
rlAssertGrep "minimum string length is too small: 0" output
|
rlAssertGrep "minimum string length is too small: 0" output
|
||||||
|
|
||||||
|
elif rlIsCentOS ">= 10"; then
|
||||||
|
rlAssertGrep "minimum string length is too small: 0" output
|
||||||
|
|
||||||
|
elif rlIsRHEL ">= 10"; then
|
||||||
|
rlAssertGrep "minimum string length is too small: 0" output
|
||||||
|
|
||||||
|
elif rlIsRHEL ">= 10" && [ "$TOOLSET" = "gcc-toolset-14" ]; then
|
||||||
|
rlAssertGrep "minimum string length is too small: 0" output
|
||||||
|
|
||||||
else
|
else
|
||||||
rlAssertGrep "invalid minimum string length 0" output
|
rlAssertGrep "invalid minimum string length 0" output
|
||||||
fi
|
fi
|
||||||
|
|
@ -52,6 +62,16 @@ rlJournalStart
|
||||||
rlRun "strings --bytes 0 2>&1 | tee output"
|
rlRun "strings --bytes 0 2>&1 | tee output"
|
||||||
if rlIsFedora "> 39"; then
|
if rlIsFedora "> 39"; then
|
||||||
rlAssertGrep "minimum string length is too small: 0" output
|
rlAssertGrep "minimum string length is too small: 0" output
|
||||||
|
|
||||||
|
elif rlIsCentOS ">= 10"; then
|
||||||
|
rlAssertGrep "minimum string length is too small: 0" output
|
||||||
|
|
||||||
|
elif rlIsRHEL ">= 10"; then
|
||||||
|
rlAssertGrep "minimum string length is too small: 0" output
|
||||||
|
|
||||||
|
elif rlIsRHEL ">= 10" && [ "$TOOLSET" = "gcc-toolset-14" ]; then
|
||||||
|
rlAssertGrep "minimum string length is too small: 0" output
|
||||||
|
|
||||||
else
|
else
|
||||||
rlAssertGrep "invalid minimum string length 0" output
|
rlAssertGrep "invalid minimum string length 0" output
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,18 @@ require+:
|
||||||
environment+:
|
environment+:
|
||||||
REQUIRES: "binutils gcc gcc-c++ glibc gdb"
|
REQUIRES: "binutils gcc gcc-c++ glibc gdb"
|
||||||
|
|
||||||
|
# Older format of undefined symbols, the second `@` has been dropped in
|
||||||
|
# https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=3f2e9699234ca31d083bc93ea6e03903f10baeaf
|
||||||
|
LEGACY_UNDEFINED_SYMBOLS: "no"
|
||||||
|
|
||||||
adjust+:
|
adjust+:
|
||||||
- when: collection is not defined
|
- when: collection is not defined
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
- when: distro == rhel-8 and collection == gcc-toolset-14
|
||||||
|
environment+:
|
||||||
|
LEGACY_UNDEFINED_SYMBOLS: "yes"
|
||||||
|
|
||||||
|
- when: distro == rhel-8 and collection == gcc-toolset-13
|
||||||
|
environment+:
|
||||||
|
LEGACY_UNDEFINED_SYMBOLS: "yes"
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ rlJournalStart
|
||||||
rlLogInfo "READELF=$READELF"
|
rlLogInfo "READELF=$READELF"
|
||||||
rlLogInfo "SIZE=$SIZE"
|
rlLogInfo "SIZE=$SIZE"
|
||||||
rlLogInfo "STRINGS=$STRINGS"
|
rlLogInfo "STRINGS=$STRINGS"
|
||||||
|
rlLogInfo "LEGACY_UNDEFINED_SYMBOLS=$LEGACY_UNDEFINED_SYMBOLS"
|
||||||
|
|
||||||
buEnterTmpDir
|
buEnterTmpDir
|
||||||
|
|
||||||
|
|
@ -184,7 +185,7 @@ fi
|
||||||
rlAssertGrep "virtual2.C" o
|
rlAssertGrep "virtual2.C" o
|
||||||
fi
|
fi
|
||||||
rlAssertGrep "_ZN1BD1Ev" o
|
rlAssertGrep "_ZN1BD1Ev" o
|
||||||
if [ "$COLLECTIONS" != "devtoolset-11" ]; then
|
if [ "$TOOLSET" != "devtoolset-11" ]; then
|
||||||
rlAssertGrep ".dynstr" o
|
rlAssertGrep ".dynstr" o
|
||||||
fi
|
fi
|
||||||
# On PPC, we have .toc instead.
|
# On PPC, we have .toc instead.
|
||||||
|
|
@ -196,8 +197,14 @@ fi
|
||||||
if [ "`rlGetPrimaryArch`" != "ppc64" ] || [ ! rlIsRHEL 7 ]; then
|
if [ "`rlGetPrimaryArch`" != "ppc64" ] || [ ! rlIsRHEL 7 ]; then
|
||||||
rlAssertGrep "__gmon_start__" u
|
rlAssertGrep "__gmon_start__" u
|
||||||
fi
|
fi
|
||||||
rlAssertGrep "printf@GLIBC" u
|
# Older format, the second `@` has been dropped in https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=3f2e9699234ca31d083bc93ea6e03903f10baeaf
|
||||||
rlAssertGrep "__libc_start_main@GLIBC" u
|
if [ "$LEGACY_UNDEFINED_SYMBOLS" = "yes" ]; then
|
||||||
|
rlAssertGrep "printf@@GLIBC" u
|
||||||
|
rlAssertGrep "__libc_start_main@@GLIBC" u
|
||||||
|
else
|
||||||
|
rlAssertGrep "printf@GLIBC" u
|
||||||
|
rlAssertGrep "__libc_start_main@GLIBC" u
|
||||||
|
fi
|
||||||
# Try -P --size-sort.
|
# Try -P --size-sort.
|
||||||
rlRun "nm -P --size-sort localplt > p"
|
rlRun "nm -P --size-sort localplt > p"
|
||||||
if test $(uname -m) = "ppc64" -a $(rlGetDistroRelease) -gt 5; then
|
if test $(uname -m) = "ppc64" -a $(rlGetDistroRelease) -gt 5; then
|
||||||
|
|
|
||||||
26
tests/lib.sh
26
tests/lib.sh
|
|
@ -34,6 +34,7 @@ function buTestHeader () {
|
||||||
rlLogInfo "PACKAGES=$PACKAGES"
|
rlLogInfo "PACKAGES=$PACKAGES"
|
||||||
rlLogInfo "REQUIRES=$REQUIRES"
|
rlLogInfo "REQUIRES=$REQUIRES"
|
||||||
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
||||||
|
rlLogInfo "TOOLSET=$TOOLSET"
|
||||||
rlLogInfo "COLLECTION_PACKAGES=$COLLECTION_PACKAGES"
|
rlLogInfo "COLLECTION_PACKAGES=$COLLECTION_PACKAGES"
|
||||||
rlLogInfo "LD=$_LD"
|
rlLogInfo "LD=$_LD"
|
||||||
rlLogInfo "GCC=$_GCC"
|
rlLogInfo "GCC=$_GCC"
|
||||||
|
|
@ -70,9 +71,9 @@ function buTestHeader () {
|
||||||
|
|
||||||
|
|
||||||
function buEnterTmpDir () {
|
function buEnterTmpDir () {
|
||||||
rlRun "export TmpDir=$(mktemp -d -p $BU_TMPDIR_PARENT)" 0 "Creating tmp directory"
|
rlRun "export TmpDir=$(mktemp -d -p "$BU_TMPDIR_PARENT")" 0 "Creating tmp directory"
|
||||||
|
|
||||||
if [ ! -z "$BU_AS_TEST_USER" ]; then
|
if [ -n "$BU_AS_TEST_USER" ]; then
|
||||||
username="${1:-$BU_TEST_USER}"
|
username="${1:-$BU_TEST_USER}"
|
||||||
|
|
||||||
buEnterTestUser "$username"
|
buEnterTestUser "$username"
|
||||||
|
|
@ -91,7 +92,7 @@ function buExitTmpDir () {
|
||||||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -z "$BU_AS_TEST_USER" ]; then
|
if [ -n "$BU_AS_TEST_USER" ]; then
|
||||||
username="${1:-$BU_TEST_USER}"
|
username="${1:-$BU_TEST_USER}"
|
||||||
|
|
||||||
buExitTestUser "$username"
|
buExitTestUser "$username"
|
||||||
|
|
@ -105,18 +106,29 @@ function buPrepareSRPM () {
|
||||||
|
|
||||||
rlFetchSrcForInstalled "$installed_rpm"
|
rlFetchSrcForInstalled "$installed_rpm"
|
||||||
|
|
||||||
rlRun "export SRPM=`find . -name '*.src.rpm'`"
|
rlRun "export SRPM=$(find . -name '*.src.rpm')"
|
||||||
rlRun "rpm -ivh --define=\"_topdir $TmpDir\" $SRPM"
|
rlRun "rpm -ivh --define=\"_topdir $TmpDir\" $SRPM"
|
||||||
|
|
||||||
rlRun "export SPECDIR=`rpm --define=\"_topdir $TmpDir\" --eval=%_specdir`"
|
rlRun "export SPECDIR=$(rpm --define="_topdir $TmpDir" --eval=%_specdir)"
|
||||||
rlRun "export SPECFILE=`find $SPECDIR/ -name '*.spec'`"
|
rlRun "export SPECFILE=$(find "$SPECDIR/" -name '*.spec')"
|
||||||
|
|
||||||
rlRun "yum-builddep -y --define=\"_topdir $TmpDir\" $builddep_options $SPECFILE"
|
rlRun "yum-builddep -y --define=\"_topdir $TmpDir\" $builddep_options $SPECFILE"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function buConfigureSRPM () {
|
||||||
|
if [ -n "$BU_AS_TEST_USER" ]; then
|
||||||
|
username="${1:-$BU_TEST_USER}"
|
||||||
|
|
||||||
|
rlRun "su - $username -c 'rpmbuild -bp --define=\"_topdir $TmpDir\" $SPECFILE'"
|
||||||
|
else
|
||||||
|
rlRun " rpmbuild -bp --define=\"_topdir $TmpDir\" $SPECFILE"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function buBuildSRPM () {
|
function buBuildSRPM () {
|
||||||
if [ ! -z "$BU_AS_TEST_USER" ]; then
|
if [ -n "$BU_AS_TEST_USER" ]; then
|
||||||
username="${1:-$BU_TEST_USER}"
|
username="${1:-$BU_TEST_USER}"
|
||||||
|
|
||||||
rlRun "su - $username -c 'rpmbuild -bc --define=\"_topdir $TmpDir\" $SPECFILE'"
|
rlRun "su - $username -c 'rpmbuild -bc --define=\"_topdir $TmpDir\" $SPECFILE'"
|
||||||
|
|
|
||||||
198
tests/main.fmf
198
tests/main.fmf
|
|
@ -42,7 +42,12 @@ require+:
|
||||||
# Adjust rules
|
# Adjust rules
|
||||||
adjust+:
|
adjust+:
|
||||||
- because: "/tmp is not big enough to hold tmpdir for tests"
|
- because: "/tmp is not big enough to hold tmpdir for tests"
|
||||||
when: distro == fedora-rawhide,rhel-9
|
when: distro >= rhel-9
|
||||||
|
environment+:
|
||||||
|
BU_TMPDIR_PARENT: "/"
|
||||||
|
|
||||||
|
- because: "/tmp is not big enough to hold tmpdir for tests"
|
||||||
|
when: distro >= fedora-38
|
||||||
environment+:
|
environment+:
|
||||||
BU_TMPDIR_PARENT: "/"
|
BU_TMPDIR_PARENT: "/"
|
||||||
|
|
||||||
|
|
@ -60,13 +65,35 @@ adjust+:
|
||||||
# Environments:
|
# Environments:
|
||||||
#
|
#
|
||||||
# * `PACKAGES` shall be only `binutils` or its collection variant and nothing else
|
# * `PACKAGES` shall be only `binutils` or its collection variant and nothing else
|
||||||
|
# * `TOOLSET` shall be either the collection name when testing a collection build,
|
||||||
|
# or left unset. Note that `COLLECTIONS` is left unset completely, it's not used
|
||||||
|
# by any test
|
||||||
# * `_REQUIRES` lists the default requirements - `gcc`, `gcc-c++` and so on
|
# * `_REQUIRES` lists the default requirements - `gcc`, `gcc-c++` and so on
|
||||||
|
# * `WITH_SCL` shall be set to `scl enable ...` command to enable the collection before
|
||||||
|
# running the test script itself, or left unset for non-collection environments
|
||||||
# * `BINUTILS_PACKAGE`, `GCC_PACKAGE` list packages providing active binutils and gcc
|
# * `BINUTILS_PACKAGE`, `GCC_PACKAGE` list packages providing active binutils and gcc
|
||||||
# in the test environment. `BINUTILS_PACKAGE` is usually the same as `PACKAGES` but
|
# in the test environment. `BINUTILS_PACKAGE` is usually the same as `PACKAGES` but
|
||||||
# but complements `GCC_PACKAGE`
|
# but complements `GCC_PACKAGE`
|
||||||
# * `COLLECTION_PACKAGES` lists other binutils packages in the collection
|
# * `COLLECTION_PACKAGES` lists other binutils packages in the collection
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# RHEL-10 / no collection
|
||||||
|
- when: distro == rhel-10 and collection is not defined
|
||||||
|
require+:
|
||||||
|
- binutils
|
||||||
|
- binutils-devel
|
||||||
|
- binutils-gold
|
||||||
|
- glibc
|
||||||
|
- gcc
|
||||||
|
- gcc-c++
|
||||||
|
- annobin-annocheck
|
||||||
|
- annobin-plugin-gcc
|
||||||
|
environment+:
|
||||||
|
PACKAGES: binutils
|
||||||
|
_REQUIRES: gcc gcc-c++ glibc annobin-annocheck annobin-plugin-gcc
|
||||||
|
BINUTILS_PACKAGE: binutils
|
||||||
|
GCC_PACKAGE: gcc
|
||||||
|
|
||||||
# RHEL-9 / no collection
|
# RHEL-9 / no collection
|
||||||
- when: distro == rhel-9 and collection is not defined
|
- when: distro == rhel-9 and collection is not defined
|
||||||
require+:
|
require+:
|
||||||
|
|
@ -83,8 +110,64 @@ adjust+:
|
||||||
BINUTILS_PACKAGE: binutils
|
BINUTILS_PACKAGE: binutils
|
||||||
GCC_PACKAGE: gcc
|
GCC_PACKAGE: gcc
|
||||||
|
|
||||||
|
# RHEL-9 / gcc-toolset-14
|
||||||
|
- when: distro == rhel-9 and collection == gcc-toolset-14 and arch == x86_64,aarch64
|
||||||
|
require+:
|
||||||
|
- gcc-toolset-14-binutils
|
||||||
|
- gcc-toolset-14-binutils-devel
|
||||||
|
- gcc-toolset-14-binutils-gold
|
||||||
|
- gcc-toolset-14-binutils-gprofng
|
||||||
|
- gcc-toolset-14-gcc
|
||||||
|
- gcc-toolset-14-gcc-c++
|
||||||
|
- gcc-toolset-14-gcc-plugin-annobin
|
||||||
|
environment+:
|
||||||
|
PACKAGES: gcc-toolset-14-binutils
|
||||||
|
TOOLSET: gcc-toolset-14
|
||||||
|
_REQUIRES: gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-plugin-annobin glibc
|
||||||
|
WITH_SCL: scl enable gcc-toolset-14
|
||||||
|
BINUTILS_PACKAGE: gcc-toolset-14-binutils
|
||||||
|
GCC_PACKAGE: gcc-toolset-14-gcc
|
||||||
|
# yamllint disable-line rule:line-length
|
||||||
|
COLLECTION_PACKAGES: gcc-toolset-14-binutils gcc-toolset-14-binutils-devel gcc-toolset-14-binutils-gold gcc-toolset-14-binutils-gprofng
|
||||||
|
|
||||||
|
- when: distro == rhel-9 and collection == gcc-toolset-14 and arch != x86_64 and arch != aarch64
|
||||||
|
require+:
|
||||||
|
- gcc-toolset-14-binutils
|
||||||
|
- gcc-toolset-14-binutils-devel
|
||||||
|
- gcc-toolset-14-binutils-gold
|
||||||
|
- gcc-toolset-14-gcc
|
||||||
|
- gcc-toolset-14-gcc-c++
|
||||||
|
- gcc-toolset-14-gcc-plugin-annobin
|
||||||
|
environment+:
|
||||||
|
PACKAGES: gcc-toolset-14-binutils
|
||||||
|
TOOLSET: gcc-toolset-14
|
||||||
|
_REQUIRES: gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-plugin-annobin glibc
|
||||||
|
WITH_SCL: scl enable gcc-toolset-14
|
||||||
|
BINUTILS_PACKAGE: gcc-toolset-14-binutils
|
||||||
|
GCC_PACKAGE: gcc-toolset-14-gcc
|
||||||
|
COLLECTION_PACKAGES: gcc-toolset-14-binutils gcc-toolset-14-binutils-devel gcc-toolset-14-binutils-gold
|
||||||
|
|
||||||
# RHEL-9 / gcc-toolset-13
|
# RHEL-9 / gcc-toolset-13
|
||||||
- when: distro == rhel-9 and collection == gcc-toolset-13
|
- when: distro == rhel-9 and collection == gcc-toolset-13 and arch == x86_64,aarch64
|
||||||
|
require+:
|
||||||
|
- gcc-toolset-13-binutils
|
||||||
|
- gcc-toolset-13-binutils-devel
|
||||||
|
- gcc-toolset-13-binutils-gold
|
||||||
|
- gcc-toolset-13-binutils-gprofng
|
||||||
|
- gcc-toolset-13-gcc
|
||||||
|
- gcc-toolset-13-gcc-c++
|
||||||
|
- gcc-toolset-13-gcc-plugin-annobin
|
||||||
|
environment+:
|
||||||
|
PACKAGES: gcc-toolset-13-binutils
|
||||||
|
TOOLSET: gcc-toolset-13
|
||||||
|
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
||||||
|
WITH_SCL: scl enable gcc-toolset-13
|
||||||
|
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
||||||
|
GCC_PACKAGE: gcc-toolset-13-gcc
|
||||||
|
# yamllint disable-line rule:line-length
|
||||||
|
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold gcc-toolset-13-binutils-gprofng
|
||||||
|
|
||||||
|
- when: distro == rhel-9 and collection == gcc-toolset-13 and arch != x86_64 and arch != aarch64
|
||||||
require+:
|
require+:
|
||||||
- gcc-toolset-13-binutils
|
- gcc-toolset-13-binutils
|
||||||
- gcc-toolset-13-binutils-devel
|
- gcc-toolset-13-binutils-devel
|
||||||
|
|
@ -94,6 +177,7 @@ adjust+:
|
||||||
- gcc-toolset-13-gcc-plugin-annobin
|
- gcc-toolset-13-gcc-plugin-annobin
|
||||||
environment+:
|
environment+:
|
||||||
PACKAGES: gcc-toolset-13-binutils
|
PACKAGES: gcc-toolset-13-binutils
|
||||||
|
TOOLSET: gcc-toolset-13
|
||||||
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
||||||
WITH_SCL: scl enable gcc-toolset-13
|
WITH_SCL: scl enable gcc-toolset-13
|
||||||
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
||||||
|
|
@ -111,6 +195,7 @@ adjust+:
|
||||||
- gcc-toolset-12-gcc-plugin-annobin
|
- gcc-toolset-12-gcc-plugin-annobin
|
||||||
environment+:
|
environment+:
|
||||||
PACKAGES: gcc-toolset-12-binutils
|
PACKAGES: gcc-toolset-12-binutils
|
||||||
|
TOOLSET: gcc-toolset-12
|
||||||
_REQUIRES: gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-plugin-annobin glibc
|
_REQUIRES: gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-plugin-annobin glibc
|
||||||
WITH_SCL: scl enable gcc-toolset-12
|
WITH_SCL: scl enable gcc-toolset-12
|
||||||
BINUTILS_PACKAGE: gcc-toolset-12-binutils
|
BINUTILS_PACKAGE: gcc-toolset-12-binutils
|
||||||
|
|
@ -135,6 +220,43 @@ adjust+:
|
||||||
BINUTILS_PACKAGE: binutils
|
BINUTILS_PACKAGE: binutils
|
||||||
GCC_PACKAGE: gcc
|
GCC_PACKAGE: gcc
|
||||||
|
|
||||||
|
# RHEL-8 / gcc-toolset-14
|
||||||
|
- when: distro == rhel-8 and collection == gcc-toolset-14 and arch == x86_64,aarch64
|
||||||
|
require+:
|
||||||
|
- gcc-toolset-14-binutils
|
||||||
|
- gcc-toolset-14-binutils-devel
|
||||||
|
- gcc-toolset-14-binutils-gold
|
||||||
|
- gcc-toolset-14-binutils-gprofng
|
||||||
|
- gcc-toolset-14-gcc
|
||||||
|
- gcc-toolset-14-gcc-c++
|
||||||
|
- gcc-toolset-14-gcc-plugin-annobin
|
||||||
|
environment+:
|
||||||
|
PACKAGES: gcc-toolset-14-binutils
|
||||||
|
TOOLSET: gcc-toolset-14
|
||||||
|
_REQUIRES: gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-plugin-annobin glibc
|
||||||
|
WITH_SCL: scl enable gcc-toolset-14
|
||||||
|
BINUTILS_PACKAGE: gcc-toolset-14-binutils
|
||||||
|
GCC_PACKAGE: gcc-toolset-14-gcc
|
||||||
|
# yamllint disable-line rule:line-length
|
||||||
|
COLLECTION_PACKAGES: gcc-toolset-14-binutils gcc-toolset-14-binutils-devel gcc-toolset-14-binutils-gold gcc-toolset-14-binutils-gprofng
|
||||||
|
|
||||||
|
- when: distro == rhel-8 and collection == gcc-toolset-14 and arch != x86_64 and arch != aarch64
|
||||||
|
require+:
|
||||||
|
- gcc-toolset-14-binutils
|
||||||
|
- gcc-toolset-14-binutils-devel
|
||||||
|
- gcc-toolset-14-binutils-gold
|
||||||
|
- gcc-toolset-14-gcc
|
||||||
|
- gcc-toolset-14-gcc-c++
|
||||||
|
- gcc-toolset-14-gcc-plugin-annobin
|
||||||
|
environment+:
|
||||||
|
PACKAGES: gcc-toolset-14-binutils
|
||||||
|
TOOLSET: gcc-toolset-14
|
||||||
|
_REQUIRES: gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-plugin-annobin glibc
|
||||||
|
WITH_SCL: scl enable gcc-toolset-14
|
||||||
|
BINUTILS_PACKAGE: gcc-toolset-14-binutils
|
||||||
|
GCC_PACKAGE: gcc-toolset-14-gcc
|
||||||
|
COLLECTION_PACKAGES: gcc-toolset-14-binutils gcc-toolset-14-binutils-devel gcc-toolset-14-binutils-gold
|
||||||
|
|
||||||
# RHEL-8 / gcc-toolset-13
|
# RHEL-8 / gcc-toolset-13
|
||||||
- when: distro == rhel-8 and collection == gcc-toolset-13 and arch == x86_64,aarch64
|
- when: distro == rhel-8 and collection == gcc-toolset-13 and arch == x86_64,aarch64
|
||||||
require+:
|
require+:
|
||||||
|
|
@ -147,13 +269,15 @@ adjust+:
|
||||||
- gcc-toolset-13-gcc-plugin-annobin
|
- gcc-toolset-13-gcc-plugin-annobin
|
||||||
environment+:
|
environment+:
|
||||||
PACKAGES: gcc-toolset-13-binutils
|
PACKAGES: gcc-toolset-13-binutils
|
||||||
|
TOOLSET: gcc-toolset-13
|
||||||
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
||||||
WITH_SCL: scl enable gcc-toolset-13
|
WITH_SCL: scl enable gcc-toolset-13
|
||||||
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
||||||
GCC_PACKAGE: gcc-toolset-13-gcc
|
GCC_PACKAGE: gcc-toolset-13-gcc
|
||||||
|
# yamllint disable-line rule:line-length
|
||||||
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold gcc-toolset-13-binutils-gprofng
|
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold gcc-toolset-13-binutils-gprofng
|
||||||
|
|
||||||
- when: distro == rhel-8 and collection == gcc-toolset-13 and arch != x86_64,aarch64
|
- when: distro == rhel-8 and collection == gcc-toolset-13 and arch != x86_64 and arch != aarch64
|
||||||
require+:
|
require+:
|
||||||
- gcc-toolset-13-binutils
|
- gcc-toolset-13-binutils
|
||||||
- gcc-toolset-13-binutils-devel
|
- gcc-toolset-13-binutils-devel
|
||||||
|
|
@ -163,6 +287,7 @@ adjust+:
|
||||||
- gcc-toolset-13-gcc-plugin-annobin
|
- gcc-toolset-13-gcc-plugin-annobin
|
||||||
environment+:
|
environment+:
|
||||||
PACKAGES: gcc-toolset-13-binutils
|
PACKAGES: gcc-toolset-13-binutils
|
||||||
|
TOOLSET: gcc-toolset-13
|
||||||
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
||||||
WITH_SCL: scl enable gcc-toolset-13
|
WITH_SCL: scl enable gcc-toolset-13
|
||||||
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
||||||
|
|
@ -181,6 +306,8 @@ adjust+:
|
||||||
- gcc-toolset-12-annobin-plugin-gcc
|
- gcc-toolset-12-annobin-plugin-gcc
|
||||||
environment+:
|
environment+:
|
||||||
PACKAGES: gcc-toolset-12-binutils
|
PACKAGES: gcc-toolset-12-binutils
|
||||||
|
TOOLSET: gcc-toolset-12
|
||||||
|
# yamllint disable-line rule:line-length
|
||||||
_REQUIRES: gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-plugin-annobin gcc-toolset-12-annobin-plugin-gcc glibc
|
_REQUIRES: gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-plugin-annobin gcc-toolset-12-annobin-plugin-gcc glibc
|
||||||
WITH_SCL: scl enable gcc-toolset-12
|
WITH_SCL: scl enable gcc-toolset-12
|
||||||
BINUTILS_PACKAGE: gcc-toolset-12-binutils
|
BINUTILS_PACKAGE: gcc-toolset-12-binutils
|
||||||
|
|
@ -215,15 +342,35 @@ adjust+:
|
||||||
- devtoolset-13-gcc-c++
|
- devtoolset-13-gcc-c++
|
||||||
environment+:
|
environment+:
|
||||||
PACKAGES: devtoolset-13-binutils
|
PACKAGES: devtoolset-13-binutils
|
||||||
|
TOOLSET: devtoolset-13
|
||||||
_REQUIRES: devtoolset-13-gcc devtoolset-13-gcc-c++ glibc
|
_REQUIRES: devtoolset-13-gcc devtoolset-13-gcc-c++ glibc
|
||||||
WITH_SCL: scl enable devtoolset-13
|
WITH_SCL: scl enable devtoolset-13
|
||||||
BINUTILS_PACKAGE: devtoolset-13-binutils
|
BINUTILS_PACKAGE: devtoolset-13-binutils
|
||||||
GCC_PACKAGE: devtoolset-13-gcc
|
GCC_PACKAGE: devtoolset-13-gcc
|
||||||
|
# yamllint disable-line rule:line-length
|
||||||
COLLECTION_PACKAGES: devtoolset-13-binutils devtoolset-13-binutils-devel devtoolset-13-binutils-gold devtoolset-13-binutils-gprofng
|
COLLECTION_PACKAGES: devtoolset-13-binutils devtoolset-13-binutils-devel devtoolset-13-binutils-gold devtoolset-13-binutils-gprofng
|
||||||
|
|
||||||
# RHEL-7 / devtoolset-12
|
# RHEL-7 / devtoolset-12
|
||||||
# RHEL-7 / devtoolset-11
|
# RHEL-7 / devtoolset-11
|
||||||
|
|
||||||
|
# CentOS Stream 10 / no collection
|
||||||
|
- when: distro == centos-stream-10 and collection is not defined
|
||||||
|
require+:
|
||||||
|
- binutils
|
||||||
|
- binutils-devel
|
||||||
|
- binutils-gold
|
||||||
|
- gcc
|
||||||
|
- gcc-c++
|
||||||
|
# TODO: CentOS Stream 10
|
||||||
|
# - annobin
|
||||||
|
environment+:
|
||||||
|
PACKAGES: binutils
|
||||||
|
# TODO: CentOS Stream 10
|
||||||
|
# _REQUIRES: gcc gcc-c++ glibc annobin
|
||||||
|
_REQUIRES: gcc gcc-c++ glibc
|
||||||
|
BINUTILS_PACKAGE: binutils
|
||||||
|
GCC_PACKAGE: gcc
|
||||||
|
|
||||||
# CentOS Stream 9 / no collection
|
# CentOS Stream 9 / no collection
|
||||||
- when: distro == centos-stream-9 and collection is not defined
|
- when: distro == centos-stream-9 and collection is not defined
|
||||||
require+:
|
require+:
|
||||||
|
|
@ -239,17 +386,40 @@ adjust+:
|
||||||
BINUTILS_PACKAGE: binutils
|
BINUTILS_PACKAGE: binutils
|
||||||
GCC_PACKAGE: gcc
|
GCC_PACKAGE: gcc
|
||||||
|
|
||||||
|
# CentOS Stream 9 / gcc-toolset-14
|
||||||
|
- when: distro == centos-stream-9 and collection == gcc-toolset-14
|
||||||
|
require+:
|
||||||
|
- gcc-toolset-14-binutils
|
||||||
|
- gcc-toolset-14-binutils-devel
|
||||||
|
- gcc-toolset-14-binutils-gold
|
||||||
|
# TODO: why is it missing, not being shipped?
|
||||||
|
# - gcc-toolset-14-binutils-gprofng
|
||||||
|
- gcc-toolset-14-gcc
|
||||||
|
- gcc-toolset-14-gcc-c++
|
||||||
|
- gcc-toolset-14-gcc-plugin-annobin
|
||||||
|
environment+:
|
||||||
|
PACKAGES: gcc-toolset-14-binutils
|
||||||
|
TOOLSET: gcc-toolset-14
|
||||||
|
_REQUIRES: gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-plugin-annobin glibc
|
||||||
|
WITH_SCL: scl enable gcc-toolset-14
|
||||||
|
BINUTILS_PACKAGE: gcc-toolset-14-binutils
|
||||||
|
GCC_PACKAGE: gcc-toolset-14-gcc
|
||||||
|
COLLECTION_PACKAGES: gcc-toolset-14-binutils gcc-toolset-14-binutils-devel gcc-toolset-14-binutils-gold
|
||||||
|
|
||||||
# CentOS Stream 9 / gcc-toolset-13
|
# CentOS Stream 9 / gcc-toolset-13
|
||||||
- when: distro == centos-stream-9 and collection == gcc-toolset-13
|
- when: distro == centos-stream-9 and collection == gcc-toolset-13
|
||||||
require+:
|
require+:
|
||||||
- gcc-toolset-13-binutils
|
- gcc-toolset-13-binutils
|
||||||
- gcc-toolset-13-binutils-devel
|
- gcc-toolset-13-binutils-devel
|
||||||
- gcc-toolset-13-binutils-gold
|
- gcc-toolset-13-binutils-gold
|
||||||
|
# TODO: why is it missing, not being shipped?
|
||||||
|
# - gcc-toolset-13-binutils-gprofng
|
||||||
- gcc-toolset-13-gcc
|
- gcc-toolset-13-gcc
|
||||||
- gcc-toolset-13-gcc-c++
|
- gcc-toolset-13-gcc-c++
|
||||||
- gcc-toolset-13-gcc-plugin-annobin
|
- gcc-toolset-13-gcc-plugin-annobin
|
||||||
environment+:
|
environment+:
|
||||||
PACKAGES: gcc-toolset-13-binutils
|
PACKAGES: gcc-toolset-13-binutils
|
||||||
|
TOOLSET: gcc-toolset-13
|
||||||
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
||||||
WITH_SCL: scl enable gcc-toolset-13
|
WITH_SCL: scl enable gcc-toolset-13
|
||||||
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
||||||
|
|
@ -286,13 +456,14 @@ adjust+:
|
||||||
- gcc-toolset-13-gcc-plugin-annobin
|
- gcc-toolset-13-gcc-plugin-annobin
|
||||||
environment+:
|
environment+:
|
||||||
PACKAGES: gcc-toolset-13-binutils
|
PACKAGES: gcc-toolset-13-binutils
|
||||||
|
TOOLSET: gcc-toolset-13
|
||||||
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
||||||
WITH_SCL: scl enable gcc-toolset-13
|
WITH_SCL: scl enable gcc-toolset-13
|
||||||
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
||||||
GCC_PACKAGE: gcc-toolset-13-gcc
|
GCC_PACKAGE: gcc-toolset-13-gcc
|
||||||
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold
|
COLLECTION_PACKAGES: gcc-toolset-13-binutils gcc-toolset-13-binutils-devel gcc-toolset-13-binutils-gold
|
||||||
|
|
||||||
- when: distro == centos-stream-8 and collection == gcc-toolset-13 and arch != x86_64,aarch64
|
- when: distro == centos-stream-8 and collection == gcc-toolset-13 and arch != x86_64 and arch != aarch64
|
||||||
require+:
|
require+:
|
||||||
- gcc-toolset-13-binutils
|
- gcc-toolset-13-binutils
|
||||||
- gcc-toolset-13-binutils-devel
|
- gcc-toolset-13-binutils-devel
|
||||||
|
|
@ -302,6 +473,7 @@ adjust+:
|
||||||
- gcc-toolset-13-gcc-plugin-annobin
|
- gcc-toolset-13-gcc-plugin-annobin
|
||||||
environment+:
|
environment+:
|
||||||
PACKAGES: gcc-toolset-13-binutils
|
PACKAGES: gcc-toolset-13-binutils
|
||||||
|
TOOLSET: gcc-toolset-13
|
||||||
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
_REQUIRES: gcc-toolset-13-gcc gcc-toolset-13-gcc-c++ gcc-toolset-13-gcc-plugin-annobin glibc
|
||||||
WITH_SCL: scl enable gcc-toolset-13
|
WITH_SCL: scl enable gcc-toolset-13
|
||||||
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
BINUTILS_PACKAGE: gcc-toolset-13-binutils
|
||||||
|
|
@ -320,6 +492,8 @@ adjust+:
|
||||||
- gcc-toolset-12-annobin-plugin-gcc
|
- gcc-toolset-12-annobin-plugin-gcc
|
||||||
environment+:
|
environment+:
|
||||||
PACKAGES: gcc-toolset-12-binutils
|
PACKAGES: gcc-toolset-12-binutils
|
||||||
|
TOOLSET: gcc-toolset-12
|
||||||
|
# yamllint disable-line rule:line-length
|
||||||
_REQUIRES: gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-plugin-annobin gcc-toolset-12-annobin-plugin-gcc glibc
|
_REQUIRES: gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-gcc-plugin-annobin gcc-toolset-12-annobin-plugin-gcc glibc
|
||||||
WITH_SCL: scl enable gcc-toolset-12
|
WITH_SCL: scl enable gcc-toolset-12
|
||||||
BINUTILS_PACKAGE: gcc-toolset-12-binutils
|
BINUTILS_PACKAGE: gcc-toolset-12-binutils
|
||||||
|
|
@ -344,6 +518,22 @@ adjust+:
|
||||||
BINUTILS_PACKAGE: binutils
|
BINUTILS_PACKAGE: binutils
|
||||||
GCC_PACKAGE: gcc
|
GCC_PACKAGE: gcc
|
||||||
|
|
||||||
|
# Fedora-40 / no collection
|
||||||
|
- when: distro == fedora-40 and collection is not defined
|
||||||
|
require+:
|
||||||
|
- binutils
|
||||||
|
- binutils-devel
|
||||||
|
- binutils-gold
|
||||||
|
- binutils-gprofng
|
||||||
|
- gcc
|
||||||
|
- gcc-c++
|
||||||
|
- annobin-plugin-gcc
|
||||||
|
environment+:
|
||||||
|
PACKAGES: binutils
|
||||||
|
_REQUIRES: gcc gcc-c++ glibc annobin-plugin-gcc
|
||||||
|
BINUTILS_PACKAGE: binutils
|
||||||
|
GCC_PACKAGE: gcc
|
||||||
|
|
||||||
# Fedora-39 / no collection
|
# Fedora-39 / no collection
|
||||||
- when: distro == fedora-39 and collection is not defined
|
- when: distro == fedora-39 and collection is not defined
|
||||||
require+:
|
require+:
|
||||||
|
|
|
||||||
|
|
@ -46,10 +46,10 @@ require+:
|
||||||
- net-tools
|
- net-tools
|
||||||
|
|
||||||
adjust+:
|
adjust+:
|
||||||
- because: "kernel package is gone from Fedora Rawhide default installation"
|
- because: "kernel package is gone from recent Fedora default installation"
|
||||||
when: distro == fedora-rawhide
|
when: distro >= fedora-38
|
||||||
environment+:
|
environment+:
|
||||||
KERNEL: kernel-core
|
KERNEL: kernel-core
|
||||||
|
|
||||||
- because: "python-devel has different names in different distros"
|
- because: "python-devel has different names in different distros"
|
||||||
when: distro >= rhel-8.6 and distro <= rhel-8.9
|
when: distro >= rhel-8.6 and distro <= rhel-8.9
|
||||||
|
|
@ -66,8 +66,8 @@ adjust+:
|
||||||
require+:
|
require+:
|
||||||
- pesign
|
- pesign
|
||||||
|
|
||||||
- because: "unifdef is available with RHEL-8.9 and newer"
|
- because: "unifdef is available with RHEL-8.9 and newer and not in RHEL-10"
|
||||||
when: distro >= rhel-8.9
|
when: distro >= rhel-8.9 and distro != rhel-10
|
||||||
require+:
|
require+:
|
||||||
- unifdef
|
- unifdef
|
||||||
|
|
||||||
|
|
@ -76,6 +76,10 @@ adjust+:
|
||||||
require+:
|
require+:
|
||||||
- ecj
|
- ecj
|
||||||
|
|
||||||
|
- because: "kernel rebuild fails because of discovering build issues"
|
||||||
|
when: collection == gcc-toolset-14
|
||||||
|
enabled: false
|
||||||
|
|
||||||
- because: "kernel rebuild fails because of discovering build issues"
|
- because: "kernel rebuild fails because of discovering build issues"
|
||||||
when: collection == gcc-toolset-13
|
when: collection == gcc-toolset-13
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ rlJournalStart
|
||||||
rlLogInfo "REBOOTCOUNT=$REBOOTCOUNT"
|
rlLogInfo "REBOOTCOUNT=$REBOOTCOUNT"
|
||||||
rlLogInfo "RPM_BUILD_ID=$RPM_BUILD_ID"
|
rlLogInfo "RPM_BUILD_ID=$RPM_BUILD_ID"
|
||||||
|
|
||||||
rlRun "GCC=$(rpm -ql $GCC_PACKAGE | grep -E 'usr/bin/gcc$')"
|
rlRun "GCC=$(rpm -ql "$GCC_PACKAGE" | grep -E 'usr/bin/gcc$')"
|
||||||
rlLogInfo "GCC=$GCC"
|
rlLogInfo "GCC=$GCC"
|
||||||
|
|
||||||
rlRun "AFTER_REBOOT=no"
|
rlRun "AFTER_REBOOT=no"
|
||||||
|
|
@ -125,13 +125,14 @@ rlJournalStart
|
||||||
rlRun "sed -i \"s/# define buildid .local/%define buildid $RPM_BUILD_ID/\" $SPECFILE"
|
rlRun "sed -i \"s/# define buildid .local/%define buildid $RPM_BUILD_ID/\" $SPECFILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "`rlGetPrimaryArch`" == "ppc64" ]; then
|
if [ "$(rlGetPrimaryArch)" == "ppc64" ]; then
|
||||||
TARGET="--target=ppc64"
|
TARGET="--target=ppc64"
|
||||||
else
|
else
|
||||||
TARGET="--target=$(uname -m)"
|
TARGET="--target=$(uname -m)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if rlRun "CC=$GCC rpmbuild --define=\"_topdir $TmpDir\" -bb $TARGET --clean $SPECFILE &> BUILD_LOG"; then
|
set -o pipefail
|
||||||
|
if rlRun "CC=$GCC rpmbuild --define=\"_topdir $TmpDir\" -bb $TARGET --clean $SPECFILE |& tee BUILD_LOG"; then
|
||||||
rlRun "RPMBUILD_OK=yes"
|
rlRun "RPMBUILD_OK=yes"
|
||||||
else
|
else
|
||||||
rlLogInfo "rpmbuild kernel failed"
|
rlLogInfo "rpmbuild kernel failed"
|
||||||
|
|
@ -140,6 +141,7 @@ rlJournalStart
|
||||||
log_disk_space
|
log_disk_space
|
||||||
log_rpms
|
log_rpms
|
||||||
fi
|
fi
|
||||||
|
set +o pipefail
|
||||||
rlBundleLogs "Build-log" BUILD_LOG
|
rlBundleLogs "Build-log" BUILD_LOG
|
||||||
rlPhaseEnd
|
rlPhaseEnd
|
||||||
|
|
||||||
|
|
@ -156,7 +158,7 @@ rlJournalStart
|
||||||
if [ "$(arch)" = "s390x" ]; then
|
if [ "$(arch)" = "s390x" ]; then
|
||||||
rlRun "grubby --info=ALL"
|
rlRun "grubby --info=ALL"
|
||||||
rlLogInfo "Default kernel is $(grubby --default-kernel), index $(grubby --default-index)"
|
rlLogInfo "Default kernel is $(grubby --default-kernel), index $(grubby --default-index)"
|
||||||
rlRun "KERNEL_FILE=$(ls -1 /boot/vmlinuz-*${RPM_BUILD_ID}."$(arch)")"
|
rlRun "KERNEL_FILE=$(ls -1 "/boot/vmlinuz-*${RPM_BUILD_ID}.$(arch)")"
|
||||||
rlRun "ls -al $KERNEL_FILE"
|
rlRun "ls -al $KERNEL_FILE"
|
||||||
rlRun "grubby --set-default $KERNEL_FILE"
|
rlRun "grubby --set-default $KERNEL_FILE"
|
||||||
rlLogInfo "Default kernel is $(grubby --default-kernel), index $(grubby --default-index)"
|
rlLogInfo "Default kernel is $(grubby --default-kernel), index $(grubby --default-index)"
|
||||||
|
|
|
||||||
|
|
@ -24,3 +24,7 @@ adjust+:
|
||||||
- when: collection == gcc-toolset-13
|
- when: collection == gcc-toolset-13
|
||||||
environment+:
|
environment+:
|
||||||
COLLECTION_ROOT: /opt/rh/gcc-toolset-13/root
|
COLLECTION_ROOT: /opt/rh/gcc-toolset-13/root
|
||||||
|
|
||||||
|
- when: collection == gcc-toolset-14
|
||||||
|
environment+:
|
||||||
|
COLLECTION_ROOT: /opt/rh/gcc-toolset-14/root
|
||||||
|
|
|
||||||
16
tests/supported-targets/10_aarch64_arch
Normal file
16
tests/supported-targets/10_aarch64_arch
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
aarch64
|
||||||
|
arm
|
||||||
|
armv2
|
||||||
|
armv2a
|
||||||
|
armv3
|
||||||
|
armv3m
|
||||||
|
armv4
|
||||||
|
armv4t
|
||||||
|
armv5
|
||||||
|
armv5t
|
||||||
|
armv5te
|
||||||
|
xscale
|
||||||
|
ep9312
|
||||||
|
iwmmxt
|
||||||
|
iwmmxt2
|
||||||
|
plugin
|
||||||
15
tests/supported-targets/10_aarch64_tgt
Normal file
15
tests/supported-targets/10_aarch64_tgt
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
elf64-littleaarch64
|
||||||
|
elf64-bigaarch64
|
||||||
|
elf32-littlearm
|
||||||
|
elf32-bigarm
|
||||||
|
elf64-little
|
||||||
|
elf64-big
|
||||||
|
elf32-little
|
||||||
|
elf32-big
|
||||||
|
plugin
|
||||||
|
srec
|
||||||
|
symbolsrec
|
||||||
|
verilog
|
||||||
|
tekhex
|
||||||
|
binary
|
||||||
|
ihex
|
||||||
27
tests/supported-targets/10_ppc64_arch
Normal file
27
tests/supported-targets/10_ppc64_arch
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
rs6000:6000
|
||||||
|
rs6000:rs1
|
||||||
|
rs6000:rsc
|
||||||
|
rs6000:rs2
|
||||||
|
powerpc:common64
|
||||||
|
powerpc:common
|
||||||
|
powerpc:603
|
||||||
|
powerpc:EC603e
|
||||||
|
powerpc:604
|
||||||
|
powerpc:403
|
||||||
|
powerpc:601
|
||||||
|
powerpc:620
|
||||||
|
powerpc:630
|
||||||
|
powerpc:a35
|
||||||
|
powerpc:rs64ii
|
||||||
|
powerpc:rs64iii
|
||||||
|
powerpc:7400
|
||||||
|
powerpc:e500
|
||||||
|
powerpc:e500mc
|
||||||
|
powerpc:e500mc64
|
||||||
|
powerpc:MPC8XX
|
||||||
|
powerpc:750
|
||||||
|
powerpc:titan
|
||||||
|
powerpc:vle
|
||||||
|
powerpc:e5500
|
||||||
|
powerpc:e6500
|
||||||
|
plugin
|
||||||
18
tests/supported-targets/10_ppc64_tgt
Normal file
18
tests/supported-targets/10_ppc64_tgt
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
elf64-powerpc
|
||||||
|
elf64-powerpcle
|
||||||
|
elf32-powerpc
|
||||||
|
elf32-powerpcle
|
||||||
|
aixcoff-rs6000
|
||||||
|
aixcoff64-rs6000
|
||||||
|
aix5coff64-rs6000
|
||||||
|
elf64-little
|
||||||
|
elf64-big
|
||||||
|
elf32-little
|
||||||
|
elf32-big
|
||||||
|
plugin
|
||||||
|
srec
|
||||||
|
symbolsrec
|
||||||
|
verilog
|
||||||
|
tekhex
|
||||||
|
binary
|
||||||
|
ihex
|
||||||
27
tests/supported-targets/10_ppc64le_arch
Normal file
27
tests/supported-targets/10_ppc64le_arch
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
rs6000:6000
|
||||||
|
rs6000:rs1
|
||||||
|
rs6000:rsc
|
||||||
|
rs6000:rs2
|
||||||
|
powerpc:common64
|
||||||
|
powerpc:common
|
||||||
|
powerpc:603
|
||||||
|
powerpc:EC603e
|
||||||
|
powerpc:604
|
||||||
|
powerpc:403
|
||||||
|
powerpc:601
|
||||||
|
powerpc:620
|
||||||
|
powerpc:630
|
||||||
|
powerpc:a35
|
||||||
|
powerpc:rs64ii
|
||||||
|
powerpc:rs64iii
|
||||||
|
powerpc:7400
|
||||||
|
powerpc:e500
|
||||||
|
powerpc:e500mc
|
||||||
|
powerpc:e500mc64
|
||||||
|
powerpc:MPC8XX
|
||||||
|
powerpc:750
|
||||||
|
powerpc:titan
|
||||||
|
powerpc:vle
|
||||||
|
powerpc:e5500
|
||||||
|
powerpc:e6500
|
||||||
|
plugin
|
||||||
19
tests/supported-targets/10_ppc64le_tgt
Normal file
19
tests/supported-targets/10_ppc64le_tgt
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
elf64-powerpcle
|
||||||
|
elf64-powerpc
|
||||||
|
elf32-powerpcle
|
||||||
|
elf32-powerpc
|
||||||
|
aixcoff-rs6000
|
||||||
|
aixcoff64-rs6000
|
||||||
|
aix5coff64-rs6000
|
||||||
|
elf64-little
|
||||||
|
elf64-big
|
||||||
|
elf32-little
|
||||||
|
elf32-big
|
||||||
|
ppcboot
|
||||||
|
plugin
|
||||||
|
srec
|
||||||
|
symbolsrec
|
||||||
|
verilog
|
||||||
|
tekhex
|
||||||
|
binary
|
||||||
|
ihex
|
||||||
3
tests/supported-targets/10_s390x_arch
Normal file
3
tests/supported-targets/10_s390x_arch
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
s390:31-bit
|
||||||
|
s390:64-bit
|
||||||
|
plugin
|
||||||
14
tests/supported-targets/10_s390x_tgt
Normal file
14
tests/supported-targets/10_s390x_tgt
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
elf64-s390
|
||||||
|
elf32-s390
|
||||||
|
elf64-little
|
||||||
|
elf64-big
|
||||||
|
elf32-little
|
||||||
|
elf32-big
|
||||||
|
plugin
|
||||||
|
srec
|
||||||
|
symbolsrec
|
||||||
|
verilog
|
||||||
|
tekhex
|
||||||
|
binary
|
||||||
|
ihex
|
||||||
|
trad-core
|
||||||
12
tests/supported-targets/10_x86_64_arch
Normal file
12
tests/supported-targets/10_x86_64_arch
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
i386
|
||||||
|
i386:x86-64
|
||||||
|
i386:x64-32
|
||||||
|
i8086
|
||||||
|
i386:intel
|
||||||
|
i386:x86-64:intel
|
||||||
|
i386:x64-32:intel
|
||||||
|
l1om
|
||||||
|
l1om:intel
|
||||||
|
k1om
|
||||||
|
k1om:intel
|
||||||
|
plugin
|
||||||
19
tests/supported-targets/10_x86_64_tgt
Normal file
19
tests/supported-targets/10_x86_64_tgt
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
elf64-x86-64
|
||||||
|
elf32-i386
|
||||||
|
elf32-x86-64
|
||||||
|
a.out-i386-linux
|
||||||
|
pei-i386
|
||||||
|
pei-x86-64
|
||||||
|
elf64-l1om
|
||||||
|
elf64-k1om
|
||||||
|
elf64-little
|
||||||
|
elf64-big
|
||||||
|
elf32-little
|
||||||
|
elf32-big
|
||||||
|
plugin
|
||||||
|
srec
|
||||||
|
symbolsrec
|
||||||
|
verilog
|
||||||
|
tekhex
|
||||||
|
binary
|
||||||
|
ihex
|
||||||
11
tests/supported-targets/fedora_40_x86_64_arch
Normal file
11
tests/supported-targets/fedora_40_x86_64_arch
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
i386
|
||||||
|
i386:x86-64
|
||||||
|
i386:x64-32
|
||||||
|
i8086
|
||||||
|
i386:intel
|
||||||
|
i386:x86-64:intel
|
||||||
|
i386:x64-32:intel
|
||||||
|
iamcu
|
||||||
|
iamcu:intel
|
||||||
|
bpf
|
||||||
|
xbpf
|
||||||
23
tests/supported-targets/fedora_40_x86_64_tgt
Normal file
23
tests/supported-targets/fedora_40_x86_64_tgt
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
elf64-x86-64
|
||||||
|
elf32-i386
|
||||||
|
elf32-iamcu
|
||||||
|
elf32-x86-64
|
||||||
|
pei-i386
|
||||||
|
pe-x86-64
|
||||||
|
pei-x86-64
|
||||||
|
elf64-little
|
||||||
|
elf64-big
|
||||||
|
elf32-little
|
||||||
|
elf32-big
|
||||||
|
pe-bigobj-x86-64
|
||||||
|
pe-i386
|
||||||
|
pdb
|
||||||
|
elf64-bpfle
|
||||||
|
elf64-bpfbe
|
||||||
|
srec
|
||||||
|
symbolsrec
|
||||||
|
verilog
|
||||||
|
tekhex
|
||||||
|
binary
|
||||||
|
ihex
|
||||||
|
plugin
|
||||||
|
|
@ -8,8 +8,8 @@ contact+:
|
||||||
adjust+:
|
adjust+:
|
||||||
- when: distro == centos-stream-9
|
- when: distro == centos-stream-9
|
||||||
environment+:
|
environment+:
|
||||||
BASELINE: "9"
|
BASELINE: "9"
|
||||||
|
|
||||||
- when: distro == centos-stream-8
|
- when: distro == centos-stream-8
|
||||||
environment+:
|
environment+:
|
||||||
BASELINE: "8"
|
BASELINE: "8"
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@
|
||||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
# Include Beaker environment
|
# Include Beaker environment
|
||||||
. /usr/bin/rhts-environment.sh || exit 1
|
|
||||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
. "$TMT_TREE/tests/lib.sh" || exit 1
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
|
@ -50,6 +49,10 @@ rlJournalStart
|
||||||
release=8
|
release=8
|
||||||
elif rlIsCentOS "=9"; then
|
elif rlIsCentOS "=9"; then
|
||||||
release=9
|
release=9
|
||||||
|
elif rlIsCentOS "=10"; then
|
||||||
|
release=10
|
||||||
|
elif rlIsFedora ">= 40"; then
|
||||||
|
release=fedora_40
|
||||||
else
|
else
|
||||||
rlLog "$(cat /etc/redhat-release)"
|
rlLog "$(cat /etc/redhat-release)"
|
||||||
rlFail "No Baseline available for this major release; using RHEL-7 as baseline"
|
rlFail "No Baseline available for this major release; using RHEL-7 as baseline"
|
||||||
|
|
@ -74,9 +77,9 @@ rlJournalStart
|
||||||
rlRun "objdump --help | grep 'supported architectures' | sed 's/objdump: supported architectures: //' | tr ' ' '\n' > actual_arch"
|
rlRun "objdump --help | grep 'supported architectures' | sed 's/objdump: supported architectures: //' | tr ' ' '\n' > actual_arch"
|
||||||
|
|
||||||
rlLog "expected targets:"
|
rlLog "expected targets:"
|
||||||
rlLog "$(cat $expected_tgt_file)"
|
rlLog "$(cat "$expected_tgt_file")"
|
||||||
rlLog "expected architectures:"
|
rlLog "expected architectures:"
|
||||||
rlLog "$(cat $expected_arch_file)"
|
rlLog "$(cat "$expected_arch_file")"
|
||||||
rlLog "actual targets:"
|
rlLog "actual targets:"
|
||||||
rlLog "$(cat actual_tgt)"
|
rlLog "$(cat actual_tgt)"
|
||||||
rlLog "actual architectures:"
|
rlLog "actual architectures:"
|
||||||
|
|
|
||||||
132
tests/testsuite/interesting-cases.sh
Normal file
132
tests/testsuite/interesting-cases.sh
Normal file
|
|
@ -0,0 +1,132 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function verify_test () {
|
||||||
|
local pattern="$1"
|
||||||
|
local log="$2"
|
||||||
|
local subject="$3"
|
||||||
|
local issue="$4"
|
||||||
|
|
||||||
|
rlRun "grep -E '^PASS: $pattern' $log.tests" 0 "$subject ($issue)"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function verify_interesting_cases () {
|
||||||
|
local tool="$1"
|
||||||
|
local tool_label="$2"
|
||||||
|
local tool_log="$3"
|
||||||
|
|
||||||
|
local arch="$(rlGetPrimaryArch)"
|
||||||
|
|
||||||
|
rlPhaseStartTest "$tool_label / Verify interesting test cases"
|
||||||
|
#
|
||||||
|
# RHEL-10.0
|
||||||
|
#
|
||||||
|
if rlIsRHEL ">=10"; then
|
||||||
|
if [ "$tool" = "ld" ]; then
|
||||||
|
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "ld-aarch64/relr-align" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Please support DT_RELR/pack-relative-relocs in RHEL10 on aarch64" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-31846"
|
||||||
|
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "ld-aarch64/relr-data-pie" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Please support DT_RELR/pack-relative-relocs in RHEL10 on aarch64" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-31846"
|
||||||
|
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "ld-aarch64/relr-data-shared" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Please support DT_RELR/pack-relative-relocs in RHEL10 on aarch64" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-31846"
|
||||||
|
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "ld-aarch64/relr-got-pie" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Please support DT_RELR/pack-relative-relocs in RHEL10 on aarch64" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-31846"
|
||||||
|
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "ld-aarch64/relr-got-shared" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Please support DT_RELR/pack-relative-relocs in RHEL10 on aarch64" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-31846"
|
||||||
|
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "ld-aarch64/relr-text-pie" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Please support DT_RELR/pack-relative-relocs in RHEL10 on aarch64" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-31846"
|
||||||
|
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "ld-aarch64/relr-text-shared" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Please support DT_RELR/pack-relative-relocs in RHEL10 on aarch64" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-31846"
|
||||||
|
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "ld-aarch64/relr-discard-pie" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Please support DT_RELR/pack-relative-relocs in RHEL10 on aarch64" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-31846"
|
||||||
|
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "ld-aarch64/relr-discard-shared" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Please support DT_RELR/pack-relative-relocs in RHEL10 on aarch64" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-31846"
|
||||||
|
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "ld-aarch64/relr-discard-pie" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Aarch64: Fix DT_RELR with discarded sections" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-42765"
|
||||||
|
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "ld-aarch64/relr-discard-shared" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Aarch64: Fix DT_RELR with discarded sections" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-42765"
|
||||||
|
|
||||||
|
verify_test "Text Section Ordering \(section-order-1a\)" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Implement --section-ordering-file in the BFD linker" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-36305"
|
||||||
|
|
||||||
|
verify_test "Text Section Ordering \(section-order-1b\)" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Implement --section-ordering-file in the BFD linker" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-36305"
|
||||||
|
|
||||||
|
verify_test "Data Section Ordering \(section-order-1c\)" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Implement --section-ordering-file in the BFD linker" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-36305"
|
||||||
|
|
||||||
|
verify_test "Data Section Ordering \(section-order-1d\)" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Implement --section-ordering-file in the BFD linker" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-36305"
|
||||||
|
|
||||||
|
else
|
||||||
|
rlLogInfo "No tests for $tool and RHEL-10"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# RHEL-9.5.0
|
||||||
|
#
|
||||||
|
elif rlIsRHEL ">=9.5" && rlIsRHEL "<10"; then
|
||||||
|
if [ "$tool" = "binutils" ]; then
|
||||||
|
[ "$arch" == "aarch64" ] && verify_test "Check if efi app format is recognized" \
|
||||||
|
"$tool_log" \
|
||||||
|
"\"Check if efi app format is recognized\" upstream test case fails for aarch64 binutils builds" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-39953"
|
||||||
|
|
||||||
|
elif [ "$tool" = "ld" ]; then
|
||||||
|
verify_test "ld-elf/pr27590a" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Perf tools compilation '.gnu.debuglto_.debug_macro' referenced in section '.gnu.debuglto_.debug_macro' of X defined in discarded section '.gnu.debuglto_.debug_macro[wm4.0.c5f57b9d27e9e0df712a778cc74f572d]' of X" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-43758"
|
||||||
|
|
||||||
|
verify_test "ld-elf/pr27590b" \
|
||||||
|
"$tool_log" \
|
||||||
|
"Perf tools compilation '.gnu.debuglto_.debug_macro' referenced in section '.gnu.debuglto_.debug_macro' of X defined in discarded section '.gnu.debuglto_.debug_macro[wm4.0.c5f57b9d27e9e0df712a778cc74f572d]' of X" \
|
||||||
|
"https://issues.redhat.com/browse/RHEL-43758"
|
||||||
|
|
||||||
|
else
|
||||||
|
rlLogInfo "No tests for $tool and RHEL-9.5.0"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rlPhaseEnd
|
||||||
|
}
|
||||||
|
|
@ -11,69 +11,98 @@ require+:
|
||||||
- dejagnu
|
- dejagnu
|
||||||
- bison
|
- bison
|
||||||
- flex
|
- flex
|
||||||
- zlib-static
|
|
||||||
- sharutils
|
- sharutils
|
||||||
- yum-utils
|
- yum-utils
|
||||||
- libstdc++-static
|
- libstdc++-static
|
||||||
- rpm-build
|
- rpm-build
|
||||||
|
|
||||||
|
link+:
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-31846
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-42765
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-36305
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-39953
|
||||||
|
- verifies: https://issues.redhat.com/browse/RHEL-43758
|
||||||
|
|
||||||
adjust+:
|
adjust+:
|
||||||
- because: "On RHEL-9.3.0 and newer, system binutils build extra binaries for cross compilation"
|
- because: "On RHEL-10, zlib-static is missing"
|
||||||
when: distro == rhel-9.3 and collection is not defined
|
when: distro != rhel-10
|
||||||
|
require+:
|
||||||
|
- zlib-static
|
||||||
|
|
||||||
|
- because: "On RHEL-10 and newer, system binutils build extra binaries for cross compilation"
|
||||||
|
when: distro >= rhel-10 and collection is not defined
|
||||||
test: "$WITH_SCL ./test-with-cross.sh"
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
|
|
||||||
- because: "On RHEL-9.3.0 and newer, system binutils build extra binaries for cross compilation"
|
- because: "On RHEL-9.3.0 and newer, system binutils build extra binaries for cross compilation"
|
||||||
when: distro == rhel-9.4 and collection is not defined
|
when: distro >= rhel-9.3 and collection is not defined
|
||||||
test: "$WITH_SCL ./test-with-cross.sh"
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
|
|
||||||
|
- because: "On RHEL-9.3.0 and newer, gcc-toolset-14 binutils build has extra directory levels"
|
||||||
|
when: distro >= rhel-9.3 and collection == gcc-toolset-14
|
||||||
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
|
environment+:
|
||||||
|
MAY_BUILD_OTHER_ARCHES: "no"
|
||||||
|
|
||||||
- because: "On RHEL-9.3.0 and newer, gcc-toolset-13 binutils build has extra directory levels"
|
- because: "On RHEL-9.3.0 and newer, gcc-toolset-13 binutils build has extra directory levels"
|
||||||
when: distro == rhel-9.3 and collection == gcc-toolset-13
|
when: distro >= rhel-9.3 and collection == gcc-toolset-13
|
||||||
test: "$WITH_SCL ./test-with-cross.sh"
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
environment+:
|
environment+:
|
||||||
MAY_BUILD_OTHER_ARCHES: "no"
|
MAY_BUILD_OTHER_ARCHES: "no"
|
||||||
|
|
||||||
- because: "On RHEL-9.3.0 and newer, gcc-toolset-13 binutils build has extra directory levels"
|
# - because: "On RHEL-8.10.0 and newer, system binutils build extra binaries for cross compilation"
|
||||||
when: distro == rhel-9.4 and collection == gcc-toolset-13
|
# when: distro == rhel-8.10 and collection is not defined
|
||||||
test: "$WITH_SCL ./test-with-cross.sh"
|
# test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
environment+:
|
# environment+:
|
||||||
MAY_BUILD_OTHER_ARCHES: "no"
|
# MAY_BUILD_OTHER_ARCHES: "no"
|
||||||
|
|
||||||
- because: "On RHEL-8.10.0 and newer, system binutils build extra binaries for cross compilation"
|
- because: "On RHEL-8.10.0 and newer, gcc-toolset-14 binutils build has extra directory levels"
|
||||||
when: distro == rhel-8.10 and collection is not defined
|
when: distro == rhel-8.10 and collection == gcc-toolset-14
|
||||||
test: "$WITH_SCL ./test-with-cross.sh"
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
environment+:
|
environment+:
|
||||||
MAY_BUILD_OTHER_ARCHES: "no"
|
MAY_BUILD_OTHER_ARCHES: "no"
|
||||||
|
|
||||||
- because: "On RHEL-8.10.0 and newer, gcc-toolset-13 binutils build has extra directory levels"
|
- because: "On RHEL-8.10.0 and newer, gcc-toolset-13 binutils build has extra directory levels"
|
||||||
when: distro == rhel-8.10 and collection == gcc-toolset-13
|
when: distro == rhel-8.10 and collection == gcc-toolset-13
|
||||||
test: "$WITH_SCL ./test-with-cross.sh"
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
environment+:
|
environment+:
|
||||||
MAY_BUILD_OTHER_ARCHES: "no"
|
MAY_BUILD_OTHER_ARCHES: "no"
|
||||||
|
|
||||||
|
- because: "On RHEL-8.8.0, gcc-toolset-13 binutils build has extra directory levels"
|
||||||
|
when: distro == rhel-8.8 and collection == gcc-toolset-13
|
||||||
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
|
environment+:
|
||||||
|
MAY_BUILD_OTHER_ARCHES: "no"
|
||||||
|
|
||||||
|
- because: "On RHEL-8.6.0, gcc-toolset-13 binutils build has extra directory levels"
|
||||||
|
when: distro == rhel-8.6 and collection == gcc-toolset-13
|
||||||
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
|
environment+:
|
||||||
|
MAY_BUILD_OTHER_ARCHES: "no"
|
||||||
|
|
||||||
- because: "On CentOS Stream 9, system binutils build extra binaries for cross compilation"
|
- because: "On CentOS Stream 9, system binutils build extra binaries for cross compilation"
|
||||||
when: distro == centos-stream-9 and collection is not defined
|
when: distro == centos-stream-9 and collection is not defined
|
||||||
test: "$WITH_SCL ./test-with-cross.sh"
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
|
|
||||||
|
- because: "On CentOS Stream 9, gcc-toolset-14 build has extra directory levels"
|
||||||
|
when: distro == centos-stream-9 and collection == gcc-toolset-14
|
||||||
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
|
environment+:
|
||||||
|
MAY_BUILD_OTHER_ARCHES: "no"
|
||||||
|
|
||||||
- because: "On CentOS Stream 9, gcc-toolset-13 build has extra directory levels"
|
- because: "On CentOS Stream 9, gcc-toolset-13 build has extra directory levels"
|
||||||
when: distro == centos-stream-9 and collection == gcc-toolset-13
|
when: distro == centos-stream-9 and collection == gcc-toolset-13
|
||||||
test: "$WITH_SCL ./test-with-cross.sh"
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
environment+:
|
environment+:
|
||||||
MAY_BUILD_OTHER_ARCHES: "no"
|
MAY_BUILD_OTHER_ARCHES: "no"
|
||||||
|
|
||||||
- because: "On Fedora 39 and newer, system binutils build extra binaries for cross compilation"
|
- because: "On Fedora 39 and newer, system binutils build extra binaries for cross compilation"
|
||||||
when: distro == fedora-rawhide
|
when: distro == fedora-rawhide
|
||||||
test: "$WITH_SCL ./test-with-cross.sh"
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
environment+:
|
environment+:
|
||||||
MAY_BUILD_OTHER_ARCHES: "no"
|
MAY_BUILD_OTHER_ARCHES: "no"
|
||||||
|
|
||||||
- because: "On Fedora 39 and newer, system binutils build extra binaries for cross compilation"
|
- because: "On Fedora 40 and newer, system binutils build extra binaries for cross compilation"
|
||||||
when: distro == fedora-39
|
when: distro >= fedora-38
|
||||||
test: "$WITH_SCL ./test-with-cross.sh"
|
test: "$WITH_SCL ./test-with-cross.sh"
|
||||||
environment+:
|
environment+:
|
||||||
MAY_BUILD_OTHER_ARCHES: "no"
|
MAY_BUILD_OTHER_ARCHES: "no"
|
||||||
|
|
||||||
- because: "On Fedora 38 and newer, system binutils build extra binaries for cross compilation"
|
|
||||||
when: distro == fedora-38
|
|
||||||
test: "$WITH_SCL ./test-with-cross.sh"
|
|
||||||
environment+:
|
|
||||||
MAY_BUILD_OTHER_ARCHES: "no"
|
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@
|
||||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
. "$TMT_TREE/tests/lib.sh" || exit 1
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
. ./interesting-cases.sh || exit 1
|
||||||
|
|
||||||
rlJournalStart
|
rlJournalStart
|
||||||
rlPhaseStartSetup
|
rlPhaseStartSetup
|
||||||
|
|
@ -101,6 +102,8 @@ rlJournalStart
|
||||||
rlLogInfo "Failed tests:\n$(sort < "$tool_log.failed")"
|
rlLogInfo "Failed tests:\n$(sort < "$tool_log.failed")"
|
||||||
rlLogInfo "All tests:\n$(grep -E '^[A-Z]+:' "$tool_log.tests" | sort)"
|
rlLogInfo "All tests:\n$(grep -E '^[A-Z]+:' "$tool_log.tests" | sort)"
|
||||||
rlPhaseEnd
|
rlPhaseEnd
|
||||||
|
|
||||||
|
verify_interesting_cases "$TOOL" "$tool_label" "$tool_log"
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,11 +31,18 @@
|
||||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||||
|
|
||||||
. "$TMT_TREE/tests/lib.sh" || exit 1
|
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||||
|
. ./interesting-cases.sh || exit 1
|
||||||
|
|
||||||
rlJournalStart
|
rlJournalStart
|
||||||
rlPhaseStartSetup
|
rlPhaseStartSetup
|
||||||
buTestHeader
|
buTestHeader
|
||||||
|
|
||||||
|
ARCH="$(rlGetPrimaryArch)"
|
||||||
|
BUILD_ARCHS="$ARCH"
|
||||||
|
|
||||||
|
rlLogInfo "ARCH=$ARCH"
|
||||||
|
rlLogInfo "BUILD_ARCHS=$BUILD_ARCHS"
|
||||||
|
|
||||||
buEnterTmpDir
|
buEnterTmpDir
|
||||||
|
|
||||||
rlRun "LOGDIR=$TmpDir/LOGS"
|
rlRun "LOGDIR=$TmpDir/LOGS"
|
||||||
|
|
@ -50,19 +57,19 @@ rlJournalStart
|
||||||
rlPhaseStartSetup "Rebuild binutils"
|
rlPhaseStartSetup "Rebuild binutils"
|
||||||
buBuildSRPM
|
buBuildSRPM
|
||||||
|
|
||||||
rlRun "cp $CURRENT_BUILD/binutils/binutils.log $LOGDIR/binutils-$build_arch.log"
|
rlRun "cp $CURRENT_BUILD/binutils/binutils.log $LOGDIR/binutils-$ARCH.log"
|
||||||
rlRun "cp $CURRENT_BUILD/binutils/binutils.sum $LOGDIR/binutils-$build_arch.sum"
|
rlRun "cp $CURRENT_BUILD/binutils/binutils.sum $LOGDIR/binutils-$ARCH.sum"
|
||||||
|
|
||||||
rlRun "cp $CURRENT_BUILD/ld/ld.log $LOGDIR/ld-$build_arch.log"
|
rlRun "cp $CURRENT_BUILD/ld/ld.log $LOGDIR/ld-$ARCH.log"
|
||||||
rlRun "cp $CURRENT_BUILD/ld/ld.sum $LOGDIR/ld-$build_arch.sum"
|
rlRun "cp $CURRENT_BUILD/ld/ld.sum $LOGDIR/ld-$ARCH.sum"
|
||||||
|
|
||||||
rlRun "cp $CURRENT_BUILD/gas/testsuite/gas.log $LOGDIR/gas-$build_arch.log"
|
rlRun "cp $CURRENT_BUILD/gas/testsuite/gas.log $LOGDIR/gas-$ARCH.log"
|
||||||
rlRun "cp $CURRENT_BUILD/gas/testsuite/gas.sum $LOGDIR/gas-$build_arch.sum"
|
rlRun "cp $CURRENT_BUILD/gas/testsuite/gas.sum $LOGDIR/gas-$ARCH.sum"
|
||||||
rlPhaseEnd
|
rlPhaseEnd
|
||||||
|
|
||||||
for TOOL in binutils ld gas; do
|
for TOOL in binutils ld gas; do
|
||||||
tool_label="$TOOL / $build_arch"
|
tool_label="$TOOL / $ARCH"
|
||||||
tool_log="$LOGDIR/$TOOL-$build_arch"
|
tool_log="$LOGDIR/$TOOL-$ARCH"
|
||||||
|
|
||||||
rlPhaseStartTest "$tool_label"
|
rlPhaseStartTest "$tool_label"
|
||||||
rlLogInfo "$tool_label Summary"
|
rlLogInfo "$tool_label Summary"
|
||||||
|
|
@ -75,6 +82,8 @@ rlJournalStart
|
||||||
rlLogInfo "Failed tests:\n$(sort < "$tool_log.failed")"
|
rlLogInfo "Failed tests:\n$(sort < "$tool_log.failed")"
|
||||||
rlLogInfo "All tests:\n$(grep -E '^[A-Z]+:' "$tool_log.tests" | sort)"
|
rlLogInfo "All tests:\n$(grep -E '^[A-Z]+:' "$tool_log.tests" | sort)"
|
||||||
rlPhaseEnd
|
rlPhaseEnd
|
||||||
|
|
||||||
|
verify_interesting_cases "$TOOL" "$tool_label" "$tool_log"
|
||||||
done
|
done
|
||||||
|
|
||||||
rlPhaseStartCleanup
|
rlPhaseStartCleanup
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue