forked from rpms/elfutils
		
	Drop upstreamed patches elfutils-0.190-fix-core-noncontig.patch elfutils-0.190-gcc-14.patch elfutils-0.190-remove-ET_REL-unstrip-test.patch Drop testcore-noncontig.bz2 Add elfutils-0.191-profile-empty-urls.patch Add elfutils-0.191-riscv-flatten.patch Add feature flag for reenabling elfutils-libelf-devel-static and elfutils-devel-static Resolves: RHEL-29197
		
			
				
	
	
		
			97 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| commit 0ba2e4aa9945019a8c6db95d27d142b660a63a79
 | |
| Author: Mark Wielaard <mark@klomp.org>
 | |
| Date:   Tue Mar 26 21:42:39 2024 +0100
 | |
| 
 | |
|     config: Make sure profile.sh succeeds with set -e and set -o pipefail
 | |
|     
 | |
|     profile.sh might fail with set -o pipefail because:
 | |
|     
 | |
|     cat /dev/null "${prefix}/etc/debuginfod"/*.urls 2>/dev/null | tr '\n' ' '
 | |
|     
 | |
|     might fail when there isn't an *.urls file the first command in the
 | |
|     pipe fails (the 2>/dev/null is there to hide that failure).
 | |
|     
 | |
|     This can be fixed by adding || : at the end.
 | |
|     
 | |
|     This works because : always succeeds and  produces no outpur which is
 | |
|     what the script expects when the command would fail.
 | |
|     
 | |
|     Also add a new testcase that runs profile.sh with bout  set -e
 | |
|     and set -o pipefail.
 | |
|     
 | |
|             * config/profile.sh.in: Add || : at end of pipe.
 | |
|             * tests/run-debuginfod-client-profile.sh: New test.
 | |
|             * tests/Makefile.am (TESTS): Add run-debuginfod-client-profile.sh.
 | |
|             (EXTRA_DIST): Likewise.
 | |
|     
 | |
|     https://sourceware.org/bugzilla/show_bug.cgi?id=31562
 | |
|     
 | |
|     Signed-off-by: Mark Wielaard <mark@klomp.org>
 | |
| 
 | |
| diff --git a/config/profile.sh.in b/config/profile.sh.in
 | |
| index 3f4397dcb44d..84d3260ddcfc 100644
 | |
| --- a/config/profile.sh.in
 | |
| +++ b/config/profile.sh.in
 | |
| @@ -6,7 +6,7 @@
 | |
|  
 | |
|  if [ -z "$DEBUGINFOD_URLS" ]; then
 | |
|      prefix="@prefix@"
 | |
| -    DEBUGINFOD_URLS=$(cat /dev/null "@sysconfdir@/debuginfod"/*.urls 2>/dev/null | tr '\n' ' ')
 | |
| +    DEBUGINFOD_URLS=$(cat /dev/null "@sysconfdir@/debuginfod"/*.urls 2>/dev/null | tr '\n' ' ' || :)
 | |
|      [ -n "$DEBUGINFOD_URLS" ] && export DEBUGINFOD_URLS || unset DEBUGINFOD_URLS
 | |
|      unset prefix
 | |
|  fi
 | |
| diff --git a/tests/Makefile.am b/tests/Makefile.am
 | |
| index 9315ec3bbe4c..344d6706e16e 100644
 | |
| --- a/tests/Makefile.am
 | |
| +++ b/tests/Makefile.am
 | |
| @@ -209,6 +209,7 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \
 | |
|  	run-disasm-riscv64.sh \
 | |
|  	run-pt_gnu_prop-tests.sh \
 | |
|  	run-getphdrnum.sh run-test-includes.sh \
 | |
| +	run-debuginfod-client-profile.sh \
 | |
|  	leb128 read_unaligned \
 | |
|  	msg_tst system-elf-libelf-test system-elf-gelf-test \
 | |
|  	$(asm_TESTS) run-disasm-bpf.sh run-low_high_pc-dw-form-indirect.sh \
 | |
| @@ -636,6 +637,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
 | |
|  	     testfile_pt_gnu_prop.bz2 testfile_pt_gnu_prop32.bz2 \
 | |
|  	     run-getphdrnum.sh testfile-phdrs.elf.bz2 \
 | |
|  	     run-test-includes.sh run-low_high_pc-dw-form-indirect.sh \
 | |
| +	     run-debuginfod-client-profile.sh \
 | |
|  	     run-readelf-dw-form-indirect.sh testfile-dw-form-indirect.bz2 \
 | |
|  	     run-nvidia-extended-linemap-libdw.sh run-nvidia-extended-linemap-readelf.sh \
 | |
|  	     testfile_nvidia_linemap.bz2 \
 | |
| diff --git a/tests/run-debuginfod-client-profile.sh b/tests/run-debuginfod-client-profile.sh
 | |
| new file mode 100755
 | |
| index 000000000000..7435ced83f15
 | |
| --- /dev/null
 | |
| +++ b/tests/run-debuginfod-client-profile.sh
 | |
| @@ -0,0 +1,27 @@
 | |
| +#! /bin/sh
 | |
| +# Copyright (C) 2024 Mark J. Wielaard
 | |
| +# This file is part of elfutils.
 | |
| +#
 | |
| +# This file 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.
 | |
| +#
 | |
| +# elfutils 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/>.
 | |
| +
 | |
| +. $srcdir/test-subr.sh
 | |
| +
 | |
| +# Make sure the profile.sh or profile.d/debuginfod.sh works even with
 | |
| +# set -e (any command error is an error) and set -o pipefail (any error
 | |
| +# in a pipe fails the whole pipe command).
 | |
| +
 | |
| +set -e
 | |
| +set -o pipefail
 | |
| +
 | |
| +source ${abs_top_builddir}/config/profile.sh
 |