Compare commits

...
Sign in to create a new pull request.

17 commits

Author SHA1 Message Date
DJ Delorie
a8c41cd354 Rebase to ltrace 0.8.1 2025-09-16 12:54:36 -04:00
Fedora Release Engineering
955c1e43d1 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 20:55:16 +00:00
Fedora Release Engineering
10f68c7444 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 16:07:24 +00:00
Martin Coufal
287df279b5 tests/Regression/bz1360259-ltrace-crashes-when-run-on-certain-processes-with-the--S-option: make pidof return only one PID 2024-11-13 13:59:27 +01:00
Martin Coufal
4b0ed33102 tests/Regression/bz868281-ltrace-doesn-t-work-on-PIE-binaries: fix for rhel10
* disable 32b part of the test for rhel10
* fix getting ARCH/SARCH
* move reproducer to a separate file, add missing include
2024-11-13 10:42:54 +01:00
Martin Coufal
665a435b81 tests: fix for rhel10
We use tests in Fedora for RHEL testing as well and some of the tests
need to be updated to compile and run successfully on RHEL-10.

* tests/Regression/211135-ltrace-hangs-while-tracing-child-process-with--f-option:
  add missing includes, add NULL arg to wait()
* tests/Regression/211163-ltrace-with--c-omit-execl-call: fix IF
  condition to include rhel-10
* tests/Regression/427444-ltrace-crashes-process-to-be-analysed: add
  missing include
* tests/Regression/447404-ltrace-with-both--o-and--c-options-does-not-produce-output-to-file:
  moved reproducer to a separate file, add missing include, fix IF
  condition to include rhel-10
* tests/Regression/bz1158713-ltrace-assigns-wrong-names-to-glibc-PLT-slots:
  add missing include
* tests/Regression/bz1360259-ltrace-crashes-when-run-on-certain-processes-with-the--S-option:
  fix IF condition to include rhel-10
* tests/Sanity/random-apps: add return type and return to main function,
  add missing includes, add semun union definition
2024-11-11 12:48:52 +01:00
Václav Kadlčík
d70730248f Fix gating tests on Rawhide 2024-09-18 14:16:14 +02:00
Fedora Release Engineering
941e708eb6 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 16:05:46 +00:00
Software Management Team
6444af4152 Eliminate use of obsolete %patchN syntax (#2283636) 2024-05-30 12:46:47 +02:00
Miroslav Suchý
4773a704b6 Migrate to SPDX license
This is a part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_3
2024-02-13 09:30:05 +00:00
Fedora Release Engineering
a77340edfd Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 04:54:45 +00:00
Fedora Release Engineering
15ef50aff4 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 06:18:29 +00:00
Fedora Release Engineering
cbc633d2a2 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 13:08:56 +00:00
Fedora Release Engineering
3abe3265ff Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 18:23:03 +00:00
Fedora Release Engineering
00f430ccbe Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-21 19:58:28 +00:00
Jesus Checa Hidalgo
dcc1247212 tests: fixes for gating tests
* plans/ci: setting "how: beakerlib" in execute step is deprecated.
  changed to "how: tmt" to comply with newer tmt versions.
  tmt versions.
* ltrace with both --o and --c does not produce output to file:
  add malloc to the list of syscalls to check for tracing.
* ltrace crashes when run on certain processes with --S option:
  make pgrep to exact match to avoid getting two PIDs, one from
  dbus-broker and other from dbus-broker-launch.
* ltrace doesn't work on PIE-binaries:
  Added missing 32-bit dependencies.
2022-05-11 13:54:16 +00:00
Carlos O'Donell
16ad28b259 Rebuild ltrace for rawhide (#2046722)
Resolves: #2046722
2022-05-03 10:03:37 -04:00
22 changed files with 111 additions and 183 deletions

1
.gitignore vendored
View file

@ -4,3 +4,4 @@ ltrace-*/
/ltrace-0.7.0.tar.bz2
/ltrace-0.7.2.tar.bz2
/ltrace-0.7.91.tar.bz2
/ltrace-0.8.1.tar.bz2

View file

@ -1,11 +1,11 @@
Summary: Tracks runtime library calls from dynamically linked executables
Name: ltrace
Version: 0.7.91
Release: 44%{?dist}
Version: 0.8.1
Release: 1%{?dist}
# In coordination with Juan Céspedes, upstream is now officially on gitlab.
# We are going to being sending all of our Fedora patches upstream to gitlab.
URL: https://gitlab.com/cespedes/ltrace
License: GPLv2+
License: GPL-2.0-or-later
BuildRequires: elfutils-devel dejagnu
BuildRequires: libselinux-devel
@ -13,127 +13,9 @@ BuildRequires: autoconf automake libtool
BuildRequires: gcc-c++
BuildRequires: make
# Note: this URL needs to be updated for each release, as the file
# number changes for each file. Full list of released files is at:
# https://alioth.debian.org/frs/?group_id=30892
# https://gitlab.com/cespedes/ltrace/-/releases
Source: ltrace-%{version}.tar.bz2
# Merge of several upstream commits that fixes compilation on ARM.
Patch0: ltrace-0.7.91-arm.patch
# Upstream patch that fixes accounting of exec, __libc_start_main and
# others in -c output.
Patch1: ltrace-0.7.91-account_execl.patch
# Upstream patch that fixes interpretation of PLT on x86_64 when
# IRELATIVE slots are present.
Patch2: ltrace-0.7.91-x86_64-irelative.patch
# Upstream patch that fixes fetching of system call arguments on s390.
Patch3: ltrace-0.7.91-s390-fetch-syscall.patch
# Upstream patch that enables tracing of IRELATIVE PLT slots on s390.
Patch4: ltrace-0.7.91-s390-irelative.patch
# Fix for a regression in tracing across fork. Upstream patch.
Patch5: ltrace-0.7.91-ppc64-fork.patch
# Fix crashing a prelinked PPC64 binary which makes PLT calls through
# slots that ltrace doesn't trace.
# https://bugzilla.redhat.com/show_bug.cgi?id=1051221
Patch6: ltrace-0.7.91-breakpoint-on_install.patch
Patch7: ltrace-0.7.91-ppc64-unprelink.patch
# Man page nits. Backport of an upstream patch.
Patch8: ltrace-0.7.91-man.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1044766
Patch9: ltrace-0.7.91-cant_open.patch
# Support Aarch64 architecture.
Patch10: ltrace-0.7.91-aarch64.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1064406
Patch11: ltrace-0.7.2-e_machine.patch
# Support for ppc64le, backported from upstream.
# http://anonscm.debian.org/gitweb/?p=collab-maint/ltrace.git;a=commit;h=eea4ad2cce289753aaa35b4e0258a76d8f8f367c
# https://bugzilla.redhat.com/show_bug.cgi?id=1131956
Patch13: ltrace-0.7.91-ppc64le-support.patch
# 35a9677dc9dcb7909ebd28f30200474d7e8b660f,
# 437d2377119036346f4dbd93039c847b4cc9d0be,
# eb3993420734f091cde9a6053ca6b4edcf9ae334
Patch14: ltrace-0.7.91-ppc64le-fixes.patch
# http://anonscm.debian.org/gitweb/?p=collab-maint/ltrace.git;a=commit;h=2e9f9f1f5d0fb223b109429b9c904504b7f638e2
# http://anonscm.debian.org/gitweb/?p=collab-maint/ltrace.git;a=commit;h=f96635a03b3868057db5c2d7972d5533e2068345
Patch15: ltrace-0.7.91-parser-ws_after_id.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1171165
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=d8f1287b85e2c2b2ae0235809e956f4365e53c45
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=d80c5371454383e3f9978622e5578cf02af8c44c
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=bf82100966deda9c7d26ad085d97c08126a8ae88
Patch16: ltrace-0.7.91-ppc-bias.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1158714
Patch17: ltrace-0.7.91-x86-plt_map.patch
Patch18: ltrace-0.7.91-x86-unused_label.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1170315
Patch19: ltrace-0.7.91-unwind-elfutils.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1208351
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=4724bd5a4a19db117a1d280b9d1a3508fd4e03fa
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=72ee29639c55b5942bc07c8ed0013005f8fc5a97
Patch20: ltrace-0.7.91-multithread-no-f-1.patch
Patch21: ltrace-0.7.91-multithread-no-f-2.patch
# Fix problems with building a number of test cases.
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=694d19ff14017926454771cbb63a22355b72f1bf
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=a3a03622fb4ca9772dca13eae724a94ba1e728f4
Patch22: ltrace-0.7.91-testsuite-includes.patch
Patch23: ltrace-0.7.91-testsuite-includes-2.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1210653
# http://anonscm.debian.org/cgit/collab-maint/ltrace.git/commit/?id=eea6091f8672b01f7f022b0fc367e0f568225ffc
Patch24: ltrace-0.7.91-ppc64le-configure.patch
Patch25: ltrace-rh1307754.patch
# GCC now warns (errors) on "tautological compares", and readdir_r is deprecated.
Patch26: ltrace-0.7.91-tautology.patch
# ARM code has unreachable code after switch statement, move initialization
Patch27: ltrace-rh1423913.patch
# AARCH64 large parameters and syscall testsuite fixes.
Patch28: ltrace-0.7.91-aarch64-params.patch
# gcc-9 fix. Avoid passing NULL as argument to %s
Patch29: ltrace-0.7.91-null.patch
# Adds support for CET PLTs via second-plt lookups.
Patch30: ltrace-0.7.91-cet.patch
# Extra #includes for gcc 9
Patch31: ltrace-0.7.91-aarch64-headers.patch
# Testsuite: AARCH64 ifuncs not supported yet yet.
Patch32: ltrace-rh1225568.patch
# testsuite fixes for pre-installed config files
Patch33: ltrace-0.7.91-testsuite-system_call_params.patch
# Ignore bogus files from the environment
Patch34: ltrace-0.7.91-XDG_CONFIG_DIRS.patch
# GCC erroneously warns about uninitialized values
Patch35: ltrace-0.7.91-rh1799619.patch
# Support for both SC and SCV sycall insns
Patch36: ltrace-0.7.91-ppc64le-scv.patch
Patch37: ltrace-0.7.91-W-use-after-free.patch
%description
Ltrace is a debugging program which runs a specified command until the
command exits. While the command is executing, ltrace intercepts and
@ -146,43 +28,6 @@ execution of processes.
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p1
%build
autoreconf -i
@ -210,6 +55,36 @@ echo ====================TESTING END=====================
%{_datadir}/ltrace
%changelog
* Tue Sep 16 2025 DJ Delorie <dj@redhat.com> - 0.8.1-1
- Rebased to ltrace 0.8.1
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.91-53
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.91-52
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.91-51
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.91-50
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.91-49
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.91-48
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.91-47
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.91-46
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri May 03 2022 Carlos O'Donell <carlos@redhat.com> - 0.7.91-45
- Rebuild ltrace for rawhide (#2046722)
* Thu Jan 27 2022 DJ Delorie <dj@redhat.com> - 0.7.91-44
- Fix use-after-free cases.

View file

@ -3,4 +3,4 @@ discover:
how: fmf
directory: tests
execute:
how: beakerlib
how: tmt

View file

@ -1 +1 @@
9db3bdee7cf3e11c87d8cc7673d4d25b ltrace-0.7.91.tar.bz2
SHA512 (ltrace-0.8.1.tar.bz2) = 68fdf10abb3c9534987cb4fcf2531502f8376c56299d56908406ba903fa63af2e0a82c3b902ed0cd47e4985154155a4e9387a11ada066515de26486301dddbaf

View file

@ -8,6 +8,8 @@
#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
void child() {
printf("Fork Child\n");
@ -24,7 +26,7 @@ int main() {
child();
else {
printf("My child pid is %d\n",pid);
wait();
wait(NULL);
}
return 0;
}

View file

@ -55,8 +55,8 @@ rlJournalStart
fi
;;
esac
elif rlIsRHEL 9 && [[ $PACKAGE =~ ^ltrace ]] && [ "$(arch)" = "ppc64le" ]; then
rlLogWarning "RHEL-9 ltrace fails to trace system binaries on ppc64le due to bz#1906881, hence skipping failure checking"
elif rlIsRHEL ">=9" && [[ $PACKAGE =~ ^ltrace ]] && [ "$(arch)" = "ppc64le" ]; then
rlLogWarning "RHEL >=9 ltrace fails to trace system binaries on ppc64le due to bz#1906881, hence skipping failure checking"
skip_test=1
elif rlIsFedora 33 && [ "$(arch)" = "ppc64le" ]; then
rlLogWarning "FC33 ltrace fails to trace system binaries on ppc64le due to bz#1902770, hence skipping failure checking"

View file

@ -3,6 +3,7 @@
#include <netdb.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <unistd.h>
#ifndef NI_MAXHOST

View file

@ -25,7 +25,7 @@ export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
FILES=$(METADATA) runtest.sh Makefile PURPOSE reproducer.c
.PHONY: all install download clean

View file

@ -0,0 +1,7 @@
#include <unistd.h>
int main()
{
alarm(42);
return 0;
}

View file

@ -28,11 +28,12 @@ rlJournalStart
rlAssertRpm $(rpm -qf $(which gcc))
rlShowRunningKernel
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "cp reproducer.c $TmpDir"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest "ltrace with -o and -c options tracing testing binary"
rlRun "echo 'int main(){alarm(42);return 0;}'| gcc -x c -o test.bin -"
rlRun "gcc -x c -o test.bin reproducer.c"
rlRun "ltrace -o ltrace-test.log -c ./test.bin" 0 "ltrace is crunching a testing binary"
rlRun -l "cat ltrace-test.log"
rlAssertGrep "alarm" ltrace-test.log
@ -58,8 +59,8 @@ rlJournalStart
fi
;;
esac
elif rlIsRHEL 9 && [[ $PACKAGE =~ ^ltrace ]] && [ "$(arch)" = "ppc64le" ]; then
rlLogWarning "RHEL-9 ltrace fails to trace system binaries on ppc64le due to bz#1906881, hence skipping failure checking"
elif rlIsRHEL ">=9" && [[ $PACKAGE =~ ^ltrace ]] && [ "$(arch)" = "ppc64le" ]; then
rlLogWarning "RHEL >=9 ltrace fails to trace system binaries on ppc64le due to bz#1906881, hence skipping failure checking"
skip_system_binary_test=1
elif rlIsFedora 33 && [ "$(arch)" = "ppc64le" ]; then
rlLogWarning "FC33 ltrace fails to trace system binaries on ppc64le due to bz#1902770, hence skipping failure checking"
@ -67,15 +68,22 @@ rlJournalStart
fi
# ltrace no longer reports __libc_start_main on rhel-8 x86_64 (rhbz#1654734)
if grep "ioctl" ltrace-test-sys.log; then
# search for either malloc or ioctl.
func_found=0
for traced_func in "malloc" "ioctl"; do
if grep "$traced_func" ltrace-test-sys.log; then
func_found=1
fi
done
if [ $func_found -ne 0 ]; then
if [ $skip_system_binary_test ]; then
rlLogWarning "Test was skipped but it seems ok. Review skip check."
fi
else
if [ $skip_system_binary_test ]; then
rlLogInfo "ltrace output does not contain ioctl calls (expected failure)"
rlLogInfo "ltrace output does not contain ioctl or malloc calls (expected failure)"
else
rlFail "ltrace output does not contain ioctl calls"
rlFail "ltrace output does not contain ioctl or malloc calls"
fi
fi

View file

@ -42,6 +42,7 @@ rlJournalStart
#include <stdio.h>
#include <sys/types.h>
#include <pwd.h>
#include <unistd.h>
int main()
{

View file

@ -32,7 +32,7 @@ CMD='ltrace'
BIN=$(which --skip-alias $CMD)
PACKAGE="${PACKAGE:-$(rpm -qf --qf='%{name}\n' $BIN)}"
if rlIsRHEL 9 || rlIsFedora; then
if rlIsRHEL ">=9" || rlIsFedora; then
PROC_NAME=dbus-broker
SERVICE_NAME=dbus-broker
elif rlIsRHEL 6; then
@ -46,19 +46,19 @@ fi
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "pgrep $PROC_NAME || service $SERVICE_NAME start" 0 "Checking/starting $SERVICE_NAME"
rlRun "pgrep -x $PROC_NAME || service $SERVICE_NAME start" 0 "Checking/starting $SERVICE_NAME"
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
rlRun "PID=$(pidof $PROC_NAME)"
rlRun "PID='$(pidof -s $PROC_NAME)'"
# try to ltrace dbus-daemon. If there is a bug (BZ#1360259), it will crash
rlWatchdog "ltrace -S -p $PID > output.log 2>&1" 30 INT
rlAssertEquals "ltrace is expected to be terminated by watchdog" 1 "$?"
rlLog "output.log: $(cat output.log)"
rlAssertNotGrep "\(Assertion.*failed\|Segmentation fault\)" output.log
rlAssertEquals "$PROC_NAME is expected to be still running" $PID "$(pidof $PROC_NAME)"
rlAssertEquals "$PROC_NAME is expected to be still running" $PID "$(pidof -s $PROC_NAME)"
rlFileSubmit output.log
rlPhaseEnd

View file

@ -29,7 +29,7 @@ export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
FILES=$(METADATA) runtest.sh Makefile PURPOSE reproducer.c
.PHONY: all install download clean

View file

@ -12,6 +12,8 @@ recommend:
- gcc
- libgcc
- glibc-devel
- libgcc.i686
- glibc-devel.i686
duration: 5m
link:
- relates: https://bugzilla.redhat.com/show_bug.cgi?id=868281

View file

@ -0,0 +1,7 @@
#include <unistd.h>
int main()
{
alarm(42);
return 0;
}

View file

@ -39,14 +39,16 @@ rlJournalStart
rlAssertRpm $LTRACE_RPM
rlAssertRpm $GCC_RPM
rlAssertRpm $BINUTILS_RPM
for arch in $(rlGetPrimaryArch) $(rlGetSecondaryArch); do
ARCH="$(rlGetPrimaryArch)"
SARCH="$(rlGetSecondaryArch)"
for arch in $ARCH $SARCH; do
rlCheckRpm glibc.$arch
done
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "cp reproducer.c $TmpDir"
rlRun "pushd $TmpDir"
if [ -d /usr/lib64 ]; then
ARCH=`uname -i`
if [[ $ARCH =~ s390.* ]]; then
if rlIsRHEL '>=8'; then
rlLogInfo "RHEL-8 and newer do not support s390x 31-bit compilation"
@ -62,6 +64,9 @@ rlJournalStart
elif [[ $ARCH =~ ia64|aarch64|ppc64le ]]; then
rlLogInfo "$ARCH does not support 32-bit compilation"
MBITS=
elif rlIsRHEL ">=10"; then
rlLogInfo "RHEL >=10 does not support 32-bit packages"
MBITS=
else
MBITS=32
fi
@ -69,11 +74,11 @@ rlJournalStart
rlLogInfo "MBITS=$MBITS"
rlRun "echo 'int main(){alarm(42);return 0;}'| $GCC -fPIE -pie -x c -o a-native.out -"
rlRun "$GCC -fPIE -pie -x c reproducer.c -o a-native.out"
rlAssertExists a-native.out
if [ -n "$MBITS" ]; then
rlRun "echo 'int main(){alarm(42);return 0;}'| $GCC -fPIE -pie -m$MBITS -x c -o a-$MBITS.out -"
rlRun "$GCC -fPIE -pie -m$MBITS -x c reproducer.c -o a-$MBITS.out"
rlAssertExists a-$MBITS.out
fi
rlPhaseEnd

View file

@ -28,7 +28,7 @@ void *sub_thd(void *c)
sub_func();
}
main(int argc, char *argv[])
int main(int argc, char *argv[])
{
int i;
pthread_t thd[NTHD];
@ -39,5 +39,6 @@ main(int argc, char *argv[])
pthread_create(&thd[i], NULL, sub_thd, NULL);
}
// pause();
return 0;
}

View file

@ -1,4 +1,5 @@
#include <pthread.h>
#include <unistd.h>
void *start (void *arg) {
return arg;

View file

@ -1,4 +1,5 @@
#include <pthread.h>
#include <unistd.h>
void *start (void *arg) {
return arg;

View file

@ -1,10 +1,11 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/sem.h>
#include <pthread.h>
#include <sys/mman.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/sem.h>
#include <unistd.h>
//#include "trigger_error.h"
#define THREAD_NUM 100
@ -17,6 +18,14 @@ int fullid;
int emptyid;
int mutxid;
union semun
{
int val; /* Value for SETVAL */
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
unsigned short *array; /* Array for GETALL, SETALL */
struct seminfo *__buf; /* Buffer for IPC_INFO (Linux-specific) */
};
void *thread_handle_a(void *temp);
int main(int argc, char *argv[])

View file

@ -1,6 +1,7 @@
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/time.h>

View file

@ -53,10 +53,16 @@ rlJournalStart
rlRun "dnf builddep -y $NVR.src.rpm"
rlRun "rpm --define='_topdir $TMP' -Uvh $NVR.src.rpm"
rlRun "${RPMBUILD_GCC:+CC=$RPMBUILD_GCC} rpmbuild --define='_topdir $TMP' -bc SPECS/${CMD}.spec"
MAKEFILE_PATH=$(ls BUILD/${CMD}-*/Makefile 2>/dev/null)
if [[ -z "$MAKEFILE_PATH" ]]; then
MAKEFILE_PATH=$(ls BUILD/${CMD}-*/${CMD}-*/Makefile 2>/dev/null)
fi
rlLogInfo "MAKEFILE_PATH=$MAKEFILE_PATH"
rlPhaseEnd
rlPhaseStartTest
rlRun "pushd BUILD/${CMD}-*"
rlRun "pushd ${MAKEFILE_PATH%/Makefile}"
# known issues to be ignored
ignore_list=''