From b606cdd338672412e635aeb9103db1e7f7a04306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Prchl=C3=ADk?= Date: Fri, 19 Jan 2024 09:12:23 +0100 Subject: [PATCH] tests: switch to https://src.fedoraproject.org/tests/binutils/ --- gating.yaml | 4 +- plans/build-gating.fmf | 25 ++ plans/ci.fmf | 5 - tests/README | 2 - tests/Regression/241252/Makefile | 62 --- tests/Regression/241252/main.fmf | 12 - tests/Regression/241252/runtest.sh | 62 --- tests/Regression/241252/x.i | 62 --- tests/Regression/241252/y.i | 71 ---- .../Makefile | 82 ---- .../PURPOSE | 11 - .../main.fmf | 20 - .../reproducer/Makefile | 21 - .../reproducer/bfdtest.c | 7 - .../reproducer/libbfdtest.c | 10 - .../reproducer/libbfdtest.h | 1 - .../runtest.sh | 49 --- .../Makefile | 85 ---- .../PURPOSE | 2 - .../main.fmf | 14 - .../runtest.sh | 56 --- .../Makefile | 60 --- .../PURPOSE | 27 -- .../main.fmf | 42 -- .../runtest.sh | 49 --- .../509124-holes-in-debuginfo/Makefile | 59 --- .../509124-holes-in-debuginfo/PURPOSE | 14 - .../509124-holes-in-debuginfo/ascend.C | 15 - .../509124-holes-in-debuginfo/main.fmf | 25 -- .../509124-holes-in-debuginfo/runtest.sh | 73 ---- .../509124-holes-in-debuginfo/test.c | 14 - .../Makefile | 59 --- .../PURPOSE | 0 .../bar.c | 19 - .../foo.c | 7 - .../main.fmf | 19 - .../runtest.sh | 57 --- .../RELRO-protection-effective/Makefile | 63 --- .../RELRO-protection-effective/PURPOSE | 34 -- .../RELRO-protection-effective/main.fmf | 43 -- .../RELRO-protection-effective/runtest.sh | 65 --- .../Makefile | 63 --- .../PURPOSE | 5 - .../main.fmf | 16 - .../runtest.sh | 39 -- .../Makefile | 65 --- .../PURPOSE | 5 - .../libfoo.c | 3 - .../main.fmf | 17 - .../runtest.sh | 63 --- .../user.c | 9 - .../bz1172766-ppc64-segv-in-libbfd/Makefile | 65 --- .../bz1172766-ppc64-segv-in-libbfd/PURPOSE | 5 - .../bz1172766-ppc64-segv-in-libbfd/main.fmf | 20 - .../bz1172766-ppc64-segv-in-libbfd/runtest.sh | 85 ---- .../Makefile | 66 --- .../PURPOSE | 5 - .../ldtest.S | 3 - .../main.fmf | 17 - .../runtest.sh | 79 ---- .../Makefile | 64 --- .../PURPOSE | 5 - .../main.fmf | 15 - .../reproducer.c | 2 - .../runtest.sh | 74 ---- .../Makefile | 66 --- .../PURPOSE | 8 - .../a.cpp | 4 - .../main.fmf | 19 - .../runtest.sh | 77 ---- .../Makefile | 64 --- .../PURPOSE | 5 - .../main.fmf | 16 - .../runtest.sh | 86 ---- .../Makefile | 63 --- .../PURPOSE | 18 - .../main.fmf | 29 -- .../runtest.sh | 64 --- .../Makefile | 65 --- .../PURPOSE | 5 - .../main.fmf | 15 - .../pie.c | 5 - .../runtest.sh | 61 --- .../Makefile | 65 --- .../PURPOSE | 5 - .../main.fmf | 14 - .../repr.c | 13 - .../runtest.sh | 69 ---- .../Makefile | 64 --- .../PURPOSE | 5 - .../main.c | 4 - .../main.fmf | 16 - .../runtest.sh | 81 ---- .../Makefile | 65 --- .../PURPOSE | 5 - .../gprof.file.c | 4 - .../main.fmf | 15 - .../runtest.sh | 77 ---- .../Makefile | 65 --- .../PURPOSE | 5 - .../main.fmf | 14 - .../reproducer.S | 17 - .../runtest.sh | 76 ---- .../Makefile | 65 --- .../PURPOSE | 5 - .../main.fmf | 15 - .../reloc.s | 3 - .../runtest.sh | 59 --- .../Makefile | 64 --- .../PURPOSE | 5 - .../foo.c | 4 - .../main.c | 8 - .../main.fmf | 15 - .../runtest.sh | 94 ----- .../Makefile | 65 --- .../PURPOSE | 5 - .../kpatch-3_10_0-1062-1-15.ppc64le.ko | Bin 339785 -> 0 bytes .../kpatch-3_10_0-1062-1-15.x86_64.ko | Bin 227929 -> 0 bytes .../main.fmf | 16 - .../runtest.sh | 110 ----- .../Makefile | 64 --- .../PURPOSE | 3 - .../main.fmf | 14 - .../runtest.sh | 55 --- .../Makefile | 63 --- .../PURPOSE | 3 - .../hello-unexpected-reloc-type.c | 5 - .../main.fmf | 19 - .../runtest.sh | 56 --- .../Makefile | 64 --- .../PURPOSE | 0 .../main.fmf | 19 - .../runtest.sh | 54 --- .../Makefile | 56 --- .../PURPOSE | 42 -- .../foo.c | 1 - .../main.fmf | 48 --- .../module-common.lds | 9 - .../runtest.sh | 64 --- .../Makefile | 64 --- .../PURPOSE | 3 - .../bar.c | 1 - .../main.fmf | 15 - .../runtest.sh | 56 --- .../Makefile | 66 --- .../PURPOSE | 3 - .../main.fmf | 14 - .../runtest.sh | 61 --- .../Makefile | 64 --- .../PURPOSE | 8 - .../main.fmf | 28 -- .../runtest.sh | 59 --- .../Makefile | 64 --- .../PURPOSE | 3 - .../main.fmf | 15 - .../runtest.sh | 55 --- .../w.c | 7 - .../Makefile | 64 --- .../PURPOSE | 5 - .../main.fmf | 16 - .../runtest.sh | 61 --- .../Makefile | 65 --- .../PURPOSE | 17 - .../main.fmf | 30 -- .../reproducer6.c | 20 - .../runtest.sh | 76 ---- .../Makefile | 66 --- .../PURPOSE | 8 - .../main.fmf | 20 - .../runtest.sh | 69 ---- .../t.c | 16 - .../u.c | 7 - .../v.c | 5 - .../Makefile | 64 --- .../PURPOSE | 5 - .../main.fmf | 18 - .../runtest.sh | 68 --- .../Makefile | 65 --- .../PURPOSE | 5 - .../ld-fail.c | 8 - .../main.fmf | 18 - .../runtest.sh | 57 --- tests/Sanity/dts-probe-binaries/Makefile | 63 --- tests/Sanity/dts-probe-binaries/PURPOSE | 3 - .../dts-probe-binaries/check-localplt.c | 298 -------------- tests/Sanity/dts-probe-binaries/m.c | 6 - tests/Sanity/dts-probe-binaries/main.fmf | 20 - tests/Sanity/dts-probe-binaries/popcnt.c | 7 - tests/Sanity/dts-probe-binaries/runtest.sh | 388 ------------------ tests/Sanity/dts-probe-binaries/virtual2.C | 31 -- tests/Sanity/rebuild-coreutils/Makefile | 64 --- tests/Sanity/rebuild-coreutils/PURPOSE | 3 - tests/Sanity/rebuild-coreutils/main.fmf | 14 - tests/Sanity/rebuild-coreutils/runtest.sh | 65 --- tests/Sanity/rebuild-emacs/Makefile | 67 --- tests/Sanity/rebuild-emacs/PURPOSE | 21 - tests/Sanity/rebuild-emacs/main.fmf | 64 --- tests/Sanity/rebuild-emacs/runtest.sh | 79 ---- tests/Sanity/rebuild-wget/Makefile | 65 --- tests/Sanity/rebuild-wget/PURPOSE | 3 - tests/Sanity/rebuild-wget/main.fmf | 16 - tests/Sanity/rebuild-wget/runtest.sh | 86 ---- tests/Sanity/testsuite/Makefile | 68 --- tests/Sanity/testsuite/PURPOSE | 3 - tests/Sanity/testsuite/main.fmf | 25 -- tests/Sanity/testsuite/runtest.sh | 147 ------- 206 files changed, 27 insertions(+), 7736 deletions(-) create mode 100644 plans/build-gating.fmf delete mode 100644 plans/ci.fmf delete mode 100644 tests/README delete mode 100644 tests/Regression/241252/Makefile delete mode 100644 tests/Regression/241252/main.fmf delete mode 100755 tests/Regression/241252/runtest.sh delete mode 100644 tests/Regression/241252/x.i delete mode 100644 tests/Regression/241252/y.i delete mode 100644 tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/Makefile delete mode 100644 tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/PURPOSE delete mode 100644 tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/main.fmf delete mode 100644 tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/Makefile delete mode 100644 tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/bfdtest.c delete mode 100644 tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/libbfdtest.c delete mode 100644 tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/libbfdtest.h delete mode 100755 tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/runtest.sh delete mode 100644 tests/Regression/435078-output-of-strings-0-n-is-incorrect/Makefile delete mode 100644 tests/Regression/435078-output-of-strings-0-n-is-incorrect/PURPOSE delete mode 100644 tests/Regression/435078-output-of-strings-0-n-is-incorrect/main.fmf delete mode 100755 tests/Regression/435078-output-of-strings-0-n-is-incorrect/runtest.sh delete mode 100644 tests/Regression/480009-when-mistaking-argument-of-strings/Makefile delete mode 100644 tests/Regression/480009-when-mistaking-argument-of-strings/PURPOSE delete mode 100644 tests/Regression/480009-when-mistaking-argument-of-strings/main.fmf delete mode 100755 tests/Regression/480009-when-mistaking-argument-of-strings/runtest.sh delete mode 100644 tests/Regression/509124-holes-in-debuginfo/Makefile delete mode 100644 tests/Regression/509124-holes-in-debuginfo/PURPOSE delete mode 100755 tests/Regression/509124-holes-in-debuginfo/ascend.C delete mode 100644 tests/Regression/509124-holes-in-debuginfo/main.fmf delete mode 100755 tests/Regression/509124-holes-in-debuginfo/runtest.sh delete mode 100644 tests/Regression/509124-holes-in-debuginfo/test.c delete mode 100644 tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/Makefile delete mode 100644 tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/PURPOSE delete mode 100644 tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/bar.c delete mode 100644 tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/foo.c delete mode 100644 tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/main.fmf delete mode 100755 tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/runtest.sh delete mode 100644 tests/Regression/RELRO-protection-effective/Makefile delete mode 100644 tests/Regression/RELRO-protection-effective/PURPOSE delete mode 100644 tests/Regression/RELRO-protection-effective/main.fmf delete mode 100755 tests/Regression/RELRO-protection-effective/runtest.sh delete mode 100644 tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/Makefile delete mode 100644 tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/PURPOSE delete mode 100644 tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/main.fmf delete mode 100755 tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/runtest.sh delete mode 100644 tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/Makefile delete mode 100644 tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/PURPOSE delete mode 100644 tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/libfoo.c delete mode 100644 tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/main.fmf delete mode 100755 tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/runtest.sh delete mode 100644 tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/user.c delete mode 100644 tests/Regression/bz1172766-ppc64-segv-in-libbfd/Makefile delete mode 100644 tests/Regression/bz1172766-ppc64-segv-in-libbfd/PURPOSE delete mode 100644 tests/Regression/bz1172766-ppc64-segv-in-libbfd/main.fmf delete mode 100755 tests/Regression/bz1172766-ppc64-segv-in-libbfd/runtest.sh delete mode 100644 tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/Makefile delete mode 100644 tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/PURPOSE delete mode 100644 tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/ldtest.S delete mode 100644 tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/main.fmf delete mode 100755 tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/runtest.sh delete mode 100644 tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/Makefile delete mode 100644 tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/PURPOSE delete mode 100644 tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/main.fmf delete mode 100644 tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/reproducer.c delete mode 100755 tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/runtest.sh delete mode 100644 tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/Makefile delete mode 100644 tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/PURPOSE delete mode 100755 tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/a.cpp delete mode 100644 tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/main.fmf delete mode 100755 tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/runtest.sh delete mode 100644 tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/Makefile delete mode 100644 tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/PURPOSE delete mode 100644 tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/main.fmf delete mode 100755 tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/runtest.sh delete mode 100644 tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/Makefile delete mode 100644 tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/PURPOSE delete mode 100644 tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/main.fmf delete mode 100755 tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/runtest.sh delete mode 100644 tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/Makefile delete mode 100644 tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/PURPOSE delete mode 100644 tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/main.fmf delete mode 100644 tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/pie.c delete mode 100755 tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/runtest.sh delete mode 100644 tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/Makefile delete mode 100644 tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/PURPOSE delete mode 100644 tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/main.fmf delete mode 100644 tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/repr.c delete mode 100755 tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/runtest.sh delete mode 100644 tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/Makefile delete mode 100644 tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/PURPOSE delete mode 100644 tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/main.c delete mode 100644 tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/main.fmf delete mode 100755 tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/runtest.sh delete mode 100644 tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/Makefile delete mode 100644 tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/PURPOSE delete mode 100644 tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/gprof.file.c delete mode 100644 tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/main.fmf delete mode 100755 tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/runtest.sh delete mode 100644 tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/Makefile delete mode 100644 tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/PURPOSE delete mode 100644 tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/main.fmf delete mode 100644 tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/reproducer.S delete mode 100755 tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/runtest.sh delete mode 100644 tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/Makefile delete mode 100644 tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/PURPOSE delete mode 100644 tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/main.fmf delete mode 100644 tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/reloc.s delete mode 100755 tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/runtest.sh delete mode 100644 tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/Makefile delete mode 100644 tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/PURPOSE delete mode 100644 tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/foo.c delete mode 100644 tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/main.c delete mode 100644 tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/main.fmf delete mode 100755 tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/runtest.sh delete mode 100644 tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/Makefile delete mode 100644 tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/PURPOSE delete mode 100644 tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/kpatch-3_10_0-1062-1-15.ppc64le.ko delete mode 100644 tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/kpatch-3_10_0-1062-1-15.x86_64.ko delete mode 100644 tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/main.fmf delete mode 100755 tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/runtest.sh delete mode 100644 tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/Makefile delete mode 100644 tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/PURPOSE delete mode 100644 tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/main.fmf delete mode 100755 tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/runtest.sh delete mode 100644 tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/Makefile delete mode 100644 tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/PURPOSE delete mode 100644 tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/hello-unexpected-reloc-type.c delete mode 100644 tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/main.fmf delete mode 100755 tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/runtest.sh delete mode 100644 tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/Makefile delete mode 100644 tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/PURPOSE delete mode 100644 tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/main.fmf delete mode 100755 tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/runtest.sh delete mode 100644 tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/Makefile delete mode 100644 tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/PURPOSE delete mode 100644 tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/foo.c delete mode 100644 tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/main.fmf delete mode 100644 tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/module-common.lds delete mode 100755 tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/runtest.sh delete mode 100644 tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/Makefile delete mode 100644 tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/PURPOSE delete mode 100644 tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/bar.c delete mode 100644 tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/main.fmf delete mode 100755 tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/runtest.sh delete mode 100644 tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/Makefile delete mode 100644 tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/PURPOSE delete mode 100644 tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/main.fmf delete mode 100755 tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/runtest.sh delete mode 100644 tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/Makefile delete mode 100644 tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/PURPOSE delete mode 100644 tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/main.fmf delete mode 100755 tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/runtest.sh delete mode 100644 tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/Makefile delete mode 100644 tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/PURPOSE delete mode 100644 tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/main.fmf delete mode 100755 tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/runtest.sh delete mode 100644 tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/w.c delete mode 100644 tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/Makefile delete mode 100644 tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/PURPOSE delete mode 100644 tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/main.fmf delete mode 100755 tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/runtest.sh delete mode 100644 tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/Makefile delete mode 100644 tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/PURPOSE delete mode 100644 tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/main.fmf delete mode 100644 tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/reproducer6.c delete mode 100755 tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/runtest.sh delete mode 100644 tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/Makefile delete mode 100644 tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/PURPOSE delete mode 100644 tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/main.fmf delete mode 100755 tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/runtest.sh delete mode 100644 tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/t.c delete mode 100644 tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/u.c delete mode 100644 tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/v.c delete mode 100644 tests/Regression/bz916214-binutils-contains-empty-man-pages/Makefile delete mode 100644 tests/Regression/bz916214-binutils-contains-empty-man-pages/PURPOSE delete mode 100644 tests/Regression/bz916214-binutils-contains-empty-man-pages/main.fmf delete mode 100755 tests/Regression/bz916214-binutils-contains-empty-man-pages/runtest.sh delete mode 100644 tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/Makefile delete mode 100644 tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/PURPOSE delete mode 100644 tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/ld-fail.c delete mode 100644 tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/main.fmf delete mode 100755 tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/runtest.sh delete mode 100644 tests/Sanity/dts-probe-binaries/Makefile delete mode 100644 tests/Sanity/dts-probe-binaries/PURPOSE delete mode 100644 tests/Sanity/dts-probe-binaries/check-localplt.c delete mode 100644 tests/Sanity/dts-probe-binaries/m.c delete mode 100644 tests/Sanity/dts-probe-binaries/main.fmf delete mode 100644 tests/Sanity/dts-probe-binaries/popcnt.c delete mode 100755 tests/Sanity/dts-probe-binaries/runtest.sh delete mode 100644 tests/Sanity/dts-probe-binaries/virtual2.C delete mode 100644 tests/Sanity/rebuild-coreutils/Makefile delete mode 100644 tests/Sanity/rebuild-coreutils/PURPOSE delete mode 100644 tests/Sanity/rebuild-coreutils/main.fmf delete mode 100755 tests/Sanity/rebuild-coreutils/runtest.sh delete mode 100644 tests/Sanity/rebuild-emacs/Makefile delete mode 100644 tests/Sanity/rebuild-emacs/PURPOSE delete mode 100644 tests/Sanity/rebuild-emacs/main.fmf delete mode 100755 tests/Sanity/rebuild-emacs/runtest.sh delete mode 100644 tests/Sanity/rebuild-wget/Makefile delete mode 100644 tests/Sanity/rebuild-wget/PURPOSE delete mode 100644 tests/Sanity/rebuild-wget/main.fmf delete mode 100755 tests/Sanity/rebuild-wget/runtest.sh delete mode 100644 tests/Sanity/testsuite/Makefile delete mode 100644 tests/Sanity/testsuite/PURPOSE delete mode 100644 tests/Sanity/testsuite/main.fmf delete mode 100755 tests/Sanity/testsuite/runtest.sh diff --git a/gating.yaml b/gating.yaml index 56c4731..dea779c 100644 --- a/gating.yaml +++ b/gating.yaml @@ -11,5 +11,5 @@ product_versions: - rhel-9 decision_context: osci_compose_gate rules: - - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.gate-build-fast-lane.functional} + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.gate-build-slow-lane.functional} diff --git a/plans/build-gating.fmf b/plans/build-gating.fmf new file mode 100644 index 0000000..552baf6 --- /dev/null +++ b/plans/build-gating.fmf @@ -0,0 +1,25 @@ +# +# Build/PR gating tests for binutils +# + +/common: + plan: + import: + url: https://src.fedoraproject.org/tests/binutils.git + ref: main + name: /plans/build-gating/common + +/kernel-rebuild: + plan: + import: + url: https://src.fedoraproject.org/tests/binutils.git + ref: main + name: /plans/build-gating/kernel-rebuild + +adjust+: + - because: "Plan to be ran when executed locally, or executed by CI system to gate a build or PR." + when: >- + trigger is defined + and trigger != commit + and trigger != build + enabled: false diff --git a/plans/ci.fmf b/plans/ci.fmf deleted file mode 100644 index 3fd3ab7..0000000 --- a/plans/ci.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: CI Gating Plan -discover: - how: fmf -execute: - how: tmt diff --git a/tests/README b/tests/README deleted file mode 100644 index bf13c2b..0000000 --- a/tests/README +++ /dev/null @@ -1,2 +0,0 @@ -The test's Makefiles are not used in Fedora CI infrastructure. But are kept here - for backward compatibility with traditional beakerlib test harness in RHEL. diff --git a/tests/Regression/241252/Makefile b/tests/Regression/241252/Makefile deleted file mode 100644 index e362619..0000000 --- a/tests/Regression/241252/Makefile +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# Testcases for this bugzilla were provided by Jakub Jelinek -# I've only wrapped them to RHTS - -TOPLEVEL_NAMESPACE=/tools -PACKAGE_NAME=binutils -RELATIVE_PATH=bugzillas/241252 - -export TESTVERSION=1.0 - -export TEST=$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH) - -.PHONY: all install download clean - -FILES=$(METADATA) \ - runtest.sh \ - Makefile \ - x.i \ - y.i - -run: $(FILES) #build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x ./runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @touch $(METADATA) - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Description: Regression test for bz241252." >> $(METADATA) - @echo "TestTime: 3m" >> $(METADATA) - @echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA) - @echo "Requires: $(PACKAGE_NAME) gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "Releases: -RHEL4" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/241252/main.fmf b/tests/Regression/241252/main.fmf deleted file mode 100644 index 89c443c..0000000 --- a/tests/Regression/241252/main.fmf +++ /dev/null @@ -1,12 +0,0 @@ -summary: Regression test for bz241252. -contact: Michal Nowak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -duration: 3m -extra-summary: /tools/binutils/bugzillas/241252 -extra-task: /tools/binutils/bugzillas/241252 diff --git a/tests/Regression/241252/runtest.sh b/tests/Regression/241252/runtest.sh deleted file mode 100755 index 8f7afe9..0000000 --- a/tests/Regression/241252/runtest.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -rlJournalStart - rlPhaseStartSetup Setup - rlAssertRpm $PACKAGE - rlShowRunningKernel - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - cp x.i y.i $TmpDir - rlRun "pushd $TmpDir" - - rlRun "gcc -c -O2 -fpic -o x.o x.i -g" 0 "Compile test case 'x'" - 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 )" - rlLogInfo 'x:' - rlLogInfo "$( readelf -WS x | grep debug_rnglist )" - rlPhaseEnd - - rlPhaseStartTest Testing - 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 - rlPass "Debug ranges sections were merged" - else - rlFail "Debug ranges sections were not merged" - fi - rlPhaseEnd - - rlPhaseStartCleanup Cleanup - rlRun "popd" - rlRun "rm -r $TmpDir $rlRun_LOG" 0 "Removing tmp directory" - rlPhaseEnd - rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/241252/x.i b/tests/Regression/241252/x.i deleted file mode 100644 index 0a81c5d..0000000 --- a/tests/Regression/241252/x.i +++ /dev/null @@ -1,62 +0,0 @@ -extern void __assert_fail (const char *, const char *, unsigned int, const char *) - __attribute__ ((__nothrow__, __noreturn__)); - -struct gst; -struct gs; - -extern void bar (void *) __attribute__ ((__nothrow__)); - -typedef int (*gf) (struct gst *, struct gs *, - const unsigned char **, const unsigned char *, - unsigned char **, unsigned long *, int, int); - -struct gst -{ - gf fct; - int min_needed_from; -}; - -struct gs -{ - unsigned char *outbuf; - unsigned char *outbufend; - int flags; - int invocation_counter; - int internal_use; -}; - -typedef struct gi -{ - unsigned long nsteps; - struct gst *steps; - struct gs data [10]; -} *gt; - -int -foo (gt cd, const unsigned char **inbuf, - const unsigned char *inbufend, unsigned char **outbuf, - unsigned char *outbufend, unsigned long *irreversible) -{ - unsigned long last_step; - int result; - last_step = cd->nsteps - 1; - *irreversible = 0; - cd->data[last_step].outbuf = outbuf != ((void *)0) ? *outbuf : ((void *)0); - cd->data[last_step].outbufend = outbufend; - gf fct = cd->steps->fct; - if (inbuf == ((void *)0) || *inbuf == ((void *)0)) - result = (bar ((void *) (fct)), (*(fct)) (cd->steps, cd->data, ((void *)0), ((void *)0), ((void *)0), irreversible, cd->data[last_step].outbuf == ((void *)0) ? 2 : 1, 0)); - else - { - const unsigned char *last_start; - ((outbuf != ((void *)0) && *outbuf != ((void *)0)) ? (void) (0) : __assert_fail ("outbuf != ((void *)0) && *outbuf != ((void *)0)", "gconv.c", 67, "foo")); - do - { - last_start = *inbuf; - result = (bar ((void *) (fct)), (*(fct)) (cd->steps, cd->data, inbuf, inbufend, ((void *)0), irreversible, 0, 0)); - } - while (result == 4 && last_start != *inbuf - && *inbuf + cd->steps->min_needed_from <= inbufend); - } - return result; -} diff --git a/tests/Regression/241252/y.i b/tests/Regression/241252/y.i deleted file mode 100644 index b5dc13b..0000000 --- a/tests/Regression/241252/y.i +++ /dev/null @@ -1,71 +0,0 @@ -extern void __assert_fail (const char *, const char *, unsigned int, const char *) - __attribute__ ((__nothrow__, __noreturn__)); - -struct gst; -struct gs; - -extern void bar (void *) __attribute__ ((__nothrow__)); - -void bar (void *x) -{ -} - -typedef int (*gf) (struct gst *, struct gs *, - const unsigned char **, const unsigned char *, - unsigned char **, unsigned long *, int, int); - -struct gst -{ - gf fct; - int min_needed_from; -}; - -struct gs -{ - unsigned char *outbuf; - unsigned char *outbufend; - int flags; - int invocation_counter; - int internal_use; -}; - -typedef struct gi -{ - unsigned long nsteps; - struct gst *steps; - struct gs data [10]; -} *gt; - -int -baz (gt cd, const unsigned char **inbuf, - const unsigned char *inbufend, unsigned char **outbuf, - unsigned char *outbufend, unsigned long *irreversible) -{ - unsigned long last_step; - int result; - last_step = cd->nsteps - 1; - *irreversible = 0; - cd->data[last_step].outbuf = outbuf != ((void *)0) ? *outbuf : ((void *)0); - cd->data[last_step].outbufend = outbufend; - gf fct = cd->steps->fct; - if (inbuf == ((void *)0) || *inbuf == ((void *)0)) - result = (bar ((void *) (fct)), (*(fct)) (cd->steps, cd->data, ((void *)0), ((void *)0), ((void *)0), irreversible, cd->data[last_step].outbuf == ((void *)0) ? 2 : 1, 0)); - else - { - const unsigned char *last_start; - ((outbuf != ((void *)0) && *outbuf != ((void *)0)) ? (void) (0) : __assert_fail ("outbuf != ((void *)0) && *outbuf != ((void *)0)", "gconv.c", 67, "foo")); - do - { - last_start = *inbuf; - result = (bar ((void *) (fct)), (*(fct)) (cd->steps, cd->data, inbuf, inbufend, ((void *)0), irreversible, 0, 0)); - } - while (result == 4 && last_start != *inbuf - && *inbuf + cd->steps->min_needed_from <= inbufend); - } - return result; -} - -int -main (void) -{ -} diff --git a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/Makefile b/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/Makefile deleted file mode 100644 index da0828b..0000000 --- a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/Makefile +++ /dev/null @@ -1,82 +0,0 @@ -# -# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material -# is made available to anyone wishing to use, modify, copy, or -# redistribute it subject to the terms and conditions of the GNU General -# Public License v.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. -# -# Author: Michal Nowak - -# The toplevel namespace within which the test lives. -TOPLEVEL_NAMESPACE=tools - -# The name of the package under test: -PACKAGE_NAME=binutils - -# The path of the test below the package: -RELATIVE_PATH=Sanity/430856-libbfd.a-not-compiled-with-fPIC - -# Version of the Test. Used with make tag. -export TESTVERSION=1.1 - -# The combined namespace of the test. -export TEST=/$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH) - - -# A phony target is one that is not really the name of a file. -# It is just a name for some commands to be executed when you -# make an explicit request. There are two reasons to use a -# phony target: to avoid a conflict with a file of the same -# name, and to improve performance. -.PHONY: all install download clean - -# executables to be built should be added here, they will be generated on the system under test. -BUILT_FILES= - -# data files, .c files, scripts anything needed to either compile the test and/or run it. -FILES=$(METADATA) runtest.sh Makefile PURPOSE bz430856.tar.gz - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x ./runtest.sh - -clean: - rm -f *~ *.rpm $(BUILT_FILES) - -# You may need to add other targets e.g. to build executables from source code -# Add them here: - - -# Include Common Makefile -include /usr/share/rhts/lib/rhts-make.include - -# Generate the testinfo.desc here: -$(METADATA): Makefile - @touch $(METADATA) -# Change to the test owner's name - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Description: libbfd.a not compiled with -fPIC">> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA) -# add any other packages for which your test ought to run here - @echo "Requires: $(PACKAGE_NAME)" >> $(METADATA) - @echo "Requires: $(PACKAGE_NAME)-devel" >> $(METADATA) - @echo "Requires: gcc glibc-headers" >> $(METADATA) -# add any other requirements for the script to run here - -# You may need other fields here; see the documentation - rhts-lint $(METADATA) - diff --git a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/PURPOSE b/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/PURPOSE deleted file mode 100644 index 7700573..0000000 --- a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/PURPOSE +++ /dev/null @@ -1,11 +0,0 @@ -Would it be possible to have /usr/lib64/libbfd.a in binutils -compiled with -fPIC? Otherwise, shared apps can't link against -libbfd. In binutils.spec, libiberty.a is already recreated -with -fPIC, is there some reason the same isn't done for -libbfd? - -From binutils.spec: - - # Rebuild libiberty.a with -fPIC - make -C libiberty clean - make CFLAGS="-g -fPIC $RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64" -C libiberty diff --git a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/main.fmf b/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/main.fmf deleted file mode 100644 index 3b9df28..0000000 --- a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/main.fmf +++ /dev/null @@ -1,20 +0,0 @@ -summary: libbfd.a not compiled with -fPIC -description: "Would it be possible to have /usr/lib64/libbfd.a in binutils\ncompiled\ - \ with -fPIC? Otherwise, shared apps can't link against\nlibbfd. In binutils.spec,\ - \ libiberty.a is already recreated \nwith -fPIC, is there some reason the same\ - \ isn't done for \nlibbfd?\n\nFrom binutils.spec:\n\n # Rebuild libiberty.a with\ - \ -fPIC\n make -C libiberty clean\n make CFLAGS=\"-g -fPIC $RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64\"\ - \ -C libiberty\n" -contact: Michal Nowak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- binutils-devel -- gcc -- glibc-headers -duration: 5m -extra-summary: /tools/binutils/Sanity/430856-libbfd.a-not-compiled-with-fPIC -extra-task: /tools/binutils/Sanity/430856-libbfd.a-not-compiled-with-fPIC diff --git a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/Makefile b/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/Makefile deleted file mode 100644 index c8c5081..0000000 --- a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -CC=gcc -CFLAGS=-g -Wall - -all: test - -libbfdtest.so bfdtest: Makefile - -libbfdtest.so: libbfdtest.c libbfdtest.h - $(CC) $(CFLAGS) -shared -o $@ -fPIC $< -lbfd -liberty - -bfdtest: bfdtest.c libbfdtest.h libbfdtest.so - $(CC) -o $@ $< -L. -Wl,-rpath,. -lbfdtest -ldl - -.PHONY: test -test: bfdtest - ./$< - @echo OK - -clean: - $(RM) libbfdtest.so bfdtest - diff --git a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/bfdtest.c b/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/bfdtest.c deleted file mode 100644 index cc8038e..0000000 --- a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/bfdtest.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "libbfdtest.h" - -int -main (void) -{ - return libbfdtest () ? 0 : 1; -} diff --git a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/libbfdtest.c b/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/libbfdtest.c deleted file mode 100644 index b3ec8fe..0000000 --- a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/libbfdtest.c +++ /dev/null @@ -1,10 +0,0 @@ -#include - -#include "libbfdtest.h" - -int -libbfdtest (void) -{ - bfd_set_error (bfd_error_no_error); - return bfd_get_error () == bfd_error_no_error; -} diff --git a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/libbfdtest.h b/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/libbfdtest.h deleted file mode 100644 index f67d25b..0000000 --- a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/reproducer/libbfdtest.h +++ /dev/null @@ -1 +0,0 @@ -extern int libbfdtest (void); diff --git a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/runtest.sh b/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/runtest.sh deleted file mode 100755 index 2638e8e..0000000 --- a/tests/Regression/430856-libbfd.a-not-compiled-with-fPIC/runtest.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlShowPackageVersion $PACKAGE - rlShowRunningKernel - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - cp reproducer/* $TmpDir - rlRun "pushd $TmpDir" - rlRun "make clean" 0 "Make clean" - rlPhaseEnd - - rlPhaseStartTest - rlRun "make" 0 "Build the files" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd - rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/435078-output-of-strings-0-n-is-incorrect/Makefile b/tests/Regression/435078-output-of-strings-0-n-is-incorrect/Makefile deleted file mode 100644 index 427fe54..0000000 --- a/tests/Regression/435078-output-of-strings-0-n-is-incorrect/Makefile +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright (c) 2006 Red Hat, Inc. All rights reserved. This copyrighted material -# is made available to anyone wishing to use, modify, copy, or -# redistribute it subject to the terms and conditions of the GNU General -# Public License v.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. -# -# Author: Michal Nowak - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# -# Example Makefile for RHTS # -# This example is geared towards a test for a specific package # -# It does most of the work for you, but may require further coding # -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~# - -# The toplevel namespace within which the test lives. -TOPLEVEL_NAMESPACE=tools - -# The name of the package under test: -PACKAGE_NAME=binutils - -# The path of the test below the package: -RELATIVE_PATH=Sanity/435078-output-of-strings-0-n-is-incorrect - -# Version of the Test. Used with make tag. -export TESTVERSION=1.1 - -# The combined namespace of the test. -export TEST=/$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH) - - -# A phony target is one that is not really the name of a file. -# It is just a name for some commands to be executed when you -# make an explicit request. There are two reasons to use a -# phony target: to avoid a conflict with a file of the same -# name, and to improve performance. -.PHONY: all install download clean - -# executables to be built should be added here, they will be generated on the system under test. -BUILT_FILES= - -# data files, .c files, scripts anything needed to either compile the test and/or run it. -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x ./runtest.sh - -clean: - rm -f *~ *.rpm $(BUILT_FILES) - -# You may need to add other targets e.g. to build executables from source code -# Add them here: - - -# Include Common Makefile -include /usr/share/rhts/lib/rhts-make.include - -# Generate the testinfo.desc here: -$(METADATA): Makefile - @touch $(METADATA) -# Change to the test owner's name - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Description: The output of "strings -0 file" is in loop and "-n 0xA" cannot be correctly recognized">> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA) -# add any other packages for which your test ought to run here - @echo "Requires: $(PACKAGE_NAME)" >> $(METADATA) -# add any other requirements for the script to run here - -# You may need other fields here; see the documentation - rhts-lint $(METADATA) - diff --git a/tests/Regression/435078-output-of-strings-0-n-is-incorrect/PURPOSE b/tests/Regression/435078-output-of-strings-0-n-is-incorrect/PURPOSE deleted file mode 100644 index f2d0c6a..0000000 --- a/tests/Regression/435078-output-of-strings-0-n-is-incorrect/PURPOSE +++ /dev/null @@ -1,2 +0,0 @@ -Use "strings -0 file", the output will be in loop. -And "strings -n 0xA file" will report error as "invalid number 0xA" diff --git a/tests/Regression/435078-output-of-strings-0-n-is-incorrect/main.fmf b/tests/Regression/435078-output-of-strings-0-n-is-incorrect/main.fmf deleted file mode 100644 index 729ea47..0000000 --- a/tests/Regression/435078-output-of-strings-0-n-is-incorrect/main.fmf +++ /dev/null @@ -1,14 +0,0 @@ -summary: The output of strings -0 file is in loop and -n 0xA cannot be correctly recognized -description: | - Use "strings -0 file", the output will be in loop. - And "strings -n 0xA file" will report error as "invalid number 0xA" -contact: Michal Nowak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -duration: 5m -extra-summary: /tools/binutils/Sanity/435078-output-of-strings-0-n-is-incorrect -extra-task: /tools/binutils/Sanity/435078-output-of-strings-0-n-is-incorrect diff --git a/tests/Regression/435078-output-of-strings-0-n-is-incorrect/runtest.sh b/tests/Regression/435078-output-of-strings-0-n-is-incorrect/runtest.sh deleted file mode 100755 index 3541ea1..0000000 --- a/tests/Regression/435078-output-of-strings-0-n-is-incorrect/runtest.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -rlJournalStart - rlPhaseStartSetup Setup - rlAssertRpm $PACKAGE - rlShowPackageVersion $PACKAGE - rlShowRunningKernel - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlRun "echo -e \"asdjkhsd\nsdsdsdssd\n\nsdsd\n\" > tstfile" 0 "Generating test file tstfile" - rlPhaseEnd - - rlPhaseStartTest TestingOne - rlRun "strings -0 tstfile > errorfile 2>&1 &" - rlRun "sleep 5" - rlRun "jobs" - rlRun "kill -9 %1" 1 "strings in the loop" - rlAssertGrep "minim" errorfile - rlPhaseEnd - - rlPhaseStartTest TestingTwo - rlRun "strings -n 0xA tstfile" 0 "echo \"PASS: tstfile processed.\"" - rlPhaseEnd - - rlPhaseStartCleanup Cleanup - rlBundleLogs "binutils-outputs" errorfile tstfile - rlRun "popd" - rlRun "rm -r $TmpDir $rlRun_LOG" 0 "Removing tmp directory" - rlPhaseEnd - rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/480009-when-mistaking-argument-of-strings/Makefile b/tests/Regression/480009-when-mistaking-argument-of-strings/Makefile deleted file mode 100644 index 9594d7f..0000000 --- a/tests/Regression/480009-when-mistaking-argument-of-strings/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# Author: Michal Nowak - - -TOPLEVEL_NAMESPACE=/tools -PACKAGE_NAME=binutils -RELATIVE_PATH=Sanity/480009-when-mistaking-argument-of-strings - -export TEST=$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH) -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x ./runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - - -$(METADATA): Makefile - @touch $(METADATA) - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Description: When mistaking the argument of strings command , the same error message is output." >> $(METADATA) - @echo "Bug: 480009" >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA) - @echo "Requires: $(PACKAGE_NAME)" >> $(METADATA) - @echo "License: GPLv3+" >> $(METADATA) - @echo "Releases: -RHEL4 -RHEL5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/480009-when-mistaking-argument-of-strings/PURPOSE b/tests/Regression/480009-when-mistaking-argument-of-strings/PURPOSE deleted file mode 100644 index ee642a5..0000000 --- a/tests/Regression/480009-when-mistaking-argument-of-strings/PURPOSE +++ /dev/null @@ -1,27 +0,0 @@ -[RHEL5.2] -# strings -n file1 -strings: invalid integer argument file1 - -# strings --bytes file1 -strings: invalid integer argument file1 - -# strings -n 0 -strings: invalid number 0 - -# strings --bytes 0 -strings: invalid number 0 - - -[RHEL5.3] -# strings -n file1 -strings: invalid minimum string length 0 - -# strings --bytes file1 -strings: invalid minimum string length 0 - -# strings -n 0 -strings: invalid minimum string length 0 - -# strings --bytes 0 -strings: invalid minimum string length 0 - diff --git a/tests/Regression/480009-when-mistaking-argument-of-strings/main.fmf b/tests/Regression/480009-when-mistaking-argument-of-strings/main.fmf deleted file mode 100644 index e0fa3af..0000000 --- a/tests/Regression/480009-when-mistaking-argument-of-strings/main.fmf +++ /dev/null @@ -1,42 +0,0 @@ -summary: When mistaking the argument of strings command , the same error message is - output. -description: |+ - [RHEL5.2] - # strings -n file1 - strings: invalid integer argument file1 - - # strings --bytes file1 - strings: invalid integer argument file1 - - # strings -n 0 - strings: invalid number 0 - - # strings --bytes 0 - strings: invalid number 0 - - - [RHEL5.3] - # strings -n file1 - strings: invalid minimum string length 0 - - # strings --bytes file1 - strings: invalid minimum string length 0 - - # strings -n 0 - strings: invalid minimum string length 0 - - # strings --bytes 0 - strings: invalid minimum string length 0 - -contact: Michal Nowak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=480009 -extra-summary: /tools/binutils/Sanity/480009-when-mistaking-argument-of-strings -extra-task: /tools/binutils/Sanity/480009-when-mistaking-argument-of-strings diff --git a/tests/Regression/480009-when-mistaking-argument-of-strings/runtest.sh b/tests/Regression/480009-when-mistaking-argument-of-strings/runtest.sh deleted file mode 100755 index 993d256..0000000 --- a/tests/Regression/480009-when-mistaking-argument-of-strings/runtest.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# Author: Michal Nowak - -# source the test script helpers -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE=binutils - -rlJournalStart - rlPhaseStartSetup - rlShowPackageVersion $PACKAGE - rlShowRunningKernel - rlPhaseEnd - - rlPhaseStartTest "#1: strings -n file1" - rlRun "strings -n file1 2>&1 | grep 'invalid integer argument file1'" 0 "Produced expected error msg: 'strings: invalid integer argument file1'" - rlPhaseEnd - - rlPhaseStartTest "#2: strings --bytes file1" - rlRun "strings --bytes file1 2>&1 | grep 'invalid integer argument file1'" 0 "Produced expected error msg: 'strings: invalid integer argument file1'" - rlPhaseEnd - - rlPhaseStartTest "#3: strings -n 0" - rlRun "strings -n 0 2>&1 | grep 'minimum string length is too small: 0'" 0 "Produced expected error msg: 'minimum string length is too small: 0'" - rlPhaseEnd - - rlPhaseStartTest "#4: strings --bytes 0" - rlRun "strings --bytes 0 2>&1 | grep 'minimum string length is too small: 0'" 0 "Produced expected error msg: 'minimum string length is too small: 0'" - rlPhaseEnd - - rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/509124-holes-in-debuginfo/Makefile b/tests/Regression/509124-holes-in-debuginfo/Makefile deleted file mode 100644 index 29b1a87..0000000 --- a/tests/Regression/509124-holes-in-debuginfo/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regressions/readelf/509124-holes-in-debuginfo -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE ascend.C test.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x ./runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: holes in debuginfo" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 15m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils gcc44 gcc gcc44-c++ gcc-c++" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 509124 499164" >> $(METADATA) - @echo "Releases: -RHEL4 -RHEL5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/509124-holes-in-debuginfo/PURPOSE b/tests/Regression/509124-holes-in-debuginfo/PURPOSE deleted file mode 100644 index d4bba30..0000000 --- a/tests/Regression/509124-holes-in-debuginfo/PURPOSE +++ /dev/null @@ -1,14 +0,0 @@ -(1) readelf fix now posted upstream: - http://sourceware.org/ml/binutils/2009-07/msg00123.html -QA: New testcase: binutils-all/testranges.s - -(2) gcc has been fixed based on this bugreport by Jakub upstream: - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40713 - gcc44 backport request for RHEL-5.5 is: Bug 510958 - -(3) Going to be backported for RHEL-5.5 readelf. - It has been already fixed by Nick Clifton upstream: - http://sourceware.org/ml/binutils/2009-06/msg00418.html - http://sourceware.org/ml/binutils-cvs/2009-06/msg00158.html -QA: RHEL-only new testcase: binutils-all/testloc.S - as a part of binutils-all/readelf.exp (not shown when PASSing) diff --git a/tests/Regression/509124-holes-in-debuginfo/ascend.C b/tests/Regression/509124-holes-in-debuginfo/ascend.C deleted file mode 100755 index 917937f..0000000 --- a/tests/Regression/509124-holes-in-debuginfo/ascend.C +++ /dev/null @@ -1,15 +0,0 @@ -class A { -public: - A(); - void f(){} -}; - -class C { - C(); -}; - -C::C() { - A* p = new A; - p->f(); -} - diff --git a/tests/Regression/509124-holes-in-debuginfo/main.fmf b/tests/Regression/509124-holes-in-debuginfo/main.fmf deleted file mode 100644 index 07430bd..0000000 --- a/tests/Regression/509124-holes-in-debuginfo/main.fmf +++ /dev/null @@ -1,25 +0,0 @@ -summary: holes in debuginfo -description: "(1) readelf fix now posted upstream:\n http://sourceware.org/ml/binutils/2009-07/msg00123.html\n\ - QA: New testcase: binutils-all/testranges.s\n\n(2) gcc has been fixed based on\ - \ this bugreport by Jakub upstream:\n http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40713\n\ - \ gcc44 backport request for RHEL-5.5 is: Bug 510958\n\n(3) Going to be backported\ - \ for RHEL-5.5 readelf.\n It has been already fixed by Nick Clifton upstream:\n\ - \ http://sourceware.org/ml/binutils/2009-06/msg00418.html\n http://sourceware.org/ml/binutils-cvs/2009-06/msg00158.html\n\ - QA: RHEL-only new testcase: binutils-all/testloc.S\n as a part of binutils-all/readelf.exp\ - \ (not shown when PASSing) \n" -contact: Michal Nowak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc44 -- gcc -- gcc44-c++ -- gcc-c++ -duration: 15m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=509124 -extra-summary: /tools/binutils/Regressions/readelf/509124-holes-in-debuginfo -extra-task: /tools/binutils/Regressions/readelf/509124-holes-in-debuginfo diff --git a/tests/Regression/509124-holes-in-debuginfo/runtest.sh b/tests/Regression/509124-holes-in-debuginfo/runtest.sh deleted file mode 100755 index 2e8ad28..0000000 --- a/tests/Regression/509124-holes-in-debuginfo/runtest.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Author: Michal Nowak -# -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -rlJournalStart - rlPhaseStartSetup Setup - rlAssertRpm $PACKAGE - rlShowPackageVersion $PACKAGE - rlShowRunningKernel - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - cp ascend.C test.c $TmpDir - rlRun "pushd $TmpDir" - rlPhaseEnd - - for gcc in $( ls /usr/bin/gcc{,44} 2> /dev/null ); do - for opt in s $( seq 0 3 ); do - rlPhaseStartTest "ascend.C: gcc=$gcc opt=$opt" - rlRun "$gcc -O${opt} ascend.C -c -g" - rlAssertExists "ascend.o" - # kinda weird running readelf on .o file, but... - rlRun "readelf -a -w -W ./ascend.o > /dev/less 2> readelf.errout.g++" 0 "[gcc] Generating readelf output" - rlLog "$( cat readelf.errout.g++ )" - rlAssertNotGrep "readelf" readelf.errout.g++ - rm -f ./ascend.o - rlPhaseEnd - done - done - - for gcc in $( ls /usr/bin/gcc{,44} 2> /dev/null ); do - for opt in s $( seq 0 3 ); do - rlPhaseStartTest "test.c: gcc=$gcc opt=$opt" - rlRun "$gcc -O${opt} test.c -c -g" - rlAssertExists "test.o" - # kinda weird running readelf on .o file, but... - rlRun "readelf -a -w -W ./test.o > /dev/less 2> readelf.errout.g++" 0 "[gcc] Generating readelf output" - rlLog "$( cat readelf.errout.g++ )" - rlAssertNotGrep "readelf" readelf.errout.g++ - rm -f ./test.o - rlPhaseEnd - done - done - - rlPhaseStartCleanup Cleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd - rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/509124-holes-in-debuginfo/test.c b/tests/Regression/509124-holes-in-debuginfo/test.c deleted file mode 100644 index 57b8e7e..0000000 --- a/tests/Regression/509124-holes-in-debuginfo/test.c +++ /dev/null @@ -1,14 +0,0 @@ -void f(int i) { - k(i); -} - -void g(int i) { - int j[65537]; - l(i,j); -} - -struct s { - void (*m)(int i); - void (*n)(int i); -} t={f,g}; - diff --git a/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/Makefile b/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/Makefile deleted file mode 100644 index 09d7dee..0000000 --- a/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regressions/ld/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE bar.c foo.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x ./runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: ld fails to merge different visibility for the same symbol in distinct object files" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils binutils220" >> $(METADATA) - @echo "Requires: binutils binutils220 gcc44 gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 531269" >> $(METADATA) - @echo "Architectures: i386 x86_64" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/PURPOSE b/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/PURPOSE deleted file mode 100644 index e69de29..0000000 diff --git a/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/bar.c b/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/bar.c deleted file mode 100644 index d74dcd5..0000000 --- a/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/bar.c +++ /dev/null @@ -1,19 +0,0 @@ -int foo __attribute__ ((section (".gnu.linkonce.d.1"), - visibility ("hidden"))) = 1; -int -__attribute__ ((section (".gnu.linkonce.t.1"), visibility ("hidden"))) -bar () -{ - return 1; -} -int -get_foo () -{ - return foo; -} -int -get_bar () -{ - return bar (); -} - diff --git a/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/foo.c b/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/foo.c deleted file mode 100644 index 7834bd4..0000000 --- a/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/foo.c +++ /dev/null @@ -1,7 +0,0 @@ -int foo __attribute__ ((section (".gnu.linkonce.d.1"))) = 1; -int -__attribute__ ((section (".gnu.linkonce.t.1"))) -bar () -{ - return 1; -} diff --git a/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/main.fmf b/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/main.fmf deleted file mode 100644 index d0fb32f..0000000 --- a/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/main.fmf +++ /dev/null @@ -1,19 +0,0 @@ -summary: ld fails to merge different visibility for the same symbol in distinct object - files -description: '' -contact: Michal Nowak -component: -- binutils -- binutils220 -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- binutils220 -- gcc44 -- gcc -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=531269 -extra-summary: /tools/binutils/Regressions/ld/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol -extra-task: /tools/binutils/Regressions/ld/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol diff --git a/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/runtest.sh b/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/runtest.sh deleted file mode 100755 index e89c252..0000000 --- a/tests/Regression/531269-ld-fails-to-merge-different-visibility-for-the-same-symbol/runtest.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Author: Michal Nowak -# -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -# Choose the compiler. -GCC=${GCC:-gcc} - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlShowPackageVersion $PACKAGE - rlShowRunningKernel - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - cp foo.c bar.c $TmpDir - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest "gcc=$GCC Testing" - rlRun "$GCC -fPIC -c -o foo.o foo.c" 0 "Compile foo.c => foo.o" - rlRun "$GCC -fPIC -c -o bar.o bar.c" 0 "Compile bar.c => bar.o" - rlRun "ld -shared -o foobar.so foo.o bar.o" 0 "Link foo.o & bar.o => foobar.so" - rlAssertExists foobar.so - rm foobar.so foo.o bar.o - rlPhaseEnd - - rlPhaseStartCleanup Cleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd - rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/RELRO-protection-effective/Makefile b/tests/Regression/RELRO-protection-effective/Makefile deleted file mode 100644 index b7e7b7e..0000000 --- a/tests/Regression/RELRO-protection-effective/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/RELRO-protection-effective -# Description: bz1174826 -# Author: Martin Cermak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2014 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/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/RELRO-protection-effective -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Martin Cermak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: bz1174826" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1174826" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/RELRO-protection-effective/PURPOSE b/tests/Regression/RELRO-protection-effective/PURPOSE deleted file mode 100644 index b10fb9c..0000000 --- a/tests/Regression/RELRO-protection-effective/PURPOSE +++ /dev/null @@ -1,34 +0,0 @@ -PURPOSE of /tools/binutils/Regression/RELRO-protection-effective -Description: bz1174826 -Author: Martin Cermak -Bug summary: RELRO is not read-only on PowerLE -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1174826 - -/* - * Test to exercise PIE and RELRO provided by Roland McGrath . - * - * Description: - * Simple test for RELRO, which happens to be a PIE too, but that's only - * because this kind of example has to be in PIC code to make RELRO relevant, - * and PIE makes it simpler to write a standalone one-file test than writing - * a DSO. - * - * The "const" makes "foo" .rodata material, and the init to an external symbol - * reference makes it require a data relocation. Enabling -z relro for this - * link puts that .rodata into a RELRO area. This program will crash because - * the page containing "foo" has been made read-only when "main" runs. - * Without RELRO, it would let you modify "foo" even though it's supposed to - * be const. - * - * Test with RELRO should fail: - * $ gcc -pie -fPIE -g -Wl,-z,relro -o relro relro.c - * $ ./relro - * Segmentation fault (core dumped) - * - * Test without RELRO should pass: - * $ gcc -pie -fPIE -g -Wl,-z,norelro -o no-relro relro.c - * $ ./no-relro - * -**/ - - diff --git a/tests/Regression/RELRO-protection-effective/main.fmf b/tests/Regression/RELRO-protection-effective/main.fmf deleted file mode 100644 index afa66f5..0000000 --- a/tests/Regression/RELRO-protection-effective/main.fmf +++ /dev/null @@ -1,43 +0,0 @@ -summary: bz1174826 -description: "Bug summary: RELRO is not read-only on PowerLE\nBugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1174826\n\ - \n/* \ - \ \n * Test to exercise PIE and RELRO provided by Roland McGrath .\n\ - \ * \ - \ \n * Description: \ - \ \n * Simple test for RELRO, which happens to be a PIE too,\ - \ but that's only \n * because this kind of example has to be in PIC\ - \ code to make RELRO relevant, \n * and PIE makes it simpler to write a standalone\ - \ one-file test than writing \n * a DSO. \ - \ \n * \ - \ \n * The \"const\" makes \"\ - foo\" .rodata material, and the init to an external symbol\n * reference makes\ - \ it require a data relocation. Enabling -z relro for this \n * link puts\ - \ that .rodata into a RELRO area. This program will crash because \n * the\ - \ page containing \"foo\" has been made read-only when \"main\" runs. \ - \ \n * Without RELRO, it would let you modify \"foo\" even though it's supposed\ - \ to \n * be const. \ - \ \n * \ - \ \n * Test with RELRO should fail: \ - \ \n * $ gcc -pie -fPIE -g -Wl,-z,relro -o relro\ - \ relro.c \n * $ ./relro \ - \ \n * Segmentation fault (core\ - \ dumped) \n * \ - \ \n * Test without\ - \ RELRO should pass: \n * $\ - \ gcc -pie -fPIE -g -Wl,-z,norelro -o no-relro relro.c \ - \ \n * $ ./no-relro \ - \ \n * \ - \ \n**/\n\n\n" -contact: Martin Cermak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1174826 -extra-summary: /tools/binutils/Regression/RELRO-protection-effective -extra-task: /tools/binutils/Regression/RELRO-protection-effective diff --git a/tests/Regression/RELRO-protection-effective/runtest.sh b/tests/Regression/RELRO-protection-effective/runtest.sh deleted file mode 100755 index cbfab38..0000000 --- a/tests/Regression/RELRO-protection-effective/runtest.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/RELRO-protection-effective -# Description: bz1174826 -# Author: Martin Cermak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2014 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - touch /tmp/disable-qe-abrt - rlRun "TMPD=\$(mktemp -d)" - rlRun "pushd $TMPD" - cat > relro.c <<-EOF -#include - -void *const foo = &stdout; - -int main (void) -{ - *(void **) &foo = &stderr; - return 0; -} -EOF - rlRun "gcc -pie -fPIE -g -Wl,-z,relro -o relro relro.c" - rlRun "gcc -pie -fPIE -g -Wl,-z,norelro -o no-relro relro.c" - rlPhaseEnd - - rlPhaseStartTest - rlRun "./relro" 139 - rlRun "./no-relro" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TMPD" - rm -f /tmp/disable-qe-abrt - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/Makefile b/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/Makefile deleted file mode 100644 index ce2f5e9..0000000 --- a/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot -# Description: Test for BZ#1080077 ([RFE] - Please configure ld.bfd to allow --sysroot) -# Author: Martin Cermak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2014 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/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Martin Cermak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1080077 ([RFE] - Please configure ld.bfd to allow --sysroot)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1080077" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/PURPOSE b/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/PURPOSE deleted file mode 100644 index d481738..0000000 --- a/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot -Description: Test for BZ#1080077 ([RFE] - Please configure ld.bfd to allow --sysroot) -Author: Martin Cermak -Bug summary: [RFE] - Please configure ld.bfd to allow --sysroot -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1080077 diff --git a/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/main.fmf b/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/main.fmf deleted file mode 100644 index 186bfaf..0000000 --- a/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/main.fmf +++ /dev/null @@ -1,16 +0,0 @@ -summary: Test for BZ#1080077 ([RFE] - Please configure ld.bfd to allow --sysroot) -description: | - Bug summary: [RFE] - Please configure ld.bfd to allow --sysroot - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1080077 -contact: Martin Cermak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1080077 -extra-summary: /tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot -extra-task: /tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot diff --git a/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/runtest.sh b/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/runtest.sh deleted file mode 100755 index 4e15016..0000000 --- a/tests/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot/runtest.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1080077-RFE-Please-configure-ld-bfd-to-allow-sysroot -# Description: Test for BZ#1080077 ([RFE] - Please configure ld.bfd to allow --sysroot) -# Author: Martin Cermak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2014 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 - -rlJournalStart - rlPhaseStartTest - LD_BDF=$(which ld.bfd) - RPM=$(rpm -qf $LD_BDF) - rlLogInfo "ld.bfd is $LD_BDF of $RPM" - rlRun "ld.bfd --sysroot=/tmp |& grep 'not configured to use sysroots'" 1 - rlRun "ld.bfd --sysroot=/tmp |& grep 'no input files'" - rlPhaseEnd -rlJournalEnd diff --git a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/Makefile b/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/Makefile deleted file mode 100644 index 143166a..0000000 --- a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED -# Description: Test for BZ#1117458 (ld from devtoolset copies SONAME to DT_NEEDED) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE libtest.tar.gz - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1117458 (ld from devtoolset copies SONAME to DT_NEEDED)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Requires: devtoolset-3.0-tools-devtoolset-3.0-Install-latest" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1117458" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/PURPOSE b/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/PURPOSE deleted file mode 100644 index af35360..0000000 --- a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED -Description: Test for BZ#1117458 (ld from devtoolset copies SONAME to DT_NEEDED) -Author: Milos Prchlik -Bug summary: ld from devtoolset copies SONAME to DT_NEEDED without checking if it’s empty -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1117458 diff --git a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/libfoo.c b/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/libfoo.c deleted file mode 100644 index 7eabd2e..0000000 --- a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/libfoo.c +++ /dev/null @@ -1,3 +0,0 @@ -int foo(void) { - return 10; -} diff --git a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/main.fmf b/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/main.fmf deleted file mode 100644 index 4595cb9..0000000 --- a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/main.fmf +++ /dev/null @@ -1,17 +0,0 @@ -summary: Test for BZ#1117458 (ld from devtoolset copies SONAME to DT_NEEDED) -description: | - Bug summary: ld from devtoolset copies SONAME to DT_NEEDED without checking if it’s empty - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1117458 -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1117458 -extra-summary: /tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED -extra-task: /tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED diff --git a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/runtest.sh b/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/runtest.sh deleted file mode 100755 index d099989..0000000 --- a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/runtest.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED -# Description: Test for BZ#1117458 (ld from devtoolset copies SONAME to DT_NEEDED) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -PACKAGE="binutils" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp user.c libfoo.c $TmpDir/" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gcc -fPIC -g -c libfoo.c" - rlAssertExists "libfoo.o" - rlRun "gcc -shared -Wl,-soname, -o libfoo.so -lc libfoo.o 2>&1 | tee out" 0 - rlAssertExists "libfoo.so" - rlLogInfo "gcc output:" - 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 - rlLogInfo "SONAME='$(cat soname)'" - rlFail "Detected SONAME is empty" - fi - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" # $TmpDir - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/user.c b/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/user.c deleted file mode 100644 index e433023..0000000 --- a/tests/Regression/bz1117458-ld-from-devtoolset-copies-SONAME-to-DT-NEEDED/user.c +++ /dev/null @@ -1,9 +0,0 @@ -#include - -extern int foo(void); - -int main(void) { - int a = foo(); - printf("a is %d\n", a); - return 0; -} diff --git a/tests/Regression/bz1172766-ppc64-segv-in-libbfd/Makefile b/tests/Regression/bz1172766-ppc64-segv-in-libbfd/Makefile deleted file mode 100644 index 0aecbf6..0000000 --- a/tests/Regression/bz1172766-ppc64-segv-in-libbfd/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd -# Description: Test for BZ#1172766 (ppc64 segv in libbfd) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1172766 (ppc64 segv in libbfd)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 30m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils kernel-debuginfo xz" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1172766" >> $(METADATA) - @echo "Releases: RHEL7" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1172766-ppc64-segv-in-libbfd/PURPOSE b/tests/Regression/bz1172766-ppc64-segv-in-libbfd/PURPOSE deleted file mode 100644 index a49520b..0000000 --- a/tests/Regression/bz1172766-ppc64-segv-in-libbfd/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd -Description: Test for BZ#1172766 (ppc64 segv in libbfd) -Author: Milos Prchlik -Bug summary: ppc64: segv in libbfd -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1172766 diff --git a/tests/Regression/bz1172766-ppc64-segv-in-libbfd/main.fmf b/tests/Regression/bz1172766-ppc64-segv-in-libbfd/main.fmf deleted file mode 100644 index f515a45..0000000 --- a/tests/Regression/bz1172766-ppc64-segv-in-libbfd/main.fmf +++ /dev/null @@ -1,20 +0,0 @@ -summary: Test for BZ#1172766 (ppc64 segv in libbfd) -description: | - Bug summary: ppc64: segv in libbfd - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1172766 -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- elfutils -- koji -- kernel-debuginfo -- xz -duration: 30m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1172766 -extra-summary: /tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd -extra-task: /tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd diff --git a/tests/Regression/bz1172766-ppc64-segv-in-libbfd/runtest.sh b/tests/Regression/bz1172766-ppc64-segv-in-libbfd/runtest.sh deleted file mode 100755 index 5902d79..0000000 --- a/tests/Regression/bz1172766-ppc64-segv-in-libbfd/runtest.sh +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1172766-ppc64-segv-in-libbfd -# Description: Test for BZ#1172766 (ppc64 segv in libbfd) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -PACKAGES="binutils" -REQUIRES="${REQUIRES:-kernel-debuginfo}" - -__have_kernel_debuginfo () { - local RELEASE ARCH TEMPDIR - rlRun "RELEASE=$(uname -r)" - rlRun "ARCH=$(uname -m)" - if ! rpm -q kernel-debuginfo-$RELEASE &>/dev/null; then - rlLogInfo 'kernel-debuginfo not present, trying to install it' - rlRun "TEMPDIR=$(mktemp -d -p $HOME)" # $HOME to avoid "small" tmpfs - rlRun "pushd '$TEMPDIR'" - rlRun "koji download-build -q --debuginfo kernel-$RELEASE --arch $ARCH" - rlRun "dnf -y install ./kernel-debuginfo-*.rpm" - rlRun 'popd' - rlRun "rm -rf '$TEMPDIR'" - fi - rlAssertRpm kernel-debuginfo-$RELEASE -} - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "KERNEL=$(uname -a)" - - __have_kernel_debuginfo - - rlAssertRpm --all - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - - rlRun "KERNEL_RELEASE=$(uname -r)" - rlRun "KMOD=/usr/lib/modules/$KERNEL_RELEASE/kernel/fs/nfsd/nfsd.ko" - rlRun "KMOD_XZ=$KMOD.xz" - rlRun "KMOD_DEBUG=/usr/lib/debug/$KMOD.debug" - rlAssertExists "$KMOD_DEBUG" - rlAssertExists "$KMOD_XZ" - [[ -e "$KMOD" ]] || rlRun "unxz -k $KMOD_XZ" - rlAssertExists "$KMOD" - rlPhaseEnd - - rlPhaseStartTest - rlRun "eu-unstrip $KMOD $KMOD_DEBUG --output=$TmpDir/unstripped.ko" - rlRun "objdump -drS $TmpDir/unstripped.ko &> /dev/null" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/Makefile b/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/Makefile deleted file mode 100644 index d572682..0000000 --- a/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat -# Description: Test for BZ#1226864 (ld crashes on ppc64 when being used with --oformat) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE ldtest.S - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1226864 (ld crashes on ppc64 when being used with --oformat)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 15m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1226864" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - @echo "Architectures: x86_64 ppc64 ppc64le s390x" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/PURPOSE b/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/PURPOSE deleted file mode 100644 index 1b13a9a..0000000 --- a/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat -Description: Test for BZ#1226864 (ld crashes on ppc64 when being used with --oformat) -Author: Milos Prchlik -Bug summary: ld crashes on ppc64 when being used with --oformat binary -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1226864 diff --git a/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/ldtest.S b/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/ldtest.S deleted file mode 100644 index 85ac2a3..0000000 --- a/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/ldtest.S +++ /dev/null @@ -1,3 +0,0 @@ -.org 0x100 - nop - diff --git a/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/main.fmf b/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/main.fmf deleted file mode 100644 index 9b30581..0000000 --- a/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/main.fmf +++ /dev/null @@ -1,17 +0,0 @@ -summary: Test for BZ#1226864 (ld crashes on ppc64 when being used with --oformat) -description: | - Bug summary: ld crashes on ppc64 when being used with --oformat binary - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1226864 -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -duration: 15m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=1226864 -extra-summary: /tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat -extra-task: /tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat diff --git a/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/runtest.sh b/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/runtest.sh deleted file mode 100755 index 6112e04..0000000 --- a/tests/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat/runtest.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1226864-ld-crashes-on-ppc64-when-being-used-with-oformat -# Description: Test for BZ#1226864 (ld crashes on ppc64 when being used with --oformat) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -LD="${LD:-$(which ld)}" -GCC="${GCC:-$(which gcc)}" -PACKAGE=$(rpm --qf '%{name}\n' -qf $(which $LD) | head -1) -REQUIRES="${REQUIRES:-$(rpm --qf '%{name}\n' -qf $(which $GCC) | head -1)}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "GCC=$GCC" - rlLogInfo "LD=$LD" - - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp ldtest.S $TmpDir/" - rlRun "pushd $TmpDir" - rlRun "gcc -c -o ldtest.o ldtest.S" - rlPhaseEnd - - rlPhaseStartTest - rlRun "ld --oformat=binary -o ldtest.bin ldtest.o" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/Makefile b/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/Makefile deleted file mode 100644 index cd780e6..0000000 --- a/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit -# Description: Test for BZ#1243559 ([aarch64][binutils] relocation truncated to fit) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2016 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE reproducer.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1243559 ([aarch64][binutils] relocation truncated to fit)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 15m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1243559" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/PURPOSE b/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/PURPOSE deleted file mode 100644 index 1092c5d..0000000 --- a/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit -Description: Test for BZ#1243559 ([aarch64][binutils] relocation truncated to fit) -Author: Milos Prchlik -Bug summary: [aarch64][binutils] relocation truncated to fit: R_AARCH64_CALL26 (veneers not inserted) -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1243559 diff --git a/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/main.fmf b/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/main.fmf deleted file mode 100644 index 9667a9a..0000000 --- a/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/main.fmf +++ /dev/null @@ -1,15 +0,0 @@ -summary: Test for BZ#1243559 ([aarch64][binutils] relocation truncated to fit) -description: | - Bug summary: [aarch64][binutils] relocation truncated to fit: R_AARCH64_CALL26 (veneers not inserted) - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1243559 -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -duration: 15m -extra-summary: /tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit -extra-task: /tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit diff --git a/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/reproducer.c b/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/reproducer.c deleted file mode 100644 index cd3c523..0000000 --- a/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/reproducer.c +++ /dev/null @@ -1,2 +0,0 @@ -void foo (); -int main () {foo();} diff --git a/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/runtest.sh b/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/runtest.sh deleted file mode 100755 index 722c96b..0000000 --- a/tests/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit/runtest.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1243559-aarch64-binutils-relocation-truncated-to-fit -# Description: Test for BZ#1243559 ([aarch64][binutils] relocation truncated to fit) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2016 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" -PACKAGES="${PACKAGES:-binutils}" -REQUIRES="${REQUIRES:-}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp reproducer.c $TmpDir/" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gcc -Wl,--defsym=foo=0x80000000 -o reproducer reproducer.c" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/Makefile b/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/Makefile deleted file mode 100644 index ad0bba3..0000000 --- a/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto -# Description: Test for BZ#1248929 (ar SEGFAULT when creating static library with lto) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE a.cpp - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1248929 (ar SEGFAULT when creating static library with lto)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 15m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1248929" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - @echo "Architectures: x86_64" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/PURPOSE b/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/PURPOSE deleted file mode 100644 index 8e91477..0000000 --- a/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/PURPOSE +++ /dev/null @@ -1,8 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto -Description: Test for BZ#1248929 (ar SEGFAULT when creating static library with lto) -Author: Milos Prchlik -Bug summary: ar SEGFAULT when creating static library with lto -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1248929 - -Relevancy: -collection = devtoolset-4: PACKAGES=devtoolset-4-binutils REQUIRES=devtoolset-4-gcc diff --git a/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/a.cpp b/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/a.cpp deleted file mode 100755 index dc6f974..0000000 --- a/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/a.cpp +++ /dev/null @@ -1,4 +0,0 @@ -int f() -{ -return 0; -} diff --git a/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/main.fmf b/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/main.fmf deleted file mode 100644 index e231ede..0000000 --- a/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/main.fmf +++ /dev/null @@ -1,19 +0,0 @@ -summary: Test for BZ#1248929 (ar SEGFAULT when creating static library with lto) -description: | - Bug summary: ar SEGFAULT when creating static library with lto - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1248929 - - Relevancy: - collection = devtoolset-4: PACKAGES=devtoolset-4-binutils REQUIRES=devtoolset-4-gcc -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -- gcc-c++ -duration: 15m -extra-summary: /tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto -extra-task: /tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto diff --git a/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/runtest.sh b/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/runtest.sh deleted file mode 100755 index 3f36251..0000000 --- a/tests/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto/runtest.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1248929-ar-SEGFAULT-when-creating-static-library-with-lto -# Description: Test for BZ#1248929 (ar SEGFAULT when creating static library with lto) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -AR="${AR:-$(which ar)}" -GPP="${GPP:-$(which g++)}" -PACKAGES="${PACKAGES:-$(rpm --qf '%{name}\n' -qf $(which $AR) | head -1)}" -REQUIRES="${REQUIRES:-$(rpm --qf '%{name}\n' -qf $(which $GPP) | head -1)}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "AR=$AR" - rlLogInfo "GPP=$GPP" - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp a.cpp $TmpDir/" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "g++ -march=native -O3 -flto -c a.cpp" - rlRun "gcc-ar cq a.a a.o" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/Makefile b/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/Makefile deleted file mode 100644 index fe97327..0000000 --- a/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow -# Description: Test for BZ#1311352 (objdump -S disassembly code doesn't follow) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2016 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1311352 (objdump -S disassembly code doesn't follow)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 15m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils strace nscd glibc-debuginfo" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1311352" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/PURPOSE b/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/PURPOSE deleted file mode 100644 index 0f68bfa..0000000 --- a/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow -Description: Test for BZ#1311352 (objdump -S disassembly code doesn't follow) -Author: Milos Prchlik -Bug summary: objdump -S disassembly code doesn't follow /usr/lib/debug/.... conventions, so can't find sources -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1311352 diff --git a/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/main.fmf b/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/main.fmf deleted file mode 100644 index db83711..0000000 --- a/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/main.fmf +++ /dev/null @@ -1,16 +0,0 @@ -summary: Test for BZ#1311352 (objdump -S disassembly code doesn't follow) -description: | - Bug summary: objdump -S disassembly code doesn't follow /usr/lib/debug/.... conventions, so can't find sources - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1311352 -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- strace -- coreutils -duration: 15m -extra-summary: /tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow -extra-task: /tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow diff --git a/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/runtest.sh b/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/runtest.sh deleted file mode 100755 index fb20d7d..0000000 --- a/tests/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow/runtest.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1311352-objdump-S-disassembly-code-doesn-t-follow -# Description: Test for BZ#1311352 (objdump -S disassembly code doesn't follow) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2016 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -OBJDUMP="${OBJDUMP:-$(which objdump)}" -PACKAGES="${PACKAGES:-$(rpm --qf '%{name}\n' -qf $(which $OBJDUMP) | head -1)}" -REQUIRES="${REQUIRES:-}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "OBJDUMP=$OBJDUMP" - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - rlRun "ARCH=$(arch)" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - for i in glibc coreutils; do - rpm -q ${i}-debuginfo.${ARCH} &>/dev/null || rlRun "debuginfo-install -y ${i}.${ARCH}" - done - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "strace -e trace=open,openat -o strace.out $OBJDUMP -drS /usr/bin/ls &> out" - rlRun "grep '/usr/lib/debug' strace.out" - - # Check whether objdump output contains source code snippets. - # ls sources can change in time, but it's likely there always - # will be at least one "int i;". - rlRun "grep 'int i' out > /dev/null" 0 "Checking for source code snippets in objdump output" - - rlLogInfo "$(head -n20 out)" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/Makefile b/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/Makefile deleted file mode 100644 index 4d8708b..0000000 --- a/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains -# Description: Test for BZ#1366145 (dwz applied to a dts-compiled binary complains) -# Author: Sergey Kolosov -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2016 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains -export TESTVERSION=1.1 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Sergey Kolosov " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1366145 (dwz applied to a dts-compiled binary complains)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 2h" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils dwz gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1366145" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/PURPOSE b/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/PURPOSE deleted file mode 100644 index 0d002e4..0000000 --- a/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/PURPOSE +++ /dev/null @@ -1,18 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains -Description: Test for BZ#1366145 (dwz applied to a dts-compiled binary complains) -Author: Sergey Kolosov -Bug summary: dwz applied to a dts-compiled binary complains about section offsets not monotonically increasing -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1366145 - -Needs a bit more complicated relevancy settings. DWZ is not available in RHEL-6 - unless -you have DTS installed, then you can use (and test) dwz from devtoolset-N-dwz package. - -# First two lines result in "True" when (RHEL6 && DTS). -distro = rhel-6 && collection = devtoolset-6: REQUIRES="devtoolset-6-gcc devtoolset-6-dwz" -distro = rhel-6 && collection = devtoolset-4: REQUIRES="devtoolset-4-gcc devtoolset-4-dwz" - -# No DTS? No dwz then. -distro = rhel-6: False - -# Only RHEL7 remains, and default REQUIRES is good enough for logging. Drop every other distro. -distro != rhel-7: False diff --git a/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/main.fmf b/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/main.fmf deleted file mode 100644 index 67efe30..0000000 --- a/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/main.fmf +++ /dev/null @@ -1,29 +0,0 @@ -summary: Test for BZ#1366145 (dwz applied to a dts-compiled binary complains) -description: | - Bug summary: dwz applied to a dts-compiled binary complains about section offsets not monotonically increasing - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1366145 - - Needs a bit more complicated relevancy settings. DWZ is not available in RHEL-6 - unless - you have DTS installed, then you can use (and test) dwz from devtoolset-N-dwz package. - - # First two lines result in "True" when (RHEL6 && DTS). - distro = rhel-6 && collection = devtoolset-6: REQUIRES="devtoolset-6-gcc devtoolset-6-dwz" - distro = rhel-6 && collection = devtoolset-4: REQUIRES="devtoolset-4-gcc devtoolset-4-dwz" - - # No DTS? No dwz then. - distro = rhel-6: False - - # Only RHEL7 remains, and default REQUIRES is good enough for logging. Drop every other distro. - distro != rhel-7: False -contact: Sergey Kolosov -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- dwz -- gcc -duration: 2h -extra-summary: /tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains -extra-task: /tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains diff --git a/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/runtest.sh b/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/runtest.sh deleted file mode 100755 index 737fefb..0000000 --- a/tests/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains/runtest.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1366145-dwz-applied-to-a-dts-compiled-binary-complains -# Description: Test for BZ#1366145 (dwz applied to a dts-compiled binary complains) -# Author: Sergey Kolosov -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2016 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -LD="${LD:-$(which ld)}" -PACKAGE=$(rpm --qf '%{name}\n' -qf $(which $LD) | head -1) -PACKAGES=${PACKAGE} -REQUIRES="${REQUIRES:-gcc dwz}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "LD=$LD" - rlLogInfo "$(type gcc)" - rlAssertRpm --all - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "echo 'int main(void){return 0;}' > test.c" 0 "Generating simple source" - rlRun "gcc test.c -g -o test" - rlRun "md5sum ./test > t_before_dwz" - rlRun "./test" 0 "Test binary is running" - rlRun "dwz ./test" 0 "DWZ returns correct result" - rlRun "md5sum ./test > t_after_dwz" - rlAssertDiffer t_before_dwz t_after_dwz - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/Makefile b/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/Makefile deleted file mode 100644 index 20f28a1..0000000 --- a/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /CoreOS/binutils/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries -# Description: Test for BZ#1406430 (binutils ld silently produces broken PIE binaries) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/CoreOS/binutils/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE pie.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1406430 (binutils ld silently produces broken PIE binaries)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 15m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1406430" >> $(METADATA) - @echo "Releases: RHEL7" >> $(METADATA) - @echo "Architectures: s390x" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/PURPOSE b/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/PURPOSE deleted file mode 100644 index 60b874e..0000000 --- a/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /CoreOS/binutils/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries -Description: Test for BZ#1406430 (binutils ld silently produces broken PIE binaries) -Author: Milos Prchlik -Bug summary: binutils: ld silently produces broken PIE binaries when linking non-PIC objects -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1406430 diff --git a/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/main.fmf b/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/main.fmf deleted file mode 100644 index b55d994..0000000 --- a/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/main.fmf +++ /dev/null @@ -1,15 +0,0 @@ -summary: Test for BZ#1406430 (binutils ld silently produces broken PIE binaries) -description: | - Bug summary: binutils: ld silently produces broken PIE binaries when linking non-PIC objects - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1406430 -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -duration: 15m -extra-summary: /CoreOS/binutils/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries -extra-task: /CoreOS/binutils/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries diff --git a/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/pie.c b/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/pie.c deleted file mode 100644 index 3eb3ff3..0000000 --- a/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/pie.c +++ /dev/null @@ -1,5 +0,0 @@ -int -main (int argc, char **argv) -{ - return strcmp (argv[0], "string") == 0; -} diff --git a/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/runtest.sh b/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/runtest.sh deleted file mode 100755 index 30b9798..0000000 --- a/tests/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries/runtest.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /CoreOS/binutils/Regression/bz1406430-binutils-ld-silently-produces-broken-PIE-binaries -# Description: Test for BZ#1406430 (binutils ld silently produces broken PIE binaries) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -LD="${LD:-$(which ld)}" -PACKAGE=$(rpm --qf '%{name}\n' -qf $(which $LD) | head -1) -PACKAGES=${PACKAGE} -REQUIRES="${REQUIRES:-gcc}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "LD=$LD" - rlLogInfo "$(type gcc)" - rlAssertRpm --all - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp pie.c $TmpDir/" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gcc -c pie.c" - rlRun "gcc -pie -o pie pie.o" 1 - rlAssertNotExists "pie" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/Makefile b/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/Makefile deleted file mode 100644 index 7f19da3..0000000 --- a/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /CoreOS/binutils/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized -# Description: Test for BZ#1433075 (Rust TLS accesses are badly initialized) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2017 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/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/CoreOS/binutils/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE repr.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1433075 (Rust TLS accesses are badly initialized)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 15m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1433075" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - @echo "Architectures: i386" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/PURPOSE b/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/PURPOSE deleted file mode 100644 index ef8f696..0000000 --- a/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /CoreOS/binutils/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized -Description: Test for BZ#1433075 (Rust TLS accesses are badly initialized) -Author: Milos Prchlik -Bug summary: Rust TLS accesses are badly initialized -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1433075 diff --git a/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/main.fmf b/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/main.fmf deleted file mode 100644 index d200524..0000000 --- a/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/main.fmf +++ /dev/null @@ -1,14 +0,0 @@ -summary: Test for BZ#1433075 (Rust TLS accesses are badly initialized) -description: | - Bug summary: Rust TLS accesses are badly initialized - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1433075 -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -duration: 15m -extra-summary: /CoreOS/binutils/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized -extra-task: /CoreOS/binutils/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized diff --git a/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/repr.c b/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/repr.c deleted file mode 100644 index fc4873d..0000000 --- a/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/repr.c +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include - -static __thread int a; -static int *c; - -int main(int argc, char *argv[]) -{ - a = 2; - c = &a; - printf("c=%d\n", *c); - return 0; -} diff --git a/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/runtest.sh b/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/runtest.sh deleted file mode 100755 index 95b570b..0000000 --- a/tests/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized/runtest.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /CoreOS/binutils/Regression/bz1433075-Rust-TLS-accesses-are-badly-initialized -# Description: Test for BZ#1433075 (Rust TLS accesses are badly initialized) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2017 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 - -LD="${LD:-$(which ld)}" -PACKAGE=$(rpm --qf '%{name}\n' -qf $(which $LD) | head -1) -PACKAGES=${PACKAGE} -REQUIRES="${REQUIRES:-gcc}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "LD=$LD" - rlLogInfo "$(type gcc)" - rlAssertRpm --all - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp repr.c $TmpDir/" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gcc -o repr1 -fPIC repr.c" - rlRun "./repr1" - - rlRun "gcc -o repr2 -fPIC -pie repr.c" - rlRun "./repr2" - - rlRun "gcc -o repr3 -ftls-model=local-dynamic -fPIC repr.c" - rlRun "./repr3" - - rlRun "gcc -o repr4 -ftls-model=local-dynamic -fPIC -pie repr.c" - rlRun "./repr4" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/Makefile b/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/Makefile deleted file mode 100644 index 50ade02..0000000 --- a/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/glibc/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to -# Description: Test for BZ#1439350 ([LLNL 7.5 FEAT] RFE create an option to) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/glibc/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE main.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1439350 ([LLNL 7.5 FEAT] RFE create an option to)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 15m" >> $(METADATA) - @echo "RunFor: binutils glibc" >> $(METADATA) - @echo "Requires: binutils glibc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1439350" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/PURPOSE b/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/PURPOSE deleted file mode 100644 index df7c38f..0000000 --- a/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/glibc/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to -Description: Test for BZ#1439350 ([LLNL 7.5 FEAT] RFE create an option to) -Author: Milos Prchlik -Bug summary: [LLNL 7.5 FEAT] RFE create an option to permanently link in audit library into an executable (glibc) -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1439350 diff --git a/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/main.c b/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/main.c deleted file mode 100644 index aee9e2e..0000000 --- a/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/main.c +++ /dev/null @@ -1,4 +0,0 @@ -int main(int argc, char **argv) -{ - return 0; -} diff --git a/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/main.fmf b/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/main.fmf deleted file mode 100644 index 9a6a226..0000000 --- a/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/main.fmf +++ /dev/null @@ -1,16 +0,0 @@ -summary: Test for BZ#1439350 ([LLNL 7.5 FEAT] RFE create an option to) -description: | - Bug summary: [LLNL 7.5 FEAT] RFE create an option to permanently link in audit library into an executable (glibc) - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1439350 -contact: Milos Prchlik -component: -- binutils -- glibc -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- glibc -duration: 15m -extra-summary: /tools/glibc/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to -extra-task: /tools/glibc/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to diff --git a/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/runtest.sh b/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/runtest.sh deleted file mode 100755 index d75325a..0000000 --- a/tests/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to/runtest.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/glibc/Regression/bz1439350-LLNL-7-5-FEAT-RFE-create-an-option-to -# Description: Test for BZ#1439350 ([LLNL 7.5 FEAT] RFE create an option to) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -LD="${LD:-$(which ld)}" -PACKAGE=$(rpm --qf '%{name}\n' -qf $(which $LD) | head -1) -PACKAGES=${PACKAGE} -REQUIRES="${REQUIRES}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "LD=$LD" - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp main.c $TmpDir/" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gcc -o main main.c -Wl,-Paudit.so.1 -z globalaudit &> gcc.out" - rlLogInfo "$(cat gcc.out)" - rlRun "egrep 'globalaudit ignored' gcc.out" 1 - rlRun "readelf -d main | grep AUDIT &> readelf.out" - rlLogInfo "$(cat readelf.out)" - rlRun "egrep 'Dependency audit library: \[audit.so.1\]' readelf.out" - rlRun "egrep 'Flags: GLOBAUDIT' readelf.out" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/Makefile b/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/Makefile deleted file mode 100644 index 0bd4caa..0000000 --- a/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /CoreOS/binutils/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command -# Description: Test for BZ#1465318 ([FJ7.4 Bug] [REG] The results of gprof command) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2017 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/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/CoreOS/binutils/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE gprof.file.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1465318 ([FJ7.4 Bug] [REG] The results of gprof command)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1465318" >> $(METADATA) - @echo "Releases: RHEL7" >> $(METADATA) - @echo "Architectures: x86_64" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/PURPOSE b/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/PURPOSE deleted file mode 100644 index 98ed854..0000000 --- a/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /CoreOS/binutils/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command -Description: Test for BZ#1465318 ([FJ7.4 Bug] [REG] The results of gprof command) -Author: Milos Prchlik -Bug summary: [FJ7.4 Bug]: [REG] The results of gprof command with some options differ between RHEL7.4 beta and RHEL7.3. -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1465318 diff --git a/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/gprof.file.c b/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/gprof.file.c deleted file mode 100644 index 005c451..0000000 --- a/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/gprof.file.c +++ /dev/null @@ -1,4 +0,0 @@ -static void fun2(){int i=0;} - void fun1(){int i=0;} - void fun3(){} - int main(){ fun1(); fun2(); return 0;} diff --git a/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/main.fmf b/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/main.fmf deleted file mode 100644 index 8dfb13a..0000000 --- a/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/main.fmf +++ /dev/null @@ -1,15 +0,0 @@ -summary: Test for BZ#1465318 ([FJ7.4 Bug] [REG] The results of gprof command) -description: | - Bug summary: [FJ7.4 Bug]: [REG] The results of gprof command with some options differ between RHEL7.4 beta and RHEL7.3. - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1465318 -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -duration: 5m -extra-summary: /CoreOS/binutils/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command -extra-task: /CoreOS/binutils/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command diff --git a/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/runtest.sh b/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/runtest.sh deleted file mode 100755 index 78a4bea..0000000 --- a/tests/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command/runtest.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /CoreOS/binutils/Regression/bz1465318-FJ7-4-Bug-REG-The-results-of-gprof-command -# Description: Test for BZ#1465318 ([FJ7.4 Bug] [REG] The results of gprof command) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2017 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 - -LD="${LD:-$(which ld)}" -PACKAGE=$(rpm --qf '%{name}\n' -qf $(which $LD) | head -1) -PACKAGES=${PACKAGE} -REQUIRES="${REQUIRES:-gcc}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "LD=$LD" - rlLogInfo "$(type gcc)" - rlAssertRpm --all - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp gprof.file.c $TmpDir/" - rlRun "pushd $TmpDir" - rlRun "gcc -pg -g gprof.file.c -o gprof.file" - rlRun "./gprof.file" - rlAssertExists "gmon.out" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gprof -A gprof.file > option-large_A" - rlRun "gprof -C gprof.file > option-large_C" - rlRun "gprof -l gprof.file > option-l" - - rlLogInfo "$(cat option-large_A)" - rlLogInfo "$(cat option-large_C)" - rlLogInfo "$(cat option-l)" - - rlRun "grep -E '##### -> +void fun3\(\)\{\}' option-large_A" - rlRun "grep -E '1 -> +void fun1\(\)\{int i=0;\}' option-large_A" - - rlRun "grep -E 'gprof.file.c:2: \(fun1:0x[0-9a-z]+\) 1 executions' option-large_C" - - rlRun "grep -E '0.00 +0.00 +0.00 +1 +0.00 +0.00 +fun1 \(gprof.file.c:2 @ [0-9a-z]+\)' option-l" - rlRun "grep -E '\[1\] +0.0 +0.00 +0.00 +1 +fun1 \(gprof.file.c:2 @ [0-9a-z]+\) \[1\]' option-l" - rlRun "grep -E '\[1\] fun1 \(gprof.file.c:2 @ [0-9a-z]+\) \[2\] fun2 \(gprof.file.c:1 @ [0-9a-z]+\)' option-l" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/Makefile b/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/Makefile deleted file mode 100644 index 7106023..0000000 --- a/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx -# Description: Test for BZ#1573872 (ld should allow "lea foo@GOT, %ecx") -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE reproducer.S - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1573872 (ld should allow \"lea foo@GOT, %ecx\")" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 15m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1573872" >> $(METADATA) - @echo "Releases: RHEL7 RHEL8" >> $(METADATA) - @echo "Architectures: x86_64" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/PURPOSE b/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/PURPOSE deleted file mode 100644 index d122c08..0000000 --- a/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx -Description: Test for BZ#1573872 (ld should allow "lea foo@GOT, %ecx") -Author: Milos Prchlik -Bug summary: ld should allow "lea foo@GOT, %ecx" -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1573872 diff --git a/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/main.fmf b/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/main.fmf deleted file mode 100644 index e7444d7..0000000 --- a/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/main.fmf +++ /dev/null @@ -1,14 +0,0 @@ -summary: Test for BZ#1573872 (ld should allow "lea foo@GOT, %ecx") -description: | - Bug summary: ld should allow "lea foo@GOT, %ecx" - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1573872 -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -duration: 15m -extra-summary: /tools/binutils/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx -extra-task: /tools/binutils/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx diff --git a/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/reproducer.S b/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/reproducer.S deleted file mode 100644 index 602f760..0000000 --- a/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/reproducer.S +++ /dev/null @@ -1,17 +0,0 @@ - .text - .globl bar - .type bar, @function -bar: - call __x86.get_pc_thunk.ax - addl $_GLOBAL_OFFSET_TABLE_, %eax - lea foo@GOT, %ecx - mov (%eax,%ecx,1), %eax - ret - .section .text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat - .globl __x86.get_pc_thunk.ax - .hidden __x86.get_pc_thunk.ax - .type __x86.get_pc_thunk.ax, @function -__x86.get_pc_thunk.ax: - movl (%esp), %eax - ret - .section .note.GNU-stack,"",@progbits diff --git a/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/runtest.sh b/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/runtest.sh deleted file mode 100755 index 1ba10a2..0000000 --- a/tests/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx/runtest.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1573872-ld-should-allow-lea-foo-GOT-ecx -# Description: Test for BZ#1573872 (ld should allow "lea foo@GOT, %ecx") -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -AS="${AS:-$(which as)}" -PACKAGE=$(rpm --qf '%{name}\n' -qf $(which $AS) | head -1) -PACKAGES="${PACKAGES:-$PACKAGE}" -REQUIRES="${REQUIRES:-}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "AS=$AS" - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp reproducer.S $TmpDir/" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gcc -B./ -m32 -c -o reproducer.o reproducer.S" - rlRun "ld -melf_i386 -shared -o libx.so reproducer.o" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/Makefile b/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/Makefile deleted file mode 100644 index a80228d..0000000 --- a/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT -# Description: Test for BZ#1624776 (binutils ld removes some R_X86_64_JUMP_SLOT) -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE reloc.s - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Edjunior Machado " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1624776 (binutils ld removes some R_X86_64_JUMP_SLOT)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils sed" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1624776" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - @echo "Architectures: x86_64" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/PURPOSE b/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/PURPOSE deleted file mode 100644 index df85d7c..0000000 --- a/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT -Description: Test for BZ#1624776 (binutils ld removes some R_X86_64_JUMP_SLOT) -Author: Edjunior Machado -Bug summary: binutils: ld removes some R_X86_64_JUMP_SLOT relocations -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1624776 diff --git a/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/main.fmf b/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/main.fmf deleted file mode 100644 index d1ef24c..0000000 --- a/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/main.fmf +++ /dev/null @@ -1,15 +0,0 @@ -summary: Test for BZ#1624776 (binutils ld removes some R_X86_64_JUMP_SLOT) -description: | - Bug summary: binutils: ld removes some R_X86_64_JUMP_SLOT relocations - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1624776 -contact: Edjunior Machado -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- sed -duration: 5m -extra-summary: /tools/binutils/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT -extra-task: /tools/binutils/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT diff --git a/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/reloc.s b/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/reloc.s deleted file mode 100644 index f417f5b..0000000 --- a/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/reloc.s +++ /dev/null @@ -1,3 +0,0 @@ -.text -mov malloc@GOTPCREL(%rip), %rax -jmp malloc@plt diff --git a/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/runtest.sh b/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/runtest.sh deleted file mode 100755 index 6e4a94c..0000000 --- a/tests/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT/runtest.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1624776-binutils-ld-removes-some-R-X86-64-JUMP-SLOT -# Description: Test for BZ#1624776 (binutils ld removes some R_X86_64_JUMP_SLOT) -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -PACKAGE="$(rpm -qf $(which ld))" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp reloc.s $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "as -o reloc.o reloc.s" - rlAssertExists "reloc.o" - rlRun "ld -o reloc.so -shared reloc.o" - rlAssertExists "reloc.so" - # Conserve the non-zero return value through the pipe - set -o pipefail - rlRun "readelf -rW reloc.so |& tee readelf.out" 0 "Checking out reloc.so relocation section" - rlRun "sed -n '/.rela.dyn/,/^$/p' readelf.out | grep R_X86_64_GLOB_DAT" 0 "Relocation section .rela.dyn should contain R_X86_64_GLOB_DAT entry" - rlRun "sed -n '/.rela.plt/,/^$/p' readelf.out | grep R_X86_64_JUMP_SLOT" 0 "Relocation section .rela.plt should contain R_X86_64_JUMP_SLOT entry" - rlFileSubmit readelf.out - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/Makefile b/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/Makefile deleted file mode 100644 index ce74be8..0000000 --- a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main -# Description: Test for BZ#1693661 (rhel8 gold does not resolve the address of main()) -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2019 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/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE main.c foo.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Edjunior Machado " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1693661 (rhel8 gold does not resolve the address of main())" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1693661" >> $(METADATA) - @echo "Releases: -RHEL4 -RHEL6 -RHELClient5 -RHELServer5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/PURPOSE b/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/PURPOSE deleted file mode 100644 index 8764050..0000000 --- a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main -Description: Test for BZ#1693661 (rhel8 gold does not resolve the address of main()) -Author: Edjunior Machado -Bug summary: rhel8 gold does not resolve the address of main() when it is in a shared library in aarch64 -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1693661 diff --git a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/foo.c b/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/foo.c deleted file mode 100644 index cbce2f9..0000000 --- a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/foo.c +++ /dev/null @@ -1,4 +0,0 @@ -int __attribute__ ((noinline)) foo(int x, int y) -{ - return x & y; -} diff --git a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/main.c b/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/main.c deleted file mode 100644 index 3662069..0000000 --- a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/main.c +++ /dev/null @@ -1,8 +0,0 @@ -#include -extern int foo(int, int); - -int main() -{ - printf("%d\n", foo(1, 3)); - return 0; -} diff --git a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/main.fmf b/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/main.fmf deleted file mode 100644 index 75f0dcf..0000000 --- a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/main.fmf +++ /dev/null @@ -1,15 +0,0 @@ -summary: Test for BZ#1693661 (rhel8 gold does not resolve the address of main()) -description: | - Bug summary: rhel8 gold does not resolve the address of main() when it is in a shared library in aarch64 - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1693661 -contact: Edjunior Machado -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -duration: 5m -extra-summary: /tools/binutils/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main -extra-task: /tools/binutils/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main diff --git a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/runtest.sh b/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/runtest.sh deleted file mode 100755 index ae424e7..0000000 --- a/tests/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main/runtest.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1693661-rhel8-gold-does-not-resolve-the-address-of-main -# Description: Test for BZ#1693661 (rhel8 gold does not resolve the address of main()) -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2019 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 - -LD="${LD:-$(which ld.gold)}" -GCC="${GCC:-$(which gcc)}" - -PACKAGE="${PACKAGE:-$(rpm --qf '%{name}\n' -qf $(which $LD) | head -1)}" -GCC_PACKAGE="${GCC_PACKAGE:-$(rpm --qf '%{name}\n' -qf $(which $GCC) | head -1)}" - -PACKAGES="${PACKAGES:-$PACKAGE}" -REQUIRES="${REQUIRES:-$GCC_PACKAGE}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "PACKAGE=$PACKAGE" - rlLogInfo "LD=$LD" - rlLogInfo "GCC=$GCC" - - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp main.c foo.c $TmpDir/" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gcc -o main.o -fPIC -c main.c" - rlRun "gcc -shared -o libmain.so main.o" - rlRun "gcc -o foo.o -c foo.c" - - rlLogInfo "Linking with gold..." - rlRun "gcc -fuse-ld=gold -o gold.out -lmain -L$PWD -Wl,-v,-rpath=$PWD foo.o" - rlAssertExists "gold.out" - rlRun "./gold.out" # On bz#1693661, it segfaults - - rlLogInfo "Linking with bfd..." - rlRun "gcc -fuse-ld=bfd -o bfd.out -lmain -L$PWD -Wl,-v,-rpath=$PWD foo.o" - rlAssertExists "bfd.out" - rlRun "./bfd.out" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/Makefile b/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/Makefile deleted file mode 100644 index 02571e7..0000000 --- a/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz1785294-binutils-support-secondary-relocation-sections -# Description: Test for BZ#1785294 (binutils support secondary relocation sections) -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2020 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz1785294-binutils-support-secondary-relocation-sections -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE kpatch-3_10_0-1062-1-15.x86_64.ko kpatch-3_10_0-1062-1-15.ppc64le.ko - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Edjunior Machado " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#1785294 (binutils support secondary relocation sections)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 10m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils grep gawk" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 1785294 1804151 1804149 1804148 1801879" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5 -RHEL6" >> $(METADATA) - @echo "Architectures: ppc64le x86_64" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/PURPOSE b/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/PURPOSE deleted file mode 100644 index 180c5bd..0000000 --- a/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz1785294-binutils-support-secondary-relocation-sections -Description: Test for BZ#1785294 (binutils support secondary relocation sections) -Author: Edjunior Machado -Bug summary: binutils: support secondary relocation sections [rhel 7.9] -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1785294 diff --git a/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/kpatch-3_10_0-1062-1-15.ppc64le.ko b/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/kpatch-3_10_0-1062-1-15.ppc64le.ko deleted file mode 100644 index 862fae366752441b5c67f88e44a5108a4db9e94d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 339785 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 diff --git a/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/kpatch-3_10_0-1062-1-15.x86_64.ko b/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/kpatch-3_10_0-1062-1-15.x86_64.ko deleted file mode 100644 index c68d3c475576cbbc8fb66f1ef28bf9fe540ac79a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227929 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 z 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 -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- grep -- gawk -duration: 10m -extra-summary: /tools/binutils/Regression/bz1785294-binutils-support-secondary-relocation-sections -extra-task: /tools/binutils/Regression/bz1785294-binutils-support-secondary-relocation-sections diff --git a/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/runtest.sh b/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/runtest.sh deleted file mode 100755 index 40a0119..0000000 --- a/tests/Regression/bz1785294-binutils-support-secondary-relocation-sections/runtest.sh +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz1785294-binutils-support-secondary-relocation-sections -# Description: Test for BZ#1785294 (binutils support secondary relocation sections) -# Author: Edjunior Machado -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2020 Red Hat, Inc. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 2 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -OBJCOPY="${OBJCOPY:-$(which objcopy)}" -READELF="${READELF:-$(which readelf)}" -PACKAGE=$(rpm --qf '%{name}\n' -qf $(which $READELF) | head -1) -PACKAGES=${PACKAGE} - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "OBJCOPY=$OBJCOPY" - rlLogInfo "READELF=$READELF" - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - rlRun "SOURCE_DIR=$(pwd)" - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStart FAIL "Check support" - rlRun "ARCH=$(arch)" - case "$ARCH" in - x86_64 | ppc64le) - KO_FILE="${SOURCE_DIR}/kpatch-3_10_0-1062-1-15.${ARCH}.ko" - rlLogInfo "KO_FILE=$KO_FILE" - HAS_SUPPORT=1 - ;; - *) - rlLogWarning "Feature not supported on $ARCH" - HAS_SUPPORT=0 - ;; - esac - rlPhaseEnd - -if [ $HAS_SUPPORT = 1 ]; then - rlPhaseStartTest - rlAssertExists $KO_FILE - rlRun "set -o pipefail" 0 "Conserve the non-zero return value through the pipe" - - # As suggested by nickc@redhat.com: - rlRun "objcopy $KO_FILE copy.ko" - rlRun "readelf --wide --section-headers copy.ko |& tee readelf_headers.out" - rlRun -l "grep \".klp.rela.vmlinux.*\ RELA\ \" readelf_headers.out" - - # And as suggested by joe.lawrence@redhat.com: - rlRun "readelf --wide --relocs $KO_FILE |& tee readelf_relocs.out" - rlRun -l "awk \"/^Relocation section '.klp/\" RS='\n\n' ORS='\n\n' readelf_relocs.out" - rlRun -l "grep \"^Relocation section '.klp\" readelf_relocs.out" - - rlRun "readelf --wide --symbols $KO_FILE |& tee readelf_symbols.out" - # Section index for these symbols must be SHN_LIVEPATCH (0xff20) - rlRun -l "grep '\[0xff20\]\ \.klp\.sym' readelf_symbols.out" - - rlRun "tar czvf readelf_outputs.tar.gz readelf_headers.out readelf_relocs.out readelf_symbols.out" - rlFileSubmit readelf_outputs.tar.gz "${PACKAGE}-readelf_outputs.tar.gz" - rlPhaseEnd -fi - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/Makefile b/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/Makefile deleted file mode 100644 index fe2d5ce..0000000 --- a/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regressions/cxxfilt/bz495196-man-page-for-c-filt-contains-unsupported-options -# Description: Checks c++filt's man page for unsupported options -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regressions/cxxfilt/bz495196-man-page-for-c-filt-contains-unsupported-options -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x ./runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Checks c++filt" >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 495196 485194 526228 545384" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/PURPOSE b/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/PURPOSE deleted file mode 100644 index 783ddf2..0000000 --- a/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/binutils/Regressions/cxxfilt/bz495196-man-page-for-c-filt-contains-unsupported-options -Description: Checks c++filt's man page for unsupported options -Author: Michal Nowak diff --git a/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/main.fmf b/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/main.fmf deleted file mode 100644 index a2a16ec..0000000 --- a/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/main.fmf +++ /dev/null @@ -1,14 +0,0 @@ -summary: Checks c++filt -description: '' -contact: Michal Nowak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=495196 -extra-summary: /tools/binutils/Regressions/cxxfilt/bz495196-man-page-for-c-filt-contains-unsupported-options -extra-task: /tools/binutils/Regressions/cxxfilt/bz495196-man-page-for-c-filt-contains-unsupported-options diff --git a/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/runtest.sh b/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/runtest.sh deleted file mode 100755 index 5de892a..0000000 --- a/tests/Regression/bz495196-man-page-for-c-filt-contains-unsupported-options/runtest.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regressions/cxx-filt/bz495196-man-page-for-c-filt-contains-unsupported-options -# Description: Checks c++filt's man page for unsupported options -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2009 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlShowPackageVersion binutils - rlShowRunningKernel - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlRun "man c++filt | sed $'s/.\x08//g' > cxxfilt.man" 0 "Write prepared cxxfilt man page" - rlPhaseEnd - - rlPhaseStartTest - rlAssertNotGrep "--*strip-underscores" cxxfilt.man -- - rlAssertNotGrep "--n*o*-*strip-underscores" cxxfilt.man -- - rlAssertNotGrep "--*java" cxxfilt.man -- - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd - rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/Makefile b/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/Makefile deleted file mode 100644 index fc6ccd7..0000000 --- a/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regressions/ld/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary -# Description: This only happens with gcc -static -s; compiling with gcc -static and then stripping with strip works fine. -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2010 Red Hat, Inc. All rights reserved. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regressions/ld/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE hello-unexpected-reloc-type.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: This only happens with gcc -static -s; compiling with gcc -static and then stripping with strip works fine." >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils binutils220" >> $(METADATA) - @echo "Requires: binutils glibc-static gcc44 binutils220 glibc-devel" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv3" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 533321" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/PURPOSE b/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/PURPOSE deleted file mode 100644 index 59c210b..0000000 --- a/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/binutils/Regressions/ld/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary -Description: This only happens with gcc -static -s; compiling with gcc -static and then stripping with strip works fine. -Author: Michal Nowak diff --git a/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/hello-unexpected-reloc-type.c b/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/hello-unexpected-reloc-type.c deleted file mode 100644 index e7d11ba..0000000 --- a/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/hello-unexpected-reloc-type.c +++ /dev/null @@ -1,5 +0,0 @@ -#include -int main() { - fprintf(stderr, "Hello world\n"); - return 0; -} diff --git a/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/main.fmf b/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/main.fmf deleted file mode 100644 index 0db1003..0000000 --- a/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/main.fmf +++ /dev/null @@ -1,19 +0,0 @@ -summary: This only happens with gcc -static -s; compiling with gcc -static and then - stripping with strip works fine. -description: '' -contact: Michal Nowak -component: -- binutils -- binutils220 -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -- glibc-devel -- glibc-static -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=533321 -extra-summary: /tools/binutils/Regressions/ld/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary -extra-task: /tools/binutils/Regressions/ld/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary diff --git a/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/runtest.sh b/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/runtest.sh deleted file mode 100755 index a656e2f..0000000 --- a/tests/Regression/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary/runtest.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regressions/ld/bz533321-programs-linked-with-gcc-static-s-fail-with-unexpected-reloc-type-in-static-binary -# Description: This only happens with gcc -static -s; compiling with gcc -static and then stripping with strip works fine. -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2010, 2012 Red Hat, Inc. All rights reserved. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -# Choose the compiler. -GCC=${GCC:-gcc} - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" - cp hello-unexpected-reloc-type.c $TmpDir - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest "gcc=$GCC" - rlRun "$GCC -static -s -o hello-unexpected-reloc-type hello-unexpected-reloc-type.c" 0 "Compiling & linking hello-unexpected-reloc-type.c " - rlAssertExists "hello-unexpected-reloc-type" - rlRun "./hello-unexpected-reloc-type" - rm hello-unexpected-reloc-type - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/Makefile b/tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/Makefile deleted file mode 100644 index f684759..0000000 --- a/tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regressions/ld/bz579696-ld-r-produces-nonzero-sh_addr-values -# Description: .text, .data, and .bss show sh_addr values that are not zero. -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2010 Red Hat, Inc. All rights reserved. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regressions/ld/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE X.o - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: ld eats all available memory on any -gdwarf-4 compiled object that needs warnings being emitted" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils binutils220" >> $(METADATA) - @echo "Requires: binutils binutils220 gcc44" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv3" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 579696" >> $(METADATA) - @echo "Architectures: i386 x86_64" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/PURPOSE b/tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/PURPOSE deleted file mode 100644 index e69de29..0000000 diff --git a/tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/main.fmf b/tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/main.fmf deleted file mode 100644 index f0de04b..0000000 --- a/tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/main.fmf +++ /dev/null @@ -1,19 +0,0 @@ -summary: ld eats all available memory on any -gdwarf-4 compiled object that needs - warnings being emitted -description: '' -contact: Michal Nowak -component: -- binutils -- binutils220 -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- binutils220 -- gcc -- gcc44 -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=579696 -extra-summary: /tools/binutils/Regressions/ld/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object -extra-task: /tools/binutils/Regressions/ld/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object diff --git a/tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/runtest.sh b/tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/runtest.sh deleted file mode 100755 index 7ba640c..0000000 --- a/tests/Regression/bz578576-ld-eats-all-available-memory-on-gdwarf-4-compiled-object/runtest.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regressions/ld/bz579696-ld-r-produces-nonzero-sh_addr-values -# Description: .text, .data, and .bss show sh_addr values that are not zero. -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2010, 2012 Red Hat, Inc. All rights reserved. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -# Choose the compiler. -GCC=${GCC:-gcc} - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" - cp X.o $TmpDir - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest "gcc=$GCC" - rlWatchdog "$GCC -m32 -o X X.o" 5 - rlAssert0 "gcc/ld finished on it's own" $? - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/Makefile b/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/Makefile deleted file mode 100644 index fd8e9af..0000000 --- a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/Makefile +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright (c) 2010 Red Hat, Inc. All rights reserved. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regressions/ld/bz587788-ld_-r-generates-R_X86_64_NONE -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE foo.c module-common.lds - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: ld -r generates R_X86_64_NONE" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils binutils220" >> $(METADATA) - @echo "Requires: binutils gcc44 gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv3" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 587788" >> $(METADATA) - @echo "Architectures: x86_64" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/PURPOSE b/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/PURPOSE deleted file mode 100644 index b7dec1d..0000000 --- a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/PURPOSE +++ /dev/null @@ -1,42 +0,0 @@ -WRONG: - - $ readelf -r foo2.o - - Relocation section '.rela.debug_info' at offset 0x618 contains 11 entries: - Offset Info Type Sym. Value Sym. Name + Addend - 000000000006 00040000000a R_X86_64_32 0000000000000000 .debug_abbrev + 0 - 00000000000c 00080000000a R_X86_64_32 0000000000000000 .debug_str + b - 000000000011 00080000000a R_X86_64_32 0000000000000000 .debug_str + 38 - 000000000015 00080000000a R_X86_64_32 0000000000000000 .debug_str + 6 - 000000000019 000100000001 R_X86_64_64 0000000000000000 .text + 0 - 000000000021 000100000001 R_X86_64_64 0000000000000000 .text + 0 - 000000000029 00060000000a R_X86_64_32 0000000000000000 .debug_line + 0 - 00000000002e 00080000000a R_X86_64_32 0000000000000000 .debug_str + 33 - 00000000003b 000c00000001 R_X86_64_64 0000000000000004 here + 0 - 00000000004b 00080000000a R_X86_64_32 0000000000000000 .debug_str + 0 --> 000000000058 000000000000 R_X86_64_NONE 0000000000000000 - - Relocation section '.rela.debug_pubnames' at offset 0x720 contains 1 entries: - Offset Info Type Sym. Value Sym. Name + Addend - 000000000006 00050000000a R_X86_64_32 0000000000000000 .debug_info + 0 - - -OK: - - Relocation section '.rela.debug_info' at offset 0x628 contains 10 entries: - Offset Info Type Sym. Value Sym. Name + Addend - 000000000006 00040000000a R_X86_64_32 0000000000000000 .debug_abbrev + 0 - 00000000000c 00080000000a R_X86_64_32 0000000000000000 .debug_str + 1f - 000000000011 00080000000a R_X86_64_32 0000000000000000 .debug_str + 46 - 000000000015 00080000000a R_X86_64_32 0000000000000000 .debug_str + b - 000000000019 000100000001 R_X86_64_64 0000000000000000 .text + 0 - 000000000021 000100000001 R_X86_64_64 0000000000000000 .text + 0 - 000000000029 00060000000a R_X86_64_32 0000000000000000 .debug_line + 0 - 00000000002e 00080000000a R_X86_64_32 0000000000000000 .debug_str + 6 - 00000000003b 000c00000001 R_X86_64_64 0000000000000004 here + 0 - 00000000004b 00080000000a R_X86_64_32 0000000000000000 .debug_str + 0 - - Relocation section '.rela.debug_pubnames' at offset 0x730 contains 1 entries: - Offset Info Type Sym. Value Sym. Name + Addend - 000000000006 00050000000a R_X86_64_32 0000000000000000 .debug_info + 0 - diff --git a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/foo.c b/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/foo.c deleted file mode 100644 index 7e8b716..0000000 --- a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/foo.c +++ /dev/null @@ -1 +0,0 @@ -int here, there __attribute__ ((section (".discard"))); diff --git a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/main.fmf b/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/main.fmf deleted file mode 100644 index e73e784..0000000 --- a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/main.fmf +++ /dev/null @@ -1,48 +0,0 @@ -summary: ld -r generates R_X86_64_NONE -description: "WRONG:\n\n $ readelf -r foo2.o\n \n Relocation section '.rela.debug_info'\ - \ at offset 0x618 contains 11 entries:\n Offset Info Type\ - \ Sym. Value Sym. Name + Addend\n 000000000006 00040000000a R_X86_64_32\ - \ 0000000000000000 .debug_abbrev + 0\n 00000000000c 00080000000a R_X86_64_32\ - \ 0000000000000000 .debug_str + b\n 000000000011 00080000000a R_X86_64_32\ - \ 0000000000000000 .debug_str + 38\n 000000000015 00080000000a R_X86_64_32\ - \ 0000000000000000 .debug_str + 6\n 000000000019 000100000001 R_X86_64_64\ - \ 0000000000000000 .text + 0\n 000000000021 000100000001 R_X86_64_64\ - \ 0000000000000000 .text + 0\n 000000000029 00060000000a R_X86_64_32\ - \ 0000000000000000 .debug_line + 0\n 00000000002e 00080000000a R_X86_64_32\ - \ 0000000000000000 .debug_str + 33\n 00000000003b 000c00000001 R_X86_64_64\ - \ 0000000000000004 here + 0\n 00000000004b 00080000000a R_X86_64_32\ - \ 0000000000000000 .debug_str + 0\n-> 000000000058 000000000000 R_X86_64_NONE\ - \ 0000000000000000\n \n Relocation section '.rela.debug_pubnames'\ - \ at offset 0x720 contains 1 entries:\n Offset Info Type\ - \ Sym. Value Sym. Name + Addend\n 000000000006 00050000000a R_X86_64_32\ - \ 0000000000000000 .debug_info + 0\n\n\nOK:\n\n Relocation section '.rela.debug_info'\ - \ at offset 0x628 contains 10 entries:\n Offset Info Type\ - \ Sym. Value Sym. Name + Addend\n 000000000006 00040000000a R_X86_64_32\ - \ 0000000000000000 .debug_abbrev + 0\n 00000000000c 00080000000a R_X86_64_32\ - \ 0000000000000000 .debug_str + 1f\n 000000000011 00080000000a R_X86_64_32\ - \ 0000000000000000 .debug_str + 46\n 000000000015 00080000000a R_X86_64_32\ - \ 0000000000000000 .debug_str + b\n 000000000019 000100000001 R_X86_64_64\ - \ 0000000000000000 .text + 0\n 000000000021 000100000001 R_X86_64_64\ - \ 0000000000000000 .text + 0\n 000000000029 00060000000a R_X86_64_32\ - \ 0000000000000000 .debug_line + 0\n 00000000002e 00080000000a R_X86_64_32\ - \ 0000000000000000 .debug_str + 6\n 00000000003b 000c00000001 R_X86_64_64\ - \ 0000000000000004 here + 0\n 00000000004b 00080000000a R_X86_64_32\ - \ 0000000000000000 .debug_str + 0\n \n Relocation section '.rela.debug_pubnames'\ - \ at offset 0x730 contains 1 entries:\n Offset Info Type\ - \ Sym. Value Sym. Name + Addend\n 000000000006 00050000000a R_X86_64_32\ - \ 0000000000000000 .debug_info + 0\n\n" -contact: Michal Nowak -component: -- binutils -- binutils220 -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc44 -- gcc -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=587788 -extra-summary: /tools/binutils/Regressions/ld/bz587788-ld_-r-generates-R_X86_64_NONE -extra-task: /tools/binutils/Regressions/ld/bz587788-ld_-r-generates-R_X86_64_NONE diff --git a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/module-common.lds b/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/module-common.lds deleted file mode 100644 index 96e0e15..0000000 --- a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/module-common.lds +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Common module linker script, always used when linking a module. - * Archs are free to supply their own linker scripts. ld will - * combine them automatically. - */ -SECTIONS { - /DISCARD/ : { *(.discard) } -} - diff --git a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/runtest.sh b/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/runtest.sh deleted file mode 100755 index 52b4242..0000000 --- a/tests/Regression/bz587788-ld_-r-generates-R_X86_64_NONE/runtest.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regressions/ld/bz579696-ld-r-produces-nonzero-sh_addr-values -# Description: .text, .data, and .bss show sh_addr values that are not zero. -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2010, 2012 Red Hat, Inc. All rights reserved. -# -# This program is free software: you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation, either version 3 of -# the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see http://www.gnu.org/licenses/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include rhts environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -# Choose the compiler. -GCC=${GCC:-gcc} - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlAssertRpm gcc - rlCheckRpm gcc44 - rlCheckRpm binutils220 - - rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" - cp foo.c module-common.lds $TmpDir - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "$GCC -c foo.c -g -O0" - rlRun "ld -r -o foo2.o -T module-common.lds foo.o" - rlAssertExists foo2.o - readelf -r foo2.o &> readelf.r - cat readelf.r - rlAssertNotGrep R_X86_64_NONE readelf.r - - rm foo2.o foo.o readelf.r - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/Makefile b/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/Makefile deleted file mode 100644 index 80c97b5..0000000 --- a/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable -# Description: ELFOSABI_LINUX is incorrectly set in a dynamic ifunc-using executable -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2011 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE bar.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: ELFOSABI_LINUX is incorrectly set in a dynamic ifunc-using executable" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 689829" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/PURPOSE b/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/PURPOSE deleted file mode 100644 index 1580da7..0000000 --- a/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable -Description: ELFOSABI_LINUX is incorrectly set in a dynamic ifunc-using executable -Author: Michal Nowak diff --git a/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/bar.c b/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/bar.c deleted file mode 100644 index b908b6d..0000000 --- a/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/bar.c +++ /dev/null @@ -1 +0,0 @@ -int main () { return 42; } diff --git a/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/main.fmf b/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/main.fmf deleted file mode 100644 index 10a3730..0000000 --- a/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/main.fmf +++ /dev/null @@ -1,15 +0,0 @@ -summary: ELFOSABI_LINUX is incorrectly set in a dynamic ifunc-using executable -description: '' -contact: Michal Nowak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=689829 -extra-summary: /tools/binutils/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable -extra-task: /tools/binutils/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable diff --git a/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/runtest.sh b/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/runtest.sh deleted file mode 100755 index cbf29e1..0000000 --- a/tests/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable/runtest.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz689829-ELFOSABI_LINUX-is-incorrectly-set-in-a-dynamic-ifunc-using-executable -# Description: ELFOSABI_LINUX is incorrectly set in a dynamic ifunc-using executable -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2011 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -# Choose the compiler. -GCC=${GCC:-gcc} - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" - rlRun "$GCC bar.c -o ${TmpDir}/bar" - rlRun "pushd $TmpDir" - rlAssertExists "bar" - rlPhaseEnd - - rlPhaseStartTest - readelf -a bar | grep 'OS/ABI' > out - rlAssertGrep "UNIX - System V" out - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/Makefile b/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/Makefile deleted file mode 100644 index c05bd01..0000000 --- a/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz698005-eu-unstrip-do-not-seem-to-match -# Description: eu-unstrip: do not seem to match -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2011 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz698005-eu-unstrip-do-not-seem-to-match -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: eu-unstrip: do not seem to match" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 698005" >> $(METADATA) - @echo "Architectures: i386 x86_64" >> $(METADATA) - @echo "Releases: -RedHatEnterpriseLinux4 -RedHatEnterpriseLinuxServer5 -RedHatEnterpriseLinuxClient5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/PURPOSE b/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/PURPOSE deleted file mode 100644 index db9f429..0000000 --- a/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz698005-eu-unstrip-do-not-seem-to-match -Description: eu-unstrip: do not seem to match -Author: Michal Nowak diff --git a/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/main.fmf b/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/main.fmf deleted file mode 100644 index 849dea7..0000000 --- a/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/main.fmf +++ /dev/null @@ -1,14 +0,0 @@ -summary: 'eu-unstrip: do not seem to match' -description: '' -contact: Michal Nowak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=698005 -extra-summary: /tools/binutils/Regression/bz698005-eu-unstrip-do-not-seem-to-match -extra-task: /tools/binutils/Regression/bz698005-eu-unstrip-do-not-seem-to-match diff --git a/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/runtest.sh b/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/runtest.sh deleted file mode 100755 index 0905192..0000000 --- a/tests/Regression/bz698005-eu-unstrip-do-not-seem-to-match/runtest.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz698005-eu-unstrip-do-not-seem-to-match -# Description: eu-unstrip: do not seem to match -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2011 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\`mktemp -d\`" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlPhaseEnd - - EABI_file="$(file $(find /usr/bin /bin /sbin /usr/sbin/) | grep '(GNU/Linux)' | tail -n1 | awk '{ print $1 }' | sed 's/://g')" - rlPhaseStartTest - 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 - rlAssertNotGrep "(SYSV)" out - else - rlDie "There's nothing to test." - fi - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/Makefile b/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/Makefile deleted file mode 100644 index 8a13303..0000000 --- a/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1 -# Description: Make sure there is .stapsdt.base field -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2011 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1 -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Make sure there is .stapsdt.base field" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils glibc systemtap" >> $(METADATA) - @echo "Requires: binutils glibc.i386 glibc.x86_64 glibc.ppc glibc.ppc64 glibc.s390 glibc.s390x glibc.ia64 glibc.i686" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 748927" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/PURPOSE b/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/PURPOSE deleted file mode 100644 index b0c2e6a..0000000 --- a/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/PURPOSE +++ /dev/null @@ -1,8 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1 -Description: Make sure there is .stapsdt.base field -Author: Michal Nowak - -arch = s390,s390x && distro = rhel-7: False -arch = ppc64 && distro = rhel-7: False -arch = aarch64: False -arch = ppc64le: False diff --git a/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/main.fmf b/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/main.fmf deleted file mode 100644 index 57595d6..0000000 --- a/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/main.fmf +++ /dev/null @@ -1,28 +0,0 @@ -summary: Make sure there is .stapsdt.base field -description: | - arch = s390,s390x && distro = rhel-7: False - arch = ppc64 && distro = rhel-7: False - arch = aarch64: False - arch = ppc64le: False -contact: Michal Nowak -component: -- binutils -- glibc -- systemtap -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- glibc.i386 -- glibc.x86_64 -- glibc.ppc -- glibc.ppc64 -- glibc.s390 -- glibc.s390x -- glibc.ia64 -- glibc.i686 -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=748927 -extra-summary: /tools/binutils/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1 -extra-task: /tools/binutils/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1 diff --git a/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/runtest.sh b/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/runtest.sh deleted file mode 100755 index 11525b6..0000000 --- a/tests/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1/runtest.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz748927-SystemTap-affected-by-stapsdt-base-1 -# Description: Make sure there is .stapsdt.base field -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2011 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlCheckRpm glibc - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlRun "grep -q CONFIG_UTRACE /boot/config-$( uname -r )" 0,1 || rlLogWarning "Uprobes disabled" - 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}" - if ! [[ "$( rlGetArch )" == "ia64" && ! "${ld}" =~ "emul" ]]; then - rlAssertGrep ".stapsdt.base " $filename || rlLogError "This may be problem for SystemTap" - fi - rlAssertNotGrep ".stapsdt.base.1" $filename || rlLogError "This may be problem for SystemTap" - rlPhaseEnd -done - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/Makefile b/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/Makefile deleted file mode 100644 index 0c4ff31..0000000 --- a/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables -# Description: Tests -pie + -fpie with __thread -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2011 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE w.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michal Nowak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Tests -pie + -fpie with __thread" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 755872" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/PURPOSE b/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/PURPOSE deleted file mode 100644 index 0e18d07..0000000 --- a/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables -Description: Tests -pie + -fpie with __thread -Author: Michal Nowak diff --git a/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/main.fmf b/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/main.fmf deleted file mode 100644 index 0b3dfeb..0000000 --- a/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/main.fmf +++ /dev/null @@ -1,15 +0,0 @@ -summary: Tests -pie + -fpie with __thread -description: '' -contact: Michal Nowak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=755872 -extra-summary: /tools/binutils/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables -extra-task: /tools/binutils/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables diff --git a/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/runtest.sh b/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/runtest.sh deleted file mode 100755 index 9529476..0000000 --- a/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/runtest.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables -# Description: Tests -pie + -fpie with __thread -# Author: Michal Nowak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2011 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGE="binutils" - -# Choose the compiler. -GCC=${GCC:-gcc} - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - cp w.c $TmpDir - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "$GCC -o w -g -O2 -pie -fpie w.c" 0 "Compile __thread with -fpie -pie" - rlAssertExists "w" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/w.c b/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/w.c deleted file mode 100644 index 7b9bb73..0000000 --- a/tests/Regression/bz755872-fpie-pie-does-not-appear-to-work-with-__thread-variables/w.c +++ /dev/null @@ -1,7 +0,0 @@ -__thread int a; - -int -main(void) -{ - return a; -} diff --git a/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/Makefile b/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/Makefile deleted file mode 100644 index cb07ab8..0000000 --- a/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /CoreOS/binutils/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual -# Description: Test for BZ#850832 (The binutils package contains the windmc(1) manual) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/CoreOS/binutils/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#850832 (The binutils package contains the windmc(1) manual)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 850832" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/PURPOSE b/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/PURPOSE deleted file mode 100644 index 5673073..0000000 --- a/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /CoreOS/binutils/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual -Description: Test for BZ#850832 (The binutils package contains the windmc(1) manual) -Author: Milos Prchlik -Bug summary: The binutils package contains the windmc(1) manual page but the utility is not included -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=850832 diff --git a/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/main.fmf b/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/main.fmf deleted file mode 100644 index 4561f87..0000000 --- a/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/main.fmf +++ /dev/null @@ -1,16 +0,0 @@ -summary: Test for BZ#850832 (The binutils package contains the windmc(1) manual) -description: | - Bug summary: The binutils package contains the windmc(1) manual page but the utility is not included - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=850832 -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=850832 -extra-summary: /CoreOS/binutils/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual -extra-task: /CoreOS/binutils/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual diff --git a/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/runtest.sh b/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/runtest.sh deleted file mode 100755 index 7e5c970..0000000 --- a/tests/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual/runtest.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /CoreOS/binutils/Regression/bz850832-The-binutils-package-contains-the-windmc-1-manual -# Description: Test for BZ#850832 (The binutils package contains the windmc(1) manual) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -PACKAGE="binutils" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "rpm -ql binutils | grep windmc > windmc.txt" 0,1 - rlLogInfo "$(cat windmc.txt)" - rlRun "FILE_CNT=`cat windmc.txt | wc -l`" - if [ "$FILE_CNT" == "1" ]; then - rlFail "Either windmg manpage or binary is present - both options are wrong." - elif [ "$FILE_CNT" == "2" ]; then - rlLogWarning "Both windmc manpage and binary are present - this probably should not happen." - elif [ "$FILE_CNT" == "0" ]; then - rlPass "Windmc manpage nor binary are present" - else - rlLogWarning "Unexpected number of 'windmc' files present in binutils package - broken package/test?" - fi - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/Makefile b/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/Makefile deleted file mode 100644 index 585a0ad..0000000 --- a/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x -# Description: Test for BZ#872148 (PIE + __thread produce text relocations on s390(x)) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE reproducer6.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#872148 (PIE + __thread produce text relocations on s390(x))" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 15m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 872148" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/PURPOSE b/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/PURPOSE deleted file mode 100644 index c01b776..0000000 --- a/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/PURPOSE +++ /dev/null @@ -1,17 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x -Description: Test for BZ#872148 (PIE + __thread produce text relocations on s390(x)) -Author: Milos Prchlik -Bug summary: PIE + __thread produce text relocations on s390(x) -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=872148 - -Requires systemd without a workaround: - -# PIE is broken on s390 (#868839, #872148) -%ifnarch s390 s390x -%global _hardened_build 1 -%endif - -^^ this is a workaround that makes bug disappear for this particular reproducer. -So, fetch systemd srpm, comment this condition out, rebuild, install, reboot, then -you can run this tests. One day I may make this part automatic but replacing systemd -wouldn't be seen as a good behaviour by other tests run after this task, so not yet. diff --git a/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/main.fmf b/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/main.fmf deleted file mode 100644 index c761004..0000000 --- a/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/main.fmf +++ /dev/null @@ -1,30 +0,0 @@ -summary: Test for BZ#872148 (PIE + __thread produce text relocations on s390(x)) -description: | - Bug summary: PIE + __thread produce text relocations on s390(x) - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=872148 - - Requires systemd without a workaround: - - # PIE is broken on s390 (#868839, #872148) - %ifnarch s390 s390x - %global _hardened_build 1 - %endif - - ^^ this is a workaround that makes bug disappear for this particular reproducer. - So, fetch systemd srpm, comment this condition out, rebuild, install, reboot, then - you can run this tests. One day I may make this part automatic but replacing systemd - wouldn't be seen as a good behaviour by other tests run after this task, so not yet. -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- elfutils -- gcc -duration: 15m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=872148 -extra-summary: /tools/binutils/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x -extra-task: /tools/binutils/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x diff --git a/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/reproducer6.c b/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/reproducer6.c deleted file mode 100644 index 29f574e..0000000 --- a/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/reproducer6.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - This reproducer is taken from https://sourceware.org/bugzilla/show_bug.cgi?id=6443 - Author is Jakub Jelinek - - gcc -O2 -pie -fpie -o reproducer6 reproducer6.c - eu-readelf -d reproducer6 | grep TEXTREL - test $? -eq 0 && echo FAIL || echo PASS -*/ - -__thread int a; -__thread int b __attribute((tls_model ("local-exec"))); -__thread int c __attribute((tls_model ("initial-exec"))); -__thread int d __attribute((tls_model ("local-dynamic"))); -__thread int e __attribute((tls_model ("global-dynamic"))); - -int -main (void) -{ - return a + b + c + d + e; -} diff --git a/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/runtest.sh b/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/runtest.sh deleted file mode 100755 index 3e265d0..0000000 --- a/tests/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x/runtest.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz872148-PIE-thread-produce-text-relocations-on-s390-x -# Description: Test for BZ#872148 (PIE + __thread produce text relocations on s390(x)) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -PACKAGES="binutils" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp reproducer6.c $TmpDir/" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "gcc -O2 -pie -fpie -o reproducer6 reproducer6.c" - rlRun "eu-readelf -d reproducer6 > elfutils.log" - rlRun "readelf -d reproducer6 > binutils.log" - rlAssertNotGrep "TEXTREL" binutils.log - rlAssertNotGrep "TEXTREL" elfutils.log - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" # $TmpDir - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/Makefile b/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/Makefile deleted file mode 100644 index 4997b15..0000000 --- a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz895241-Bogus-warning-about-cross-object-references-to -# Description: Test for BZ#895241 (Bogus warning about cross object references to) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz895241-Bogus-warning-about-cross-object-references-to -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE t.c u.c v.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#895241 (Bogus warning about cross object references to)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 15m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 895241" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - @echo "Architectures: x86_64" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/PURPOSE b/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/PURPOSE deleted file mode 100644 index e9f699e..0000000 --- a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/PURPOSE +++ /dev/null @@ -1,8 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz895241-Bogus-warning-about-cross-object-references-to -Description: Test for BZ#895241 (Bogus warning about cross object references to) -Author: Milos Prchlik -Bug summary: Bogus warning about cross object references to hidden symbols in GOLD -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=895241 - -Relevancy: -collection = devtoolset-4: PACKAGES=devtoolset-4-binutils REQUIRES=devtoolset-4-gcc ALTERNATIVES_ROOT=/opt/rh/devtoolset-4/root diff --git a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/main.fmf b/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/main.fmf deleted file mode 100644 index 986ad7f..0000000 --- a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/main.fmf +++ /dev/null @@ -1,20 +0,0 @@ -summary: Test for BZ#895241 (Bogus warning about cross object references to) -description: | - Bug summary: Bogus warning about cross object references to hidden symbols in GOLD - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=895241 - - Relevancy: - collection = devtoolset-4: PACKAGES=devtoolset-4-binutils REQUIRES=devtoolset-4-gcc ALTERNATIVES_ROOT=/opt/rh/devtoolset-4/root -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -duration: 15m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=895241 -extra-summary: /tools/binutils/Regression/bz895241-Bogus-warning-about-cross-object-references-to -extra-task: /tools/binutils/Regression/bz895241-Bogus-warning-about-cross-object-references-to diff --git a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/runtest.sh b/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/runtest.sh deleted file mode 100755 index 34ce87f..0000000 --- a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/runtest.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz895241-Bogus-warning-about-cross-object-references-to -# Description: Test for BZ#895241 (Bogus warning about cross object references to) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -PACKAGES="${PACKAGES:-binutils}" -REQUIRES="${REQUIRES:-gcc}" - -ALTERNATIVES_ROOT="${ALTERNATIVES_ROOT:-}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlAssertRpm --all - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp t.c u.c v.c $TmpDir/" - rlRun "pushd $TmpDir" - - rlRun "alternatives --altdir $ALTERNATIVES_ROOT/etc/alternatives/ --admindir $ALTERNATIVES_ROOT/var/lib/alternatives/ --display ld" - rlRun "alternatives --altdir $ALTERNATIVES_ROOT/etc/alternatives/ --admindir $ALTERNATIVES_ROOT/var/lib/alternatives/ --set ld $ALTERNATIVES_ROOT/usr/bin/ld.gold" - rlRun "alternatives --altdir $ALTERNATIVES_ROOT/etc/alternatives/ --admindir $ALTERNATIVES_ROOT/var/lib/alternatives/ --display ld" - rlPhaseEnd - - 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" - rlLogInfo "$(cat out)" - rlAssertNotGrep "warning: hidden symbol .* is referenced" out - rlRun "./a.out" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "alternatives --altdir $ALTERNATIVES_ROOT/etc/alternatives/ --admindir $ALTERNATIVES_ROOT/var/lib/alternatives/ --auto ld" - rlRun "alternatives --altdir $ALTERNATIVES_ROOT/etc/alternatives/ --admindir $ALTERNATIVES_ROOT/var/lib/alternatives/ --display ld" - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/t.c b/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/t.c deleted file mode 100644 index 01c050d..0000000 --- a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/t.c +++ /dev/null @@ -1,16 +0,0 @@ -#include -#include - -void foo(void) __attribute__((visibility("hidden"))); -void foo(void) { - puts("In executable: foo - before forwarding to DSO"); - ((void(*)(void))dlsym(RTLD_DEFAULT,"foo"))(); - puts("In executable: foo - after forwarding to DSO"); -} - -void bar(void); - -int main() { - foo(); - bar(); -} diff --git a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/u.c b/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/u.c deleted file mode 100644 index b4bdcff..0000000 --- a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/u.c +++ /dev/null @@ -1,7 +0,0 @@ -#include - -void foo(void); -void bar(void) { - puts("In DSO: bar"); - foo(); -} diff --git a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/v.c b/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/v.c deleted file mode 100644 index 0576bde..0000000 --- a/tests/Regression/bz895241-Bogus-warning-about-cross-object-references-to/v.c +++ /dev/null @@ -1,5 +0,0 @@ -#include - -void foo(void) { - puts("In DSO: foo"); -} diff --git a/tests/Regression/bz916214-binutils-contains-empty-man-pages/Makefile b/tests/Regression/bz916214-binutils-contains-empty-man-pages/Makefile deleted file mode 100644 index 569a79f..0000000 --- a/tests/Regression/bz916214-binutils-contains-empty-man-pages/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/bz916214-binutils-contains-empty-man-pages -# Description: Test for BZ#916214 (binutils contains empty man pages) -# Author: Miroslav Franc -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2013 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/bz916214-binutils-contains-empty-man-pages -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Miroslav Franc " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#916214 (binutils contains empty man pages)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 30m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils man man-db" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 916214" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz916214-binutils-contains-empty-man-pages/PURPOSE b/tests/Regression/bz916214-binutils-contains-empty-man-pages/PURPOSE deleted file mode 100644 index a5f7712..0000000 --- a/tests/Regression/bz916214-binutils-contains-empty-man-pages/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /tools/binutils/Regression/bz916214-binutils-contains-empty-man-pages -Description: Test for BZ#916214 (binutils contains empty man pages) -Author: Miroslav Franc -Bug summary: binutils contains empty man pages -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=916214 diff --git a/tests/Regression/bz916214-binutils-contains-empty-man-pages/main.fmf b/tests/Regression/bz916214-binutils-contains-empty-man-pages/main.fmf deleted file mode 100644 index 0edff97..0000000 --- a/tests/Regression/bz916214-binutils-contains-empty-man-pages/main.fmf +++ /dev/null @@ -1,18 +0,0 @@ -summary: Test for BZ#916214 (binutils contains empty man pages) -description: | - Bug summary: binutils contains empty man pages - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=916214 -contact: Miroslav Franc -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- man -- man-db -duration: 30m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=916214 -extra-summary: /tools/binutils/Regression/bz916214-binutils-contains-empty-man-pages -extra-task: /tools/binutils/Regression/bz916214-binutils-contains-empty-man-pages diff --git a/tests/Regression/bz916214-binutils-contains-empty-man-pages/runtest.sh b/tests/Regression/bz916214-binutils-contains-empty-man-pages/runtest.sh deleted file mode 100755 index 0d92284..0000000 --- a/tests/Regression/bz916214-binutils-contains-empty-man-pages/runtest.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/bz916214-binutils-contains-empty-man-pages -# Description: Test for BZ#916214 (binutils contains empty man pages) -# Author: Miroslav Franc -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2013 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm binutils - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rpm -qd binutils | grep 'man' | while read -r m - do - rlLog "$m" - man "$m" | col -b > man.txt - rlRun "[[ $(wc -c > sums.log - done - rlLog "Do we have enough man pages?" - rlRun "[[ $(wc -l -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/CoreOS/binutils/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE ld-fail.c - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Test for BZ#959422 (TLS variable wrongly relocated on .debug_info)" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 5m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Architectures: s390x" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Bug: 959422" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/PURPOSE b/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/PURPOSE deleted file mode 100644 index c7aad99..0000000 --- a/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/PURPOSE +++ /dev/null @@ -1,5 +0,0 @@ -PURPOSE of /CoreOS/binutils/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info -Description: Test for BZ#959422 (TLS variable wrongly relocated on .debug_info) -Author: Milos Prchlik -Bug summary: TLS variable wrongly relocated on .debug_info -Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=959422 diff --git a/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/ld-fail.c b/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/ld-fail.c deleted file mode 100644 index 8dcc1eb..0000000 --- a/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/ld-fail.c +++ /dev/null @@ -1,8 +0,0 @@ -#include - -__thread const char *tls_var = "hello"; - -int main () -{ - return 0; -} diff --git a/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/main.fmf b/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/main.fmf deleted file mode 100644 index 7714e4f..0000000 --- a/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/main.fmf +++ /dev/null @@ -1,18 +0,0 @@ -summary: Test for BZ#959422 (TLS variable wrongly relocated on .debug_info) -description: | - Bug summary: TLS variable wrongly relocated on .debug_info - Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=959422 -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- gcc -- gdb -duration: 5m -link: -- relates: https://bugzilla.redhat.com/show_bug.cgi?id=959422 -extra-summary: /CoreOS/binutils/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info -extra-task: /CoreOS/binutils/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info diff --git a/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/runtest.sh b/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/runtest.sh deleted file mode 100755 index 1535d54..0000000 --- a/tests/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info/runtest.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /CoreOS/binutils/Regression/bz959422-TLS-variable-wrongly-relocated-on-debug-info -# Description: Test for BZ#959422 (TLS variable wrongly relocated on .debug_info) -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -PACKAGE="binutils" - -GCC=${GCC:-"gcc"} -GDB=${GDB:-"gdb"} - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm $PACKAGE - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "cp ld-fail.c $TmpDir/" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest - rlRun "$GCC -lpthread -g3 -O0 ld-fail.c -o ld-fail" - rlRun "$GDB ./ld-fail -q -ex start -ex 'print tls_var' -ex cont -ex quit &> gdb.log" - rlLogInfo "$(cat gdb.log)" - rlRun "grep -P '\\\$1 = 0x[0-9a-f]{1,16} \"hello\"' gdb.log" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Sanity/dts-probe-binaries/Makefile b/tests/Sanity/dts-probe-binaries/Makefile deleted file mode 100644 index 91e4e34..0000000 --- a/tests/Sanity/dts-probe-binaries/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Sanity/dts-probe-binaries -# Description: Toolset binutils on system/toolset/built binaries. -# Author: Marek Polacek -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2012 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Sanity/dts-probe-binaries -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE check-localplt.c m.c popcnt.c virtual2.C - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Marek Polacek " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Toolset binutils on system/toolset/built binaries." >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 120m" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils ed gcc glibc glibc-headers grep gdb gcc-c++ gawk" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Sanity/dts-probe-binaries/PURPOSE b/tests/Sanity/dts-probe-binaries/PURPOSE deleted file mode 100644 index d7ed635..0000000 --- a/tests/Sanity/dts-probe-binaries/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/binutils/Sanity/dts-probe-binaries -Description: Toolset binutils on system/toolset/built binaries. -Author: Marek Polacek diff --git a/tests/Sanity/dts-probe-binaries/check-localplt.c b/tests/Sanity/dts-probe-binaries/check-localplt.c deleted file mode 100644 index edab1d2..0000000 --- a/tests/Sanity/dts-probe-binaries/check-localplt.c +++ /dev/null @@ -1,298 +0,0 @@ -/* Show local PLT use in DSOs. - Copyright (C) 2006 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contribute by Ulrich Drepper . 2006. - - 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 - . */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#ifdef BITS - -# define AB(name) _AB (name, BITS) -# define _AB(name, bits) __AB (name, bits) -# define __AB(name, bits) name##bits -# define E(name) _E (name, BITS) -# define _E(name, bits) __E (name, bits) -# define __E(name, bits) Elf##bits##_##name -# define EE(name) _EE (name, BITS) -# define _EE(name, bits) __EE (name, bits) -# define __EE(name, bits) ELF##bits##_##name -# define SWAP(val) \ - ({ __typeof (val) __res; \ - if (((ehdr.e_ident[EI_DATA] == ELFDATA2MSB \ - && BYTE_ORDER == LITTLE_ENDIAN) \ - || (ehdr.e_ident[EI_DATA] == ELFDATA2LSB \ - && BYTE_ORDER == BIG_ENDIAN)) \ - && sizeof (val) != 1) \ - { \ - if (sizeof (val) == 2) \ - __res = bswap_16 (val); \ - else if (sizeof (val) == 4) \ - __res = bswap_32 (val); \ - else \ - __res = bswap_64 (val); \ - } \ - else \ - __res = (val); \ - __res; }) - - -static int -AB(handle_file) (const char *fname, int fd) -{ - E(Ehdr) ehdr; - - if (pread (fd, &ehdr, sizeof (ehdr), 0) != sizeof (ehdr)) - { - read_error: - printf ("%s: read error: %m\n", fname); - return 1; - } - - const size_t phnum = SWAP (ehdr.e_phnum); - const size_t phentsize = SWAP (ehdr.e_phentsize); - - /* Read the program header. */ - E(Phdr) *phdr = alloca (phentsize * phnum); - if (pread (fd, phdr, phentsize * phnum, SWAP (ehdr.e_phoff)) - != phentsize * phnum) - goto read_error; - - /* Search for the PT_DYNAMIC entry. */ - size_t cnt; - E(Phdr) *dynphdr = NULL; - for (cnt = 0; cnt < phnum; ++cnt) - if (SWAP (phdr[cnt].p_type) == PT_DYNAMIC) - { - dynphdr = &phdr[cnt]; - break; - } - - if (dynphdr == NULL) - { - printf ("%s: no DYNAMIC segment found\n", fname); - return 1; - } - - /* Read the dynamic segment. */ - size_t pmemsz = SWAP(dynphdr->p_memsz); - E(Dyn) *dyn = alloca (pmemsz); - if (pread64 (fd, dyn, pmemsz, SWAP(dynphdr->p_offset)) != pmemsz) - goto read_error; - - /* Search for an DT_PLTREL, DT_JMPREL, DT_PLTRELSZ, DT_STRTAB, - DT_STRSZ, and DT_SYMTAB entries. */ - size_t pltrel_idx = SIZE_MAX; - size_t jmprel_idx = SIZE_MAX; - size_t pltrelsz_idx = SIZE_MAX; - size_t strtab_idx = SIZE_MAX; - size_t strsz_idx = SIZE_MAX; - size_t symtab_idx = SIZE_MAX; - for (cnt = 0; (cnt + 1) * sizeof (E(Dyn)) - 1 < pmemsz; ++cnt) - { - unsigned int tag = SWAP (dyn[cnt].d_tag); - - if (tag == DT_NULL) - /* We reached the end. */ - break; - - if (tag == DT_PLTREL) - pltrel_idx = cnt; - else if (tag == DT_JMPREL) - jmprel_idx = cnt; - else if (tag == DT_PLTRELSZ) - pltrelsz_idx = cnt; - else if (tag == DT_STRTAB) - strtab_idx = cnt; - else if (tag == DT_STRSZ) - strsz_idx = cnt; - else if (tag == DT_SYMTAB) - symtab_idx = cnt; - } - - if (pltrel_idx == SIZE_MAX || jmprel_idx == SIZE_MAX - || pltrelsz_idx == SIZE_MAX || strtab_idx == SIZE_MAX - || strsz_idx == SIZE_MAX || symtab_idx == SIZE_MAX) - { - puts ("not all PLT information found"); - return 1; - } - - E(Xword) relsz = SWAP (dyn[pltrelsz_idx].d_un.d_val); - - void *relmem = NULL; - char *strtab = NULL; - E(Xword) symtab_offset = 0; - - /* Find the offset of DT_JMPREL and load the data. */ - for (cnt = 0; cnt < phnum; ++cnt) - if (SWAP (phdr[cnt].p_type) == PT_LOAD) - { - E(Addr) vaddr = SWAP (phdr[cnt].p_vaddr); - E(Xword) memsz = SWAP (phdr[cnt].p_memsz); - - if (vaddr <= SWAP (dyn[jmprel_idx].d_un.d_val) - && vaddr + memsz >= SWAP (dyn[jmprel_idx].d_un.d_val) + relsz) - { - relmem = alloca (SWAP (dyn[pltrelsz_idx].d_un.d_val)); - if (pread64 (fd, relmem, relsz, - SWAP (phdr[cnt].p_offset) - + SWAP (dyn[jmprel_idx].d_un.d_val) - vaddr) - != relsz) - { - puts ("cannot read JMPREL"); - return 1; - } - } - - if (vaddr <= SWAP (dyn[symtab_idx].d_un.d_val) - && vaddr + memsz > SWAP (dyn[symtab_idx].d_un.d_val)) - symtab_offset = (SWAP (phdr[cnt].p_offset) - + SWAP (dyn[symtab_idx].d_un.d_val) - vaddr); - - if (vaddr <= SWAP (dyn[strtab_idx].d_un.d_val) - && vaddr + memsz >= (SWAP (dyn[strtab_idx].d_un.d_val) - + SWAP(dyn[strsz_idx].d_un.d_val))) - { - strtab = alloca (SWAP(dyn[strsz_idx].d_un.d_val)); - if (pread64 (fd, strtab, SWAP(dyn[strsz_idx].d_un.d_val), - SWAP (phdr[cnt].p_offset) - + SWAP (dyn[strtab_idx].d_un.d_val) - vaddr) - != SWAP(dyn[strsz_idx].d_un.d_val)) - { - puts ("cannot read STRTAB"); - return 1; - } - } - } - - if (relmem == NULL || strtab == NULL || symtab_offset == 0) - { - puts ("couldn't load PLT data"); - return 1; - } - - if (SWAP (dyn[pltrel_idx].d_un.d_val) == DT_RELA) - for (E(Rela) *rela = relmem; (char *) rela - (char *) relmem < relsz; - ++rela) - { - E(Sym) sym; - - if (pread64 (fd, &sym, sizeof (sym), - symtab_offset - + EE(R_SYM) (SWAP (rela->r_info)) * sizeof (sym)) - != sizeof (sym)) - { - puts ("cannot read symbol"); - return 1; - } - - if (sym.st_value != 0) - /* This symbol is locally defined. */ - printf ("%s: %s\n", basename (fname), strtab + SWAP (sym.st_name)); - } - else - for (E(Rel) *rel = relmem; (char *) rel - (char *) relmem < relsz; ++rel) - { - E(Sym) sym; - - if (pread64 (fd, &sym, sizeof (sym), - symtab_offset - + EE(R_SYM) (SWAP (rel->r_info)) * sizeof (sym)) - != sizeof (sym)) - { - puts ("cannot read symbol"); - return 1; - } - - if (sym.st_value != 0) - /* This symbol is locally defined. */ - printf ("%s: %s\n", basename (fname), strtab + SWAP (sym.st_name)); - } - - return 0; -} - -# undef BITS -#else - -# define BITS 32 -# include "check-localplt.c" - -# define BITS 64 -# include "check-localplt.c" - - -static int -handle_file (const char *fname) -{ - int fd = open (fname, O_RDONLY); - if (fd == -1) - { - printf ("cannot open %s: %m\n", fname); - return 1; - } - - /* Read was is supposed to be the ELF header. Read the initial - bytes to determine whether this is a 32 or 64 bit file. */ - char ident[EI_NIDENT]; - if (read (fd, ident, EI_NIDENT) != EI_NIDENT) - { - printf ("%s: read error: %m\n", fname); - close (fd); - return 1; - } - - if (memcmp (&ident[EI_MAG0], ELFMAG, SELFMAG) != 0) - { - printf ("%s: not an ELF file\n", fname); - close (fd); - return 1; - } - - int result; - if (ident[EI_CLASS] == ELFCLASS64) - result = handle_file64 (fname, fd); - else - result = handle_file32 (fname, fd); - - close (fd); - - return result; -} - - -int -main (int argc, char *argv[]) -{ - int cnt; - int result = 0; - - for (cnt = 1; cnt < argc; ++cnt) - result |= handle_file (argv[cnt]); - - return result; -} -#endif diff --git a/tests/Sanity/dts-probe-binaries/m.c b/tests/Sanity/dts-probe-binaries/m.c deleted file mode 100644 index 3ed0f66..0000000 --- a/tests/Sanity/dts-probe-binaries/m.c +++ /dev/null @@ -1,6 +0,0 @@ -int a (int), b (int), c (int); -int -main (void) -{ - return a (6) + b (4) - c (2); -} diff --git a/tests/Sanity/dts-probe-binaries/main.fmf b/tests/Sanity/dts-probe-binaries/main.fmf deleted file mode 100644 index 65e429a..0000000 --- a/tests/Sanity/dts-probe-binaries/main.fmf +++ /dev/null @@ -1,20 +0,0 @@ -summary: Toolset binutils on system/toolset/built binaries. -description: '' -contact: Marek Polacek -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- ed -- gcc -- glibc -- glibc-headers -- grep -- gdb -- gcc-c++ -- gawk -duration: 120m -extra-summary: /tools/binutils/Sanity/dts-probe-binaries -extra-task: /tools/binutils/Sanity/dts-probe-binaries diff --git a/tests/Sanity/dts-probe-binaries/popcnt.c b/tests/Sanity/dts-probe-binaries/popcnt.c deleted file mode 100644 index 0ba30c5..0000000 --- a/tests/Sanity/dts-probe-binaries/popcnt.c +++ /dev/null @@ -1,7 +0,0 @@ -#include -int -main (int argc, char *argv[] __attribute__((unused))) -{ - printf ("%p\n", main); - return __builtin_popcount (argc); -} diff --git a/tests/Sanity/dts-probe-binaries/runtest.sh b/tests/Sanity/dts-probe-binaries/runtest.sh deleted file mode 100755 index cecf756..0000000 --- a/tests/Sanity/dts-probe-binaries/runtest.sh +++ /dev/null @@ -1,388 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Sanity/dts-probe-binaries -# Description: Toolset binutils on system/toolset built binaries. -# Author: Marek Polacek -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2012 Red Hat, Inc. All rights reserved. -# -# This copyrighted material is made available to anyone wishing -# to use, modify, copy, or redistribute it subject to the terms -# and conditions of the GNU General Public License version 2. -# -# This program is distributed in the hope that it will be -# useful, but WITHOUT ANY WARRANTY; without even the implied -# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -# PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public -# License along with this program; if not, write to the Free -# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -# Boston, MA 02110-1301, USA. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Include Beaker environment -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -PACKAGES=(gdb gcc gcc-c++ binutils gawk grep) - -# Choose the binaries. -GCC=${GCC:-gcc} -GXX=${GXX:-g++} -GDB=${GDB:-gdb} -AR=${AR:-ar} -ADDR2LINE=${ADDR2LINE:-addr2line} -CXXFILT=${CXXFILT:-c++filt} -ELFEDIT=${ELFEDIT:-elfedit} -NM=${NM:-nm} -OBJCOPY=${OBJCOPY:-objcopy} -OBJDUMP=${OBJDUMP:-objdump} -READELF=${READELF:-readelf} -SIZE=${SIZE:-size} -STRINGS=${STRINGS:-strings} - -rlJournalStart - rlPhaseStartSetup - for p in "${PACKAGES[@]}"; do - rlAssertRpm "$p" - done; unset p - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - # Copy the GDB commands file and testcase. - rlRun "cp -v check-localplt.c m.c popcnt.c virtual2.C $TmpDir" - rlRun "pushd $TmpDir" - rlPhaseEnd - - rlPhaseStartTest "Prepare a binary." - # Compile a test case. - rlRun "$GCC -O2 -g -std=gnu99 check-localplt.c -o localplt" - rlAssertExists "localplt" - rlPhaseEnd - - rlPhaseStartTest "Test ar." - # Test --help. - rlRun "$AR --help" - - # We need a few ET_RELs. - rlRun "$GCC -O2 -g -std=gnu99 -c -o a.o -xc - <<< 'int a(int a){return a^2;}'" - rlAssertExists "a.o" - rlRun "$GCC -O2 -g -std=gnu99 -c -o b.o -xc - <<< 'int b(int a){return a&2;}'" - rlAssertExists "b.o" - rlRun "$GCC -O2 -g -std=gnu99 -c -o c.o -xc - <<< 'int c(int a){return a|2;}'" - rlAssertExists "c.o" - rlRun "$GCC -O2 -g -std=gnu99 -c -o d.o -xc - <<< 'int d(int a){return a%2;}'" - rlAssertExists "d.o" - - # Test that we can create a static library. - rlRun "$AR crsv abc.a a.o b.o c.o" - rlAssertExists "abc.a" - - # ...and use this library. - rlRun "$GCC -O2 -Wall -std=gnu99 m.c abc.a -o abc" - rlRun "./abc" 2 - - # Test -t option. - rlRun "$AR t abc.a > ar-t.out" - printf "a.o\nb.o\nc.o\n" > ar-t - rlAssertNotDiffer ar-t ar-t.out - - # Test -d option. - rlRun "$AR d abc.a c.o" - rlRun "$AR t abc.a > ar-t.out" - printf "a.o\nb.o\n" > ar-t - rlAssertNotDiffer ar-t ar-t.out - - # Test -r option. - rlRun "$AR r abc.a d.o" - rlRun "$AR t abc.a > ar-t.out" - printf "a.o\nb.o\nd.o\n" > ar-t - rlAssertNotDiffer ar-t ar-t.out - rlPhaseEnd - - rlPhaseStartTest "Test addr2line." - rlRun "$ADDR2LINE --help" - # Compile a testcase. - rlRun "$GCC -g3 -Wall -O2 -o popcnt popcnt.c" - # Save the address where main resides. - ./popcnt > a - rlRun "$ADDR2LINE -e popcnt $(cat a) > r" - # We know that main is at line 4. But on PPC we get ??:0... -if test ! $(uname -m) = "ppc64"; then - rlAssertGrep "popcnt.c:4" r -fi - rm -vf [ra] - rlPhaseEnd - - rlPhaseStartTest "Test c++filt." - rlRun "$CXXFILT --help" - # Compile a testcase. - rlRun "$GXX -g -O0 virtual2.C -o virt" - rlRun "$NM virt | $CXXFILT &> f" - rlLogInfo "===== f" - rlLogInfo "$(cat f)" - rlLogInfo "=====" - rlAssertGrep "A::~A()" f - rlAssertGrep "B::~B()" f - rlAssertGrep "typeinfo for A" f - rlAssertGrep "typeinfo for B" f - rlAssertGrep "typeinfo name for A" f - rlAssertGrep "typeinfo name for B" f - rlAssertGrep "vtable for A" f - rlAssertGrep "vtable for B" f - rlAssertGrep "operator delete(void\*)" f - rlRun "grep -E 'operator new\(unsigned (long|int)\)' f" - rlRun "$CXXFILT -n _Z1ft > f" - # Create test file. - echo "f(unsigned short)" > F - rlAssertNotDiffer F f - rm -vf [Ff] - rlPhaseEnd - - rlPhaseStartTest "Test elfedit." - rlRun "$ELFEDIT --help" - # Change the Ehdr somewhat. - rlRun "$ELFEDIT --output-osabi=TRU64 virt" - rlRun "$ELFEDIT --output-type=rel virt" - rlRun "$READELF -Wh virt > r" - rlAssertGrep "UNIX - TRU64" r - rlAssertGrep "REL (Relocatable file)" r - # Ok, back to normal. - rlRun "$ELFEDIT --output-osabi=none virt" - rlRun "$ELFEDIT --output-type=exec virt" - rlRun "$READELF -Wh virt > r" - rlAssertGrep "UNIX - System V" r - rlAssertGrep "EXEC (Executable file)" r - rm -vf r - rlPhaseEnd - - rlPhaseStartTest "Test nm." - rlRun "$NM --help" - # Try --debug-syms. - rlRun "$NM --debug-syms virt | gawk '{ print \$2 \" \" \$3 }' > o" - rlLogInfo "$(cat o)" - rlAssertGrep "completed" o - if [ "`rlGetPrimaryArch`" != "s390x" ] || [ ! rlIsRHEL 7 ]; then - rlAssertGrep "virtual2.C" o - fi - rlAssertGrep "_ZN1BD1Ev" o - # On PPC, we have .toc instead. - if [ "$(rlGetPrimaryArch)" != "ppc64" ] && [ "$(rlGetPrimaryArch)" != "ppc64le" ]; then - rlAssertGrep "_GLOBAL_OFFSET_TABLE_" o - fi - # Try -u. - rlRun "$NM -u popcnt > u" - rlAssertGrep "printf@GLIBC" u - if [ "`rlGetPrimaryArch`" != "ppc64" ] || [ ! rlIsRHEL 7 ]; then - rlAssertGrep "__gmon_start__" u - fi - rlAssertGrep "__libc_start_main@GLIBC" u - # Try -P --size-sort. - rlRun "$NM -P --size-sort localplt > p" -if test $(uname -m) = "ppc64" -a $(rlGetDistroRelease) -gt 5; then - rlAssertGrep "main D" p -else - rlAssertGrep "main T" p -fi - rlAssertGrep "completed.* b" p - rlAssertGrep "_IO_stdin_used R" p - # Try --defined-only --print-size. - rlRun "$NM --defined-only --print-size localplt > d" - rm -vf [oupd] - rlPhaseEnd - - rlPhaseStartTest "Test objcopy." - rlRun "$OBJCOPY --help" - - cp -v virt xvirt - rlRun "$OBJCOPY --only-section=.shstrtab xvirt" - rlRun "$READELF -WS xvirt > x" - rlAssertGrep ".shstrtab" x - - # Try to delete .interp section. - cp -v virt virt2 - rlRun "$OBJCOPY -R .interp virt2" - rlRun "$READELF -WS virt2 > i" - rlAssertNotGrep ".interp" i - - rm -vf [vcx] xvirt zvirt - rlPhaseEnd - - rlPhaseStartTest "Test objdump." - rlRun "$OBJDUMP --help" - # Just try to run with -f. - rlRun "$OBJDUMP -f virt" - # Just try to run with -x. - rlRun "$OBJDUMP -wx virt" - # -dr. No good way how to compare this. - rlRun "$OBJDUMP -dr virt > d" - rlAssertGrep "Disassembly of section .text:" d - rlAssertGrep "_start" d - rlAssertGrep "main" d - - # -T. - rlRun "$OBJDUMP -T virt > t" - rlAssertGrep "abort" t - - # -R. - rlRun "$OBJDUMP -R virt > R" - rlAssertGrep "abort" R - - # -Wl. - rlRun "$OBJDUMP -Wl virt > w" - rlAssertGrep "Extended opcode 2: set Address to" w - - # -dr on system binary. - rlRun "$OBJDUMP -dr /bin/true > D" - rlAssertGrep "Disassembly of section .text:" d - rlAssertGrep "_start" d - rlAssertGrep "main" d - - # -R on system binary. - rlRun "$OBJDUMP -R /bin/true > r" - rlAssertGrep "abort" r - - # -T. - rlRun "$OBJDUMP -T /bin/true > T" - rlAssertGrep "abort" T - - rm -vf [DdrtTwR] - rlPhaseEnd - - rlPhaseStartTest "Test readelf." - # Readelf is probably most important, check more things. - rlRun "$READELF --help" - - # Just run with -a. - rlRun "$READELF -Wa virt" - - # Try -h. - rlRun "$READELF -Wh virt > h" - rlAssertGrep "ELF Header:" h - rlAssertGrep "7f 45 4c 46" h - rlAssertGrep "EXEC (Executable file)" h - rlAssertGrep "Section header string table index:" h - rlAssertGrep "ABI Version:" h - - # Try -l. - rlRun "$READELF -Wl virt > l" - rlAssertGrep "There are .* program headers, starting at offset" l - rlAssertGrep "Section to Segment mapping:" l - rlAssertGrep "[Requesting program interpreter: /lib*]" l - - # Try -S. - rlRun "$READELF -WS virt > S" - rlAssertGrep "There are .* section headers, starting at offset" S - # I don't like rlAssertGrep. - rlRun "grep -E '\[[0-9]*\] \.(got|ctors|text|plt|init|symtab|bss|strtab|eh_*)' S" - - # Try -s. - rlRun "$READELF -Ws virt > s" - rlAssertGrep "Symbol table '.symtab' contains .* entries:" s - rlRun "grep -E '[0-9]*\: [0-9a-f]*[\ \t]*[0-9]* (FUNC|OBJECT|NOTYPE)[\ \t]*(WEAK|GLOBAL)[\ \t]*(DEFAULT|HIDDEN)[\ \t]*([0-9]*|UND|ABS).*' s" - - # Try -n. - rlRun "$READELF -Wn virt > n" - rlRun "grep -qE '[Nn]otes.*at.*offset .* with length .*:|Displaying notes found in: .note.ABI-tag' n" - - # Try -r. - rlRun "$READELF -Wr virt > r" - rlRun "grep -E 'Relocation section .\.rela?.(dyn|plt). at offset 0x[0-9a-f]+ contains [0-9]+ entries\:' r" - - # Try -d. - rlRun "$READELF -Wd virt > d" - rlAssertGrep "Dynamic section at offset .* contains .* entries:" d - rlRun "grep -E '0x[0-9a-f]+ \((JMPREL|STRSZ|INIT|NEEDED|VERSYM|RELA|DEBUG|SYMENT|GNU_HASH|STRTAB)\)[\ \t]*(Shared|0x|[0-9]*)' d" - - # Try -I. - rlRun "$READELF -I virt > I" - # PPC64 produces no output (?). - if [ "$(rlGetPrimaryArch)" != "ppc64" ] && [ "$(rlGetPrimaryArch)" != "ppc64le" ]; then - rlAssertGrep "Histogram for .* bucket list length (total of .* buckets):" I - fi - - # Try hex dump. - rlRun "$READELF -x .strtab virt > x" - rlAssertGrep "Hex dump of section '.strtab':" x - - # Dump .debug_info. - rlRun "$READELF -wi virt > w" - rlAssertGrep "Compilation Unit @ offset .*:" w - rlAssertGrep "DW_AT_producer" w - rlAssertGrep "DW_AT_comp_dir" w - rlAssertGrep "DW_TAG_structure_type" w - rlRun "grep -E '<[0-9]+><[0-9a-f]+>\: Abbrev Number\: [0-9]+ \(DW_TAG_.*\)' w" - rlRun "grep -E '<[0-9]+>[\ \t]+DW_AT_.*\:' w" - - # Version info. - rlRun "$READELF -V virt > V" - rlAssertGrep "Version symbols section '.gnu.version' contains .* entries:" V - rlRun "grep -E '(0x)?[0-9a-f]*\: Version\:.*File\:.*Cnt\: [0-9]+' V" - - # Try -h on /bin/true. - rlRun "$READELF -Wh /bin/true > H" - rlAssertGrep "ELF Header:" H - rlAssertGrep "7f 45 4c 46" H - rlAssertGrep "DYN (Position-Independent Executable file)" H - rlAssertGrep "Section header string table index:" H - rlAssertGrep "ABI Version:" H - - # Try -l on /bin/true. - rlRun "$READELF -Wl /bin/true > L" - rlAssertGrep "There are .* program headers, starting at offset" L - rlAssertGrep "Section to Segment mapping:" L - rlAssertGrep "[Requesting program interpreter: /lib*]" L - - # Try -S on /bin/true. - rlRun "$READELF -WS /bin/true > F" - rlAssertGrep "There are .* section headers, starting at offset" F - rlRun "grep -E '\[[0-9]*\] \.(got|ctors|text|plt|init|symtab|bss|strtab|eh_*)' F" - - # Try -r on /bin/true. - rlRun "$READELF -Wr /bin/true > c" - rlRun "grep -E 'Relocation section .\.rela?.(dyn|plt). at offset 0x[0-9a-f]+ contains [0-9]+ entries\:' c" - - rm -vf [HIwhnSLslcrxVdF] - rlPhaseEnd - - rlPhaseStartTest "Test size." - rlRun "$SIZE --help" - - rlRun "$SIZE -dB virt > s" - rlAssertGrep "text.*data.*bss.*dec.*hex.*filename" s - - rlRun "$SIZE -dB /bin/ed > S" - rlAssertGrep "text.*data.*bss.*dec.*hex.*filename" S - - rm -vf [Ss] - rlPhaseEnd - - rlPhaseStartTest "Test strings." - rlRun "$STRINGS --help" - - # Try on our binary. - rlRun "$STRINGS virt > s" - rlAssertGrep "__gmon_start__" s - rlAssertGrep "libc.so.6" s - rlAssertGrep "abort" s - rlAssertGrep "libm.so.6" s - - # Try on system binary. - rlRun "$STRINGS /bin/echo > S" - rlAssertGrep "abort" S - rlAssertGrep "echo" S - rlAssertGrep "POSIXLY_CORRECT" S - rlAssertGrep "libc.so.6" S - - rm -vf [Ss] - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Sanity/dts-probe-binaries/virtual2.C b/tests/Sanity/dts-probe-binaries/virtual2.C deleted file mode 100644 index c93ba9e..0000000 --- a/tests/Sanity/dts-probe-binaries/virtual2.C +++ /dev/null @@ -1,31 +0,0 @@ -// PR c++/52746 -// { dg-do run } - -extern "C" int printf(const char*,...); -extern "C" void abort(); -bool db; - -struct A -{ - virtual ~A() {} -}; - -struct B : public A -{ - virtual ~B() { db = true; } -}; - -template void test() -{ - B * b = new B; - A * a = b; - a->~A(); - ::operator delete(b); -} - -int main() -{ - test<0>(); - if (!db) - abort(); -} diff --git a/tests/Sanity/rebuild-coreutils/Makefile b/tests/Sanity/rebuild-coreutils/Makefile deleted file mode 100644 index 94e48e9..0000000 --- a/tests/Sanity/rebuild-coreutils/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Sanity/rebuild-coreutils -# Description: Rebuild coreutils -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Sanity/rebuild-coreutils -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Rebuild coreutils" >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 1h" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Sanity/rebuild-coreutils/PURPOSE b/tests/Sanity/rebuild-coreutils/PURPOSE deleted file mode 100644 index 15bec7c..0000000 --- a/tests/Sanity/rebuild-coreutils/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/binutils/Sanity/rebuild-coreutils -Description: Rebuild coreutils -Author: Milos Prchlik diff --git a/tests/Sanity/rebuild-coreutils/main.fmf b/tests/Sanity/rebuild-coreutils/main.fmf deleted file mode 100644 index b11ef5e..0000000 --- a/tests/Sanity/rebuild-coreutils/main.fmf +++ /dev/null @@ -1,14 +0,0 @@ -summary: Rebuild coreutils -description: '' -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- koji -- rpm-build -duration: 1h -extra-summary: /tools/binutils/Sanity/rebuild-coreutils -extra-task: /tools/binutils/Sanity/rebuild-coreutils diff --git a/tests/Sanity/rebuild-coreutils/runtest.sh b/tests/Sanity/rebuild-coreutils/runtest.sh deleted file mode 100755 index d07b662..0000000 --- a/tests/Sanity/rebuild-coreutils/runtest.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Sanity/rebuild-coreutils -# Description: Rebuild coreutils -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -PACKAGES="binutils" -REQUIRES="${REQUIRES:-coreutils}" -TEST_USER="${TEST_USER:-jouda}" - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm --all - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - - rlRun 'dnf -y update coreutils' 0-255 - - rlRun "koji download-build --arch=src $(rpm -q coreutils)" - rlRun "SRPM=`find . -name 'coreutils-*.src.rpm'`" - rlRun "dnf builddep -y $SRPM" - - rlRun "userdel -r $TEST_USER" 0,6 - rlRun "useradd -m -d /home/$TEST_USER $TEST_USER" - rlRun "cp $SRPM /home/$TEST_USER" - rlRun "su - $TEST_USER -c 'rpm -Uvh $SRPM'" - rlPhaseEnd - - rlPhaseStartTest - rlRun "su - $TEST_USER -c 'rpmbuild -bc --clean \$(rpm --eval=%_specdir)/coreutils.spec'" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "userdel -r $TEST_USER" - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Sanity/rebuild-emacs/Makefile b/tests/Sanity/rebuild-emacs/Makefile deleted file mode 100644 index 71112f0..0000000 --- a/tests/Sanity/rebuild-emacs/Makefile +++ /dev/null @@ -1,67 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Regression/rebuild-emacs -# Description: rebuild-emacs -# Author: Martin Cermak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2015 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/. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Regression/rebuild-emacs -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - -requires = alsa-lib-devel atk-devel binutils cairo-devel dbus-devel emacs fontconfig-devel freetype-devel \ - GConf2-devel giflib-devel gnutls-devel gpm-devel gtk3-devel ImageMagick-devel libjpeg-devel \ - liblockfile-devel libotf-devel libpng-devel librsvg2-devel libselinux-devel libtiff-devel \ - libX11-devel libXau-devel libXdmcp-devel libXpm-devel libXrender-devel libXt-devel m17n-lib-devel \ - ncurses-devel python2-devel texinfo xorg-x11-proto-devel pango pango-devel yum-utils - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Martin Cermak " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: rebuild-emacs" >> $(METADATA) - @echo "Type: Regression" >> $(METADATA) - @echo "TestTime: 24h" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - $(foreach package, $(requires), echo "Requires: $(package)" >> $(METADATA);) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2+" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Sanity/rebuild-emacs/PURPOSE b/tests/Sanity/rebuild-emacs/PURPOSE deleted file mode 100644 index 3c41ea0..0000000 --- a/tests/Sanity/rebuild-emacs/PURPOSE +++ /dev/null @@ -1,21 +0,0 @@ -PURPOSE of /tools/binutils/Regression/rebuild-emacs -Description: rebuild-emacs -Author: Martin Cermak - - -From: Jeff Law - -... stuff deleted ... - -emacs is highly sensitive to the order and structure of executables -produced by the linker. This is an artifact of its undumping mechanism -(essentially starts emacs, loads a bunch of stuff, core dumps, then -turns the core dump into a new executable). - -We've seen a lot of pain around this for ppc64le as well as after the -RELRO improvements we made to binutils/ld over the last 6 months. - -ISTM that the testing plans for RHEL going forward ought to include a -test build of emacs with the new binutils installed. No further tests -are necessary since the build process for emacs exercises the -problematic bits. diff --git a/tests/Sanity/rebuild-emacs/main.fmf b/tests/Sanity/rebuild-emacs/main.fmf deleted file mode 100644 index a2c8619..0000000 --- a/tests/Sanity/rebuild-emacs/main.fmf +++ /dev/null @@ -1,64 +0,0 @@ -summary: rebuild-emacs -description: | - From: Jeff Law - - ... stuff deleted ... - - emacs is highly sensitive to the order and structure of executables - produced by the linker. This is an artifact of its undumping mechanism - (essentially starts emacs, loads a bunch of stuff, core dumps, then - turns the core dump into a new executable). - - We've seen a lot of pain around this for ppc64le as well as after the - RELRO improvements we made to binutils/ld over the last 6 months. - - ISTM that the testing plans for RHEL going forward ought to include a - test build of emacs with the new binutils installed. No further tests - are necessary since the build process for emacs exercises the - problematic bits. -contact: Martin Cermak -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- alsa-lib-devel -- atk-devel -- binutils -- cairo-devel -- dbus-devel -- emacs -- fontconfig-devel -- freetype-devel -- GConf2-devel -- giflib-devel -- gnutls-devel -- gpm-devel -- gtk3-devel -- ImageMagick-devel -- libjpeg-devel -- liblockfile-devel -- libotf-devel -- libpng-devel -- librsvg2-devel -- libselinux-devel -- libtiff-devel -- libX11-devel -- libXau-devel -- libXdmcp-devel -- libXpm-devel -- libXrender-devel -- libXt-devel -- m17n-lib-devel -- ncurses-devel -- python2-devel -- texinfo -- xorg-x11-proto-devel -- pango -- pango-devel -- yum-utils -- koji -- rpm-build -duration: 24h -extra-summary: /tools/binutils/Regression/rebuild-emacs -extra-task: /tools/binutils/Regression/rebuild-emacs diff --git a/tests/Sanity/rebuild-emacs/runtest.sh b/tests/Sanity/rebuild-emacs/runtest.sh deleted file mode 100755 index bce7de7..0000000 --- a/tests/Sanity/rebuild-emacs/runtest.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash -# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Regression/rebuild-emacs -# Description: rebuild-emacs -# Author: Martin Cermak -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Copyright (c) 2015 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 - -PACKAGES="${PACKAGES:-binutils}" -REQUIRES="${REQUIRES:-emacs}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - rlRun "TMPD=$(mktemp -d)" - rlRun "pushd $TMPD" - rlRun "koji download-build --arch=src $(rpm -q emacs)" - rlRun "rpm --define='_topdir $TMPD' -Uvh *src.rpm" - - rlRun "saved_randomize_va_space=$(cat /proc/sys/kernel/randomize_va_space)" - rlRun "echo '1' > /proc/sys/kernel/randomize_va_space" - rlPhaseEnd - - rlPhaseStartTest - rlRun "dnf builddep -y SPECS/emacs.spec" - rlRun "rpmbuild --define='_topdir $TMPD' -bc SPECS/emacs.spec" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "echo \"$saved_randomize_va_space\" > /proc/sys/kernel/randomize_va_space" - - rlRun "popd" - rlRun "rm -r $TMPD" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Sanity/rebuild-wget/Makefile b/tests/Sanity/rebuild-wget/Makefile deleted file mode 100644 index 12427cb..0000000 --- a/tests/Sanity/rebuild-wget/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Sanity/rebuild-wget -# Description: Rebuild wget -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Sanity/rebuild-wget -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Milos Prchlik " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: Rebuild wget" >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 1h" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils" >> $(METADATA) - @echo "Requires: wget rpm-build gcc" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: yes" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Sanity/rebuild-wget/PURPOSE b/tests/Sanity/rebuild-wget/PURPOSE deleted file mode 100644 index cc87a45..0000000 --- a/tests/Sanity/rebuild-wget/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/binutils/Sanity/rebuild-wget -Description: Rebuild wget -Author: Milos Prchlik diff --git a/tests/Sanity/rebuild-wget/main.fmf b/tests/Sanity/rebuild-wget/main.fmf deleted file mode 100644 index ce54e36..0000000 --- a/tests/Sanity/rebuild-wget/main.fmf +++ /dev/null @@ -1,16 +0,0 @@ -summary: Rebuild wget -description: '' -contact: Milos Prchlik -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- wget -- koji -- rpm-build -- gcc -duration: 1h -extra-summary: /tools/binutils/Sanity/rebuild-wget -extra-task: /tools/binutils/Sanity/rebuild-wget diff --git a/tests/Sanity/rebuild-wget/runtest.sh b/tests/Sanity/rebuild-wget/runtest.sh deleted file mode 100755 index 2016bf5..0000000 --- a/tests/Sanity/rebuild-wget/runtest.sh +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Sanity/rebuild-wget -# Description: Rebuild wget -# Author: Milos Prchlik -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -LD="${LD:-$(which ld)}" -GCC="${GCC:-$(which gcc)}" - -BINUTILS_PACKAGE="$(rpm --qf '%{name}\n' -qf $(which $LD) | head -1)" -GCC_PACKAGE="$(rpm --qf '%{name}\n' -qf $(which $GCC) | head -1)" - -PACKAGES="${PACKAGES:-$BINUTILS_PACKAGE}" -REQUIRES="${REQUIRES:-$GCC_PACKAGE wget}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "LD=$LD" - rlLogInfo "GCC=$GCC" - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - - rlRun "koji download-build --arch=src $(rpm -q wget)" - rlRun "SRPM=`find . -name 'wget-*.src.rpm'`" - rlRun "SRPM_SPECDIR=`rpm --eval=%_specdir`" - rlRun "rpm -Uvh $SRPM" - rlRun "dnf builddep -y $SRPM" - rlPhaseEnd - - rlPhaseStartTest - rlRun "rpmbuild -bb --clean $SRPM_SPECDIR/wget.spec" - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd diff --git a/tests/Sanity/testsuite/Makefile b/tests/Sanity/testsuite/Makefile deleted file mode 100644 index ee7d12f..0000000 --- a/tests/Sanity/testsuite/Makefile +++ /dev/null @@ -1,68 +0,0 @@ -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# Makefile of /tools/binutils/Sanity/testsuite -# Description: The test rebuilds binutils.src.rpm and runs the suite. -# Author: Michael Petlan -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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. -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -export TEST=/tools/binutils/Sanity/testsuite -export TESTVERSION=1.0 - -BUILT_FILES= - -FILES=$(METADATA) runtest.sh Makefile PURPOSE \ - expected-fails-8.0.0-aarch64.txt \ - expected-fails-8.0.0-s390x.txt \ - expected-fails-8.2.0-aarch64.txt \ - expected-fails-8.2.0-s390x.txt - -.PHONY: all install download clean - -run: $(FILES) build - ./runtest.sh - -build: $(BUILT_FILES) - test -x runtest.sh || chmod a+x runtest.sh - -clean: - rm -f *~ $(BUILT_FILES) - - -include /usr/share/rhts/lib/rhts-make.include - -$(METADATA): Makefile - @echo "Owner: Michael Petlan " > $(METADATA) - @echo "Name: $(TEST)" >> $(METADATA) - @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) - @echo "Path: $(TEST_DIR)" >> $(METADATA) - @echo "Description: The test rebuilds binutils.src.rpm and runs the suite." >> $(METADATA) - @echo "Type: Sanity" >> $(METADATA) - @echo "TestTime: 3h" >> $(METADATA) - @echo "RunFor: binutils" >> $(METADATA) - @echo "Requires: binutils texinfo glibc-static dejagnu bison flex zlib-static sharutils yum-utils libstdc++-static rpm-build gcc-c++ annobin" >> $(METADATA) - @echo "Priority: Normal" >> $(METADATA) - @echo "License: GPLv2" >> $(METADATA) - @echo "Confidential: no" >> $(METADATA) - @echo "Destructive: no" >> $(METADATA) - @echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA) - - rhts-lint $(METADATA) diff --git a/tests/Sanity/testsuite/PURPOSE b/tests/Sanity/testsuite/PURPOSE deleted file mode 100644 index 21f029d..0000000 --- a/tests/Sanity/testsuite/PURPOSE +++ /dev/null @@ -1,3 +0,0 @@ -PURPOSE of /tools/binutils/Sanity/testsuite -Description: The test rebuilds binutils.src.rpm and runs the suite. -Author: Michael Petlan diff --git a/tests/Sanity/testsuite/main.fmf b/tests/Sanity/testsuite/main.fmf deleted file mode 100644 index d2fafab..0000000 --- a/tests/Sanity/testsuite/main.fmf +++ /dev/null @@ -1,25 +0,0 @@ -summary: The test rebuilds binutils.src.rpm and runs the suite. -description: '' -contact: Michael Petlan -component: -- binutils -test: ./runtest.sh -framework: beakerlib -recommend: -- binutils -- texinfo -- glibc-static -- dejagnu -- bison -- flex -- zlib-static -- sharutils -- yum-utils -- libstdc++-static -- rpm-build -- gcc-c++ -- annobin-plugin-gcc -- koji -duration: 3h -extra-summary: /tools/binutils/Sanity/testsuite -extra-task: /tools/binutils/Sanity/testsuite diff --git a/tests/Sanity/testsuite/runtest.sh b/tests/Sanity/testsuite/runtest.sh deleted file mode 100755 index c71f6d5..0000000 --- a/tests/Sanity/testsuite/runtest.sh +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# runtest.sh of /tools/binutils/Sanity/testsuite -# -# Description: The test rebuilds binutils.src.rpm and runs the suite. -# The test is based on /tools/binutils/testsuite, but it had to be -# rewritten. -# -# Author: Michael Petlan -# -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# 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 - -LD="${LD:-$(which ld)}" -GCC="${GCC:-$(which gcc)}" - -PACKAGE="${PACKAGE:-$(rpm --qf '%{name}\n' -qf $(which $LD) | head -1)}" -NVR="$(rpm -q --qf='%{NAME}-%{VERSION}-%{RELEASE}\n' $PACKAGE | head -1)" -GCC_PACKAGE="${GCC_PACKAGE:-$(rpm --qf '%{name}\n' -qf $(which $GCC) | head -1)}" - -PACKAGES="${PACKAGES:-$PACKAGE}" -REQUIRES="${REQUIRES:-$GCC_PACKAGE}" - -rlJournalStart - rlPhaseStartSetup - rlLogInfo "PACKAGES=$PACKAGES" - rlLogInfo "REQUIRES=$REQUIRES" - rlLogInfo "COLLECTIONS=$COLLECTIONS" - rlLogInfo "PACKAGE=$PACKAGE" - rlLogInfo "NVR=$NVR" - rlLogInfo "LD=$LD" - rlLogInfo "GCC=$GCC" - rlLogInfo "SKIP_COLLECTION_METAPACKAGE_CHECK=$SKIP_COLLECTION_METAPACKAGE_CHECK" - - # We optionally need to skip checking for the presence of the metapackage - # because that would pull in all the dependent toolset subrpms. We do not - # always want that, especially in CI. - _COLLECTIONS="$COLLECTIONS" - if ! test -z $SKIP_COLLECTION_METAPACKAGE_CHECK; then - for c in $SKIP_COLLECTION_METAPACKAGE_CHECK; do - rlLogInfo "ignoring metapackage check for collection $c" - export COLLECTIONS=$(shopt -s extglob && echo ${COLLECTIONS//$c/}) - done - fi - - rlLogInfo "(without skipped) COLLECTIONS=$COLLECTIONS" - - rlAssertRpm --all - - export COLLECTIONS="$_COLLECTIONS" - - # temp dir - rlRun "TESTDIR=$PWD" - - rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory" - rlRun "pushd $TmpDir" - rlRun "mkdir LOGS" - rlRun "LOGDIR=$TmpDir/LOGS" - - # fetch'n'build the source - rlRun "dnf download --disablerepo='*' --enablerepo=test-artifacts --source $NVR || cp /var/share/test-artifacts/$NVR.src.rpm ." - rlRun "dnf builddep -y $NVR.src.rpm" - rlRun "rpm -i $NVR.src.rpm" - export SPECDIR=`rpm --eval=%_specdir` - export BUILDDIR=`rpm --eval=%_builddir` - export CURRENT_BUILD=${BUILDDIR}/binutils-$(rpmquery $PACKAGE --queryformat='%{VERSION}\n' | head -n 1) - rlRun "rpmbuild -bc $SPECDIR/binutils.spec" - rlRun "ARCH=$(arch)" - - rlRun "cp $CURRENT_BUILD/*/binutils/binutils.log $CURRENT_BUILD/*/binutils/binutils.sum $LOGDIR/" - rlRun "cp $CURRENT_BUILD/*/ld/ld.log $CURRENT_BUILD/*/ld/ld.sum $LOGDIR/" - rlRun "cp $CURRENT_BUILD/*/gas/testsuite/gas.log $CURRENT_BUILD/*/gas/testsuite/gas.sum $LOGDIR/" - rlPhaseEnd - - if [ "$ARCH" = "x86_64" ]; then - rlPhaseStartTest Regression-bz1614908 - rlLogInfo "Checking if bz#1614908 is reproducible" - rlRun "gold_test_binary=$(find $CURRENT_BUILD -iname gnu_property_test -type f -executable)" 0 "Looking for binary from gold testsuite" - rlAssertExists $gold_test_binary - rlAssertEquals 'Just one .note.gnu.property section' "$(readelf --wide --sections $gold_test_binary | grep -c -F .note.gnu.property)" 1 - rlAssertEquals 'The .note.gnu.property section is aligned to 8' "$(readelf --wide --sections $gold_test_binary | awk '/\.note\.gnu\.property/ {print $NF}')" 8 - rlAssertEquals 'First NOTE segment is aligned to 8' "$(readelf --wide --segments $gold_test_binary | awk '/NOTE/ {print $NF; exit}')" '0x8' - rlPhaseEnd - fi - - for TOOL in binutils ld gas; do - rlPhaseStartTest "$TOOL" - rlLogInfo "$TOOL Summary" - rlLogInfo "$(grep -A 50 '=== .* Summary ===' $LOGDIR/$TOOL.sum)" - - # Store list of failed test cases - rlRun "grep '^FAIL: ' $LOGDIR/$TOOL.sum |& sort | tee $LOGDIR/$TOOL.failed" 0,1 - - rlRun "grep '# of unexpected failures' $LOGDIR/$TOOL.sum" 0,1 "Checking number of unexpected failures" - - # Handle expected failures - if [ "$?" = "0" ]; then - expected_fails_file="" # here we define expected failures if needed - if [ "$expected_fails_file" = "" ]; then - rlFail "No list of expected failures exists for this environment: release=$(cat /etc/redhat-release), arch=$ARCH, tool=$TOOL" - rlFail "Unexpected failures found" - else - rlRun "diff $expected_fails_file $LOGDIR/$TOOL.failed" 0,1 - if [ "$?" != "0" ]; then - rlFail "Unexpected failures found" - else - rlPass "No unexpected failures found" - fi - fi - else - rlPass "No unexpected failures found" - fi - rlPhaseEnd - done - - rlPhaseStartCleanup - rlRun "tar czf $TmpDir/logs.tgz $LOGDIR/*.sum $LOGDIR/*.log" - rlRun "tar czf $TmpDir/buildroot.tgz $CURRENT_BUILD/" - rlFileSubmit logs.tar.gz - rlFileSubmit buildroot.tgz - rlRun "popd" # $TmpDir - rlRun "rm -r $TmpDir" 0 "Removing tmp directory" - rlPhaseEnd -rlJournalPrintText -rlJournalEnd