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
|
||||
hooks:
|
||||
- id: check-added-large-files
|
||||
args: ["--maxkb=600"]
|
||||
- id: check-case-conflict
|
||||
- id: check-executables-have-shebangs
|
||||
- id: check-merge-conflict
|
||||
|
|
@ -26,9 +27,32 @@ repos:
|
|||
rev: v1.32.0
|
||||
hooks:
|
||||
- id: yamllint
|
||||
types: [file]
|
||||
files: "^.*?\\.fmf$"
|
||||
|
||||
- repo: https://github.com/teemtee/tmt.git
|
||||
rev: "1.26.0"
|
||||
hooks:
|
||||
- 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"
|
||||
|
||||
provision:
|
||||
hardware:
|
||||
disk:
|
||||
- size: ">= 60 GiB"
|
||||
|
||||
# Adjust rules
|
||||
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: >-
|
||||
trigger is defined
|
||||
and trigger != commit
|
||||
and trigger != build
|
||||
and initiator != compose
|
||||
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"
|
||||
when: distro == centos-stream-9
|
||||
prepare+:
|
||||
- how: shell
|
||||
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"
|
||||
when: distro == rhel-9
|
||||
prepare+:
|
||||
|
|
@ -35,22 +59,20 @@ adjust+:
|
|||
- dnf config-manager --set-enabled rhel-CRB
|
||||
- dnf config-manager --set-enabled rhel-buildroot
|
||||
|
||||
- when: arch != s390x
|
||||
provision+:
|
||||
hardware+:
|
||||
cpu:
|
||||
processors: ">= 8"
|
||||
|
||||
/common:
|
||||
discover:
|
||||
- how: fmf
|
||||
filter: "tag:gate-build"
|
||||
exclude: '^/tests/rebuilds/kernel$'
|
||||
discover:
|
||||
- how: fmf
|
||||
filter: "tag:gate-build"
|
||||
exclude: '^/tests/rebuilds/kernel$'
|
||||
|
||||
/kernel-rebuild:
|
||||
discover:
|
||||
- how: fmf
|
||||
filter: "tag:gate-build"
|
||||
test: '^/tests/rebuilds/kernel$'
|
||||
|
||||
# provision:
|
||||
# - how: virtual
|
||||
# hardware:
|
||||
# disk:
|
||||
# - size: ">= 120 GiB"
|
||||
# cpu:
|
||||
# processors: ">= 8"
|
||||
discover:
|
||||
- how: fmf
|
||||
filter: "tag:gate-build"
|
||||
test: '^/tests/rebuilds/kernel$'
|
||||
|
|
|
|||
|
|
@ -10,12 +10,25 @@ discover:
|
|||
|
||||
# Adjust rules
|
||||
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: >-
|
||||
trigger is defined
|
||||
and trigger != update
|
||||
and trigger != build
|
||||
and initiator != compose
|
||||
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"
|
||||
when: distro == centos-stream-9
|
||||
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+:
|
||||
- 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
|
||||
rlPhaseStartSetup
|
||||
buTestHeader
|
||||
rlLogInfo "DWARF5=$DWARF5"
|
||||
buEnterTmpDir
|
||||
buCopyReproducers "x.i y.i"
|
||||
|
||||
if [ "$DWARF5" = "yes" ]; then
|
||||
rlRun "SECTION_NAME=debug_rnglists"
|
||||
else
|
||||
rlRun "SECTION_NAME=debug_ranges"
|
||||
fi
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
|
|
@ -37,14 +44,15 @@ rlJournalStart
|
|||
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'"
|
||||
|
||||
# Note: debug_ranges replaced by debug_rnglist (since DWARF 5 in Fedora 34)
|
||||
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 "$( 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 ] \
|
||||
&& [ $( readelf -WS x | grep debug_rnglist | wc -l ) -eq 1 ]; then
|
||||
if [ "$( readelf -WS [xy].o | grep "$SECTION_NAME" | grep -c PROGBITS )" -eq 2 ] \
|
||||
&& [ "$( readelf -WS x | grep -c "$SECTION_NAME" )" -eq 1 ]; then
|
||||
rlPass "Debug ranges sections were merged"
|
||||
else
|
||||
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
|
||||
rlRun "gcc v.c -fPIC -shared -olibv.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)"
|
||||
rlAssertNotGrep "warning: hidden symbol .* is referenced" 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
|
||||
|
||||
for ld in $( ls {/emul/ia32-linux,}/lib*/ld-2* 2> /dev/null); do
|
||||
rlPhaseStartTest "${ld} from $( rpmquery -f ${ld} )"
|
||||
filename="$( basename ${ld} ).readline"
|
||||
rlRun "readelf -S ${ld} > $filename" 0 "[$( basename ${ld} )] Write section headers of ${ld}"
|
||||
rlPhaseStartTest "$ld from $( rpmquery -f "$ld" )"
|
||||
filename="$( basename "$ld" ).readline"
|
||||
rlRun "readelf -S $ld > $filename" 0 "[$( basename "$ld" )] Write section headers of $ld"
|
||||
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
|
||||
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
|
||||
done
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,18 @@ require+:
|
|||
- gdb
|
||||
|
||||
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
|
||||
require+:
|
||||
- gcc-toolset-13-gdb
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ rlJournalStart
|
|||
rlPhaseStartTest
|
||||
rlRun "rpm -ql $PACKAGES | grep windmc > windmc.txt" 0,1
|
||||
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
|
||||
rlFail "Either windmg manpage or binary is present - both options are wrong."
|
||||
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
|
||||
|
||||
rlPhaseStartTest
|
||||
rpm -qd $PACKAGES | grep 'man' | while read -r m; do
|
||||
rpm -qd "$PACKAGES" | grep 'man' | while read -r m; do
|
||||
rlLog "$m"
|
||||
man "$m" | col -b > man.txt
|
||||
rlRun "[[ $(wc -c <man.txt) -ge 2000 ]]"
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ rlJournalStart
|
|||
|
||||
if [ $HAS_SUPPORT = 1 ]; then
|
||||
rlPhaseStartTest
|
||||
rlAssertExists $KO_FILE
|
||||
rlAssertExists "$KO_FILE"
|
||||
rlRun "set -o pipefail" 0 "Conserve the non-zero return value through the pipe"
|
||||
|
||||
# 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
|
||||
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ link+:
|
|||
- verifies: https://bugzilla.redhat.com/show_bug.cgi?id=1366145
|
||||
|
||||
adjust+:
|
||||
# DWZ is not available in RHEL-6 - unless you have collection installed,
|
||||
# then you can use (and test) dwz from collection package.
|
||||
# DWZ is not available in RHEL-6 - unless you have collection installed,
|
||||
# then you can use (and test) dwz from collection package.
|
||||
- when: distro == rhel-6 and collection is not defined
|
||||
enabled: false
|
||||
|
||||
|
|
@ -20,6 +20,12 @@ adjust+:
|
|||
environment+:
|
||||
REQUIRES: dwz
|
||||
|
||||
- when: collection == gcc-toolset-14
|
||||
require+:
|
||||
- gcc-toolset-14-dwz
|
||||
environment+:
|
||||
REQUIRES: gcc-toolset-14-dwz
|
||||
|
||||
- when: collection == gcc-toolset-13
|
||||
require+:
|
||||
- gcc-toolset-13-dwz
|
||||
|
|
|
|||
|
|
@ -42,10 +42,10 @@ rlJournalStart
|
|||
if [ "${EABI_file}" ]; then
|
||||
rlLog "EABI_file = $EABI_file"
|
||||
rlRun "cp -v $EABI_file $TmpDir" 0 "Copy file with GNU/Linux EABI"
|
||||
local_binary="$(basename ${EABI_file})"
|
||||
rlAssertExists ${local_binary}
|
||||
rlRun "strip -R .comment ${local_binary}"
|
||||
file $local_binary > out
|
||||
local_binary="$(basename "$EABI_file")"
|
||||
rlAssertExists "$local_binary"
|
||||
rlRun "strip -R .comment $local_binary"
|
||||
file "$local_binary" > out
|
||||
rlAssertNotGrep "(SYSV)" out
|
||||
else
|
||||
rlDie "There's nothing to test."
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
extern void k(int);
|
||||
extern void l(int, int*);
|
||||
|
||||
void f(int i) {
|
||||
k(i);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ rlJournalStart
|
|||
rlLogInfo "$(cat out)"
|
||||
rlAssertGrep "SONAME must not be empty string; ignored" out
|
||||
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)'"
|
||||
rlFail "Detected SONAME is empty"
|
||||
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
|
||||
rlRun "RELEASE=$(uname -r)"
|
||||
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'
|
||||
rlRun "dnf install -y --enablerepo=\*debuginfo kernel-debuginfo-$RELEASE"
|
||||
fi
|
||||
rlAssertRpm kernel-debuginfo-$RELEASE
|
||||
rlAssertRpm "kernel-debuginfo-$RELEASE"
|
||||
}
|
||||
|
||||
rlJournalStart
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ description: |
|
|||
stripping with strip works fine.
|
||||
|
||||
contact+:
|
||||
- Michal Nowak <mnowak@redhat.com>
|
||||
- Michal Nowak <mnowak@redhat.com>
|
||||
|
||||
require+:
|
||||
- glibc-static
|
||||
|
|
|
|||
|
|
@ -43,6 +43,16 @@ rlJournalStart
|
|||
rlRun "strings -n 0 2>&1 | tee output"
|
||||
if rlIsFedora "> 39"; then
|
||||
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
|
||||
rlAssertGrep "invalid minimum string length 0" output
|
||||
fi
|
||||
|
|
@ -52,6 +62,16 @@ rlJournalStart
|
|||
rlRun "strings --bytes 0 2>&1 | tee output"
|
||||
if rlIsFedora "> 39"; then
|
||||
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
|
||||
rlAssertGrep "invalid minimum string length 0" output
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -24,6 +24,18 @@ require+:
|
|||
environment+:
|
||||
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+:
|
||||
- when: collection is not defined
|
||||
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 "SIZE=$SIZE"
|
||||
rlLogInfo "STRINGS=$STRINGS"
|
||||
rlLogInfo "LEGACY_UNDEFINED_SYMBOLS=$LEGACY_UNDEFINED_SYMBOLS"
|
||||
|
||||
buEnterTmpDir
|
||||
|
||||
|
|
@ -184,7 +185,7 @@ fi
|
|||
rlAssertGrep "virtual2.C" o
|
||||
fi
|
||||
rlAssertGrep "_ZN1BD1Ev" o
|
||||
if [ "$COLLECTIONS" != "devtoolset-11" ]; then
|
||||
if [ "$TOOLSET" != "devtoolset-11" ]; then
|
||||
rlAssertGrep ".dynstr" o
|
||||
fi
|
||||
# On PPC, we have .toc instead.
|
||||
|
|
@ -196,8 +197,14 @@ fi
|
|||
if [ "`rlGetPrimaryArch`" != "ppc64" ] || [ ! rlIsRHEL 7 ]; then
|
||||
rlAssertGrep "__gmon_start__" u
|
||||
fi
|
||||
rlAssertGrep "printf@GLIBC" u
|
||||
rlAssertGrep "__libc_start_main@GLIBC" u
|
||||
# Older format, the second `@` has been dropped in https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=3f2e9699234ca31d083bc93ea6e03903f10baeaf
|
||||
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.
|
||||
rlRun "nm -P --size-sort localplt > p"
|
||||
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 "REQUIRES=$REQUIRES"
|
||||
rlLogInfo "COLLECTIONS=$COLLECTIONS"
|
||||
rlLogInfo "TOOLSET=$TOOLSET"
|
||||
rlLogInfo "COLLECTION_PACKAGES=$COLLECTION_PACKAGES"
|
||||
rlLogInfo "LD=$_LD"
|
||||
rlLogInfo "GCC=$_GCC"
|
||||
|
|
@ -70,9 +71,9 @@ function buTestHeader () {
|
|||
|
||||
|
||||
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}"
|
||||
|
||||
buEnterTestUser "$username"
|
||||
|
|
@ -91,7 +92,7 @@ function buExitTmpDir () {
|
|||
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
|
||||
fi
|
||||
|
||||
if [ ! -z "$BU_AS_TEST_USER" ]; then
|
||||
if [ -n "$BU_AS_TEST_USER" ]; then
|
||||
username="${1:-$BU_TEST_USER}"
|
||||
|
||||
buExitTestUser "$username"
|
||||
|
|
@ -105,18 +106,29 @@ function buPrepareSRPM () {
|
|||
|
||||
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 "export SPECDIR=`rpm --define=\"_topdir $TmpDir\" --eval=%_specdir`"
|
||||
rlRun "export SPECFILE=`find $SPECDIR/ -name '*.spec'`"
|
||||
rlRun "export SPECDIR=$(rpm --define="_topdir $TmpDir" --eval=%_specdir)"
|
||||
rlRun "export SPECFILE=$(find "$SPECDIR/" -name '*.spec')"
|
||||
|
||||
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 () {
|
||||
if [ ! -z "$BU_AS_TEST_USER" ]; then
|
||||
if [ -n "$BU_AS_TEST_USER" ]; then
|
||||
username="${1:-$BU_TEST_USER}"
|
||||
|
||||
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+:
|
||||
- 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+:
|
||||
BU_TMPDIR_PARENT: "/"
|
||||
|
||||
|
|
@ -60,13 +65,35 @@ adjust+:
|
|||
# Environments:
|
||||
#
|
||||
# * `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
|
||||
# * `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
|
||||
# in the test environment. `BINUTILS_PACKAGE` is usually the same as `PACKAGES` but
|
||||
# but complements `GCC_PACKAGE`
|
||||
# * `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
|
||||
- when: distro == rhel-9 and collection is not defined
|
||||
require+:
|
||||
|
|
@ -83,8 +110,64 @@ adjust+:
|
|||
BINUTILS_PACKAGE: binutils
|
||||
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
|
||||
- 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+:
|
||||
- gcc-toolset-13-binutils
|
||||
- gcc-toolset-13-binutils-devel
|
||||
|
|
@ -94,6 +177,7 @@ adjust+:
|
|||
- 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
|
||||
|
|
@ -111,6 +195,7 @@ adjust+:
|
|||
- gcc-toolset-12-gcc-plugin-annobin
|
||||
environment+:
|
||||
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
|
||||
WITH_SCL: scl enable gcc-toolset-12
|
||||
BINUTILS_PACKAGE: gcc-toolset-12-binutils
|
||||
|
|
@ -135,6 +220,43 @@ adjust+:
|
|||
BINUTILS_PACKAGE: binutils
|
||||
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
|
||||
- when: distro == rhel-8 and collection == gcc-toolset-13 and arch == x86_64,aarch64
|
||||
require+:
|
||||
|
|
@ -147,13 +269,15 @@ adjust+:
|
|||
- 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-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+:
|
||||
- gcc-toolset-13-binutils
|
||||
- gcc-toolset-13-binutils-devel
|
||||
|
|
@ -163,6 +287,7 @@ adjust+:
|
|||
- 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
|
||||
|
|
@ -181,6 +306,8 @@ adjust+:
|
|||
- gcc-toolset-12-annobin-plugin-gcc
|
||||
environment+:
|
||||
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
|
||||
WITH_SCL: scl enable gcc-toolset-12
|
||||
BINUTILS_PACKAGE: gcc-toolset-12-binutils
|
||||
|
|
@ -215,15 +342,35 @@ adjust+:
|
|||
- devtoolset-13-gcc-c++
|
||||
environment+:
|
||||
PACKAGES: devtoolset-13-binutils
|
||||
TOOLSET: devtoolset-13
|
||||
_REQUIRES: devtoolset-13-gcc devtoolset-13-gcc-c++ glibc
|
||||
WITH_SCL: scl enable devtoolset-13
|
||||
BINUTILS_PACKAGE: devtoolset-13-binutils
|
||||
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
|
||||
|
||||
# RHEL-7 / devtoolset-12
|
||||
# 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
|
||||
- when: distro == centos-stream-9 and collection is not defined
|
||||
require+:
|
||||
|
|
@ -239,17 +386,40 @@ adjust+:
|
|||
BINUTILS_PACKAGE: binutils
|
||||
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
|
||||
- when: distro == centos-stream-9 and collection == gcc-toolset-13
|
||||
require+:
|
||||
- gcc-toolset-13-binutils
|
||||
- gcc-toolset-13-binutils-devel
|
||||
- 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-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
|
||||
|
|
@ -286,13 +456,14 @@ adjust+:
|
|||
- 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
|
||||
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+:
|
||||
- gcc-toolset-13-binutils
|
||||
- gcc-toolset-13-binutils-devel
|
||||
|
|
@ -302,6 +473,7 @@ adjust+:
|
|||
- 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
|
||||
|
|
@ -320,6 +492,8 @@ adjust+:
|
|||
- gcc-toolset-12-annobin-plugin-gcc
|
||||
environment+:
|
||||
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
|
||||
WITH_SCL: scl enable gcc-toolset-12
|
||||
BINUTILS_PACKAGE: gcc-toolset-12-binutils
|
||||
|
|
@ -344,6 +518,22 @@ adjust+:
|
|||
BINUTILS_PACKAGE: binutils
|
||||
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
|
||||
- when: distro == fedora-39 and collection is not defined
|
||||
require+:
|
||||
|
|
|
|||
|
|
@ -46,10 +46,10 @@ require+:
|
|||
- net-tools
|
||||
|
||||
adjust+:
|
||||
- because: "kernel package is gone from Fedora Rawhide default installation"
|
||||
when: distro == fedora-rawhide
|
||||
- because: "kernel package is gone from recent Fedora default installation"
|
||||
when: distro >= fedora-38
|
||||
environment+:
|
||||
KERNEL: kernel-core
|
||||
KERNEL: kernel-core
|
||||
|
||||
- because: "python-devel has different names in different distros"
|
||||
when: distro >= rhel-8.6 and distro <= rhel-8.9
|
||||
|
|
@ -66,8 +66,8 @@ adjust+:
|
|||
require+:
|
||||
- pesign
|
||||
|
||||
- because: "unifdef is available with RHEL-8.9 and newer"
|
||||
when: distro >= rhel-8.9
|
||||
- because: "unifdef is available with RHEL-8.9 and newer and not in RHEL-10"
|
||||
when: distro >= rhel-8.9 and distro != rhel-10
|
||||
require+:
|
||||
- unifdef
|
||||
|
||||
|
|
@ -76,6 +76,10 @@ adjust+:
|
|||
require+:
|
||||
- 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"
|
||||
when: collection == gcc-toolset-13
|
||||
enabled: false
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ rlJournalStart
|
|||
rlLogInfo "REBOOTCOUNT=$REBOOTCOUNT"
|
||||
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"
|
||||
|
||||
rlRun "AFTER_REBOOT=no"
|
||||
|
|
@ -125,13 +125,14 @@ rlJournalStart
|
|||
rlRun "sed -i \"s/# define buildid .local/%define buildid $RPM_BUILD_ID/\" $SPECFILE"
|
||||
fi
|
||||
|
||||
if [ "`rlGetPrimaryArch`" == "ppc64" ]; then
|
||||
if [ "$(rlGetPrimaryArch)" == "ppc64" ]; then
|
||||
TARGET="--target=ppc64"
|
||||
else
|
||||
TARGET="--target=$(uname -m)"
|
||||
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"
|
||||
else
|
||||
rlLogInfo "rpmbuild kernel failed"
|
||||
|
|
@ -140,6 +141,7 @@ rlJournalStart
|
|||
log_disk_space
|
||||
log_rpms
|
||||
fi
|
||||
set +o pipefail
|
||||
rlBundleLogs "Build-log" BUILD_LOG
|
||||
rlPhaseEnd
|
||||
|
||||
|
|
@ -156,7 +158,7 @@ rlJournalStart
|
|||
if [ "$(arch)" = "s390x" ]; then
|
||||
rlRun "grubby --info=ALL"
|
||||
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 "grubby --set-default $KERNEL_FILE"
|
||||
rlLogInfo "Default kernel is $(grubby --default-kernel), index $(grubby --default-index)"
|
||||
|
|
|
|||
|
|
@ -24,3 +24,7 @@ adjust+:
|
|||
- when: collection == gcc-toolset-13
|
||||
environment+:
|
||||
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+:
|
||||
- when: distro == centos-stream-9
|
||||
environment+:
|
||||
BASELINE: "9"
|
||||
BASELINE: "9"
|
||||
|
||||
- when: distro == centos-stream-8
|
||||
environment+:
|
||||
BASELINE: "8"
|
||||
BASELINE: "8"
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/bin/rhts-environment.sh || exit 1
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||
|
|
@ -50,6 +49,10 @@ rlJournalStart
|
|||
release=8
|
||||
elif rlIsCentOS "=9"; then
|
||||
release=9
|
||||
elif rlIsCentOS "=10"; then
|
||||
release=10
|
||||
elif rlIsFedora ">= 40"; then
|
||||
release=fedora_40
|
||||
else
|
||||
rlLog "$(cat /etc/redhat-release)"
|
||||
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"
|
||||
|
||||
rlLog "expected targets:"
|
||||
rlLog "$(cat $expected_tgt_file)"
|
||||
rlLog "$(cat "$expected_tgt_file")"
|
||||
rlLog "expected architectures:"
|
||||
rlLog "$(cat $expected_arch_file)"
|
||||
rlLog "$(cat "$expected_arch_file")"
|
||||
rlLog "actual targets:"
|
||||
rlLog "$(cat actual_tgt)"
|
||||
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
|
||||
- bison
|
||||
- flex
|
||||
- zlib-static
|
||||
- sharutils
|
||||
- yum-utils
|
||||
- libstdc++-static
|
||||
- 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+:
|
||||
- because: "On RHEL-9.3.0 and newer, system binutils build extra binaries for cross compilation"
|
||||
when: distro == rhel-9.3 and collection is not defined
|
||||
- because: "On RHEL-10, zlib-static is missing"
|
||||
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"
|
||||
|
||||
- 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"
|
||||
|
||||
- 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"
|
||||
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"
|
||||
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"
|
||||
when: distro == rhel-9.4 and collection == gcc-toolset-13
|
||||
test: "$WITH_SCL ./test-with-cross.sh"
|
||||
environment+:
|
||||
MAY_BUILD_OTHER_ARCHES: "no"
|
||||
# - because: "On RHEL-8.10.0 and newer, system binutils build extra binaries for cross compilation"
|
||||
# when: distro == rhel-8.10 and collection is not defined
|
||||
# test: "$WITH_SCL ./test-with-cross.sh"
|
||||
# environment+:
|
||||
# MAY_BUILD_OTHER_ARCHES: "no"
|
||||
|
||||
- because: "On RHEL-8.10.0 and newer, system binutils build extra binaries for cross compilation"
|
||||
when: distro == rhel-8.10 and collection is not defined
|
||||
- because: "On RHEL-8.10.0 and newer, gcc-toolset-14 binutils build has extra directory levels"
|
||||
when: distro == rhel-8.10 and collection == gcc-toolset-14
|
||||
test: "$WITH_SCL ./test-with-cross.sh"
|
||||
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"
|
||||
when: distro == rhel-8.10 and collection == gcc-toolset-13
|
||||
test: "$WITH_SCL ./test-with-cross.sh"
|
||||
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"
|
||||
when: distro == centos-stream-9 and collection is not defined
|
||||
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"
|
||||
when: distro == centos-stream-9 and collection == gcc-toolset-13
|
||||
test: "$WITH_SCL ./test-with-cross.sh"
|
||||
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"
|
||||
when: distro == fedora-rawhide
|
||||
test: "$WITH_SCL ./test-with-cross.sh"
|
||||
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"
|
||||
when: distro == fedora-39
|
||||
- because: "On Fedora 40 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"
|
||||
|
||||
- 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"
|
||||
MAY_BUILD_OTHER_ARCHES: "no"
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||
. ./interesting-cases.sh || exit 1
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
|
|
@ -101,6 +102,8 @@ rlJournalStart
|
|||
rlLogInfo "Failed tests:\n$(sort < "$tool_log.failed")"
|
||||
rlLogInfo "All tests:\n$(grep -E '^[A-Z]+:' "$tool_log.tests" | sort)"
|
||||
rlPhaseEnd
|
||||
|
||||
verify_interesting_cases "$TOOL" "$tool_label" "$tool_log"
|
||||
done
|
||||
done
|
||||
|
||||
|
|
|
|||
|
|
@ -31,11 +31,18 @@
|
|||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
. "$TMT_TREE/tests/lib.sh" || exit 1
|
||||
. ./interesting-cases.sh || exit 1
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
buTestHeader
|
||||
|
||||
ARCH="$(rlGetPrimaryArch)"
|
||||
BUILD_ARCHS="$ARCH"
|
||||
|
||||
rlLogInfo "ARCH=$ARCH"
|
||||
rlLogInfo "BUILD_ARCHS=$BUILD_ARCHS"
|
||||
|
||||
buEnterTmpDir
|
||||
|
||||
rlRun "LOGDIR=$TmpDir/LOGS"
|
||||
|
|
@ -50,19 +57,19 @@ rlJournalStart
|
|||
rlPhaseStartSetup "Rebuild binutils"
|
||||
buBuildSRPM
|
||||
|
||||
rlRun "cp $CURRENT_BUILD/binutils/binutils.log $LOGDIR/binutils-$build_arch.log"
|
||||
rlRun "cp $CURRENT_BUILD/binutils/binutils.sum $LOGDIR/binutils-$build_arch.sum"
|
||||
rlRun "cp $CURRENT_BUILD/binutils/binutils.log $LOGDIR/binutils-$ARCH.log"
|
||||
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.sum $LOGDIR/ld-$build_arch.sum"
|
||||
rlRun "cp $CURRENT_BUILD/ld/ld.log $LOGDIR/ld-$ARCH.log"
|
||||
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.sum $LOGDIR/gas-$build_arch.sum"
|
||||
rlRun "cp $CURRENT_BUILD/gas/testsuite/gas.log $LOGDIR/gas-$ARCH.log"
|
||||
rlRun "cp $CURRENT_BUILD/gas/testsuite/gas.sum $LOGDIR/gas-$ARCH.sum"
|
||||
rlPhaseEnd
|
||||
|
||||
for TOOL in binutils ld gas; do
|
||||
tool_label="$TOOL / $build_arch"
|
||||
tool_log="$LOGDIR/$TOOL-$build_arch"
|
||||
tool_label="$TOOL / $ARCH"
|
||||
tool_log="$LOGDIR/$TOOL-$ARCH"
|
||||
|
||||
rlPhaseStartTest "$tool_label"
|
||||
rlLogInfo "$tool_label Summary"
|
||||
|
|
@ -75,6 +82,8 @@ rlJournalStart
|
|||
rlLogInfo "Failed tests:\n$(sort < "$tool_log.failed")"
|
||||
rlLogInfo "All tests:\n$(grep -E '^[A-Z]+:' "$tool_log.tests" | sort)"
|
||||
rlPhaseEnd
|
||||
|
||||
verify_interesting_cases "$TOOL" "$tool_label" "$tool_log"
|
||||
done
|
||||
|
||||
rlPhaseStartCleanup
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue