On Thu, Sep 24, 2020 at 05:30:51PM +0900, Masato Asou wrote:
> The Valgrind is aborted in OpenBSD current as follows:
> 
> $ sysctl -n kern.version
> OpenBSD 6.8-beta (GENERIC.MP) #77: Wed Sep 23 15:36:00 MDT 2020
>     dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> 
> $ valgrind /bin/ls
> Abort trap
> $ 
> 
> I made fix this abort.
> 
> comment? ok?

This fixes the bug for me.  ok tobhe@

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/devel/valgrind/Makefile,v
> retrieving revision 1.24
> diff -u -p -r1.24 Makefile
> --- Makefile  22 May 2020 08:51:24 -0000      1.24
> +++ Makefile  24 Sep 2020 07:21:20 -0000
> @@ -7,7 +7,7 @@ CATEGORIES =          devel
>  
>  V =                  3.10.1
>  PV =                 20160331
> -REVISION =           17
> +REVISION =           18
>  DISTNAME =           valgrind-${V}
>  EXTRACT_SUFX =               .tar.bz2
>  
> Index: patches/patch-coregrind_link_tool_exe_openbsd_in
> ===================================================================
> RCS file: 
> /cvs/ports/devel/valgrind/patches/patch-coregrind_link_tool_exe_openbsd_in,v
> retrieving revision 1.4
> diff -u -p -r1.4 patch-coregrind_link_tool_exe_openbsd_in
> --- patches/patch-coregrind_link_tool_exe_openbsd_in  6 Nov 2019 05:25:13 
> -0000       1.4
> +++ patches/patch-coregrind_link_tool_exe_openbsd_in  24 Sep 2020 07:21:20 
> -0000
> @@ -1,16 +1,40 @@
>  --- coregrind/link_tool_exe_openbsd.in.orig  Fri Sep 27 10:40:06 2019
> -+++ coregrind/link_tool_exe_openbsd.in       Fri Sep 27 10:45:59 2019
> -@@ -77,7 +77,12 @@
> - my $origbase = 0x400000;
> - system(sprintf "sed -e 's|%x|%x|g' < $ldscript > $temp", $origbase, 
> $notebase);
> ++++ coregrind/link_tool_exe_openbsd.in       Fri Sep 25 00:50:44 2020
> +@@ -63,22 +63,13 @@
> + # The cc invokation to do the final link
> + my $cc = $ARGV[1];
>   
> --my $cmd = sprintf "$cc -static -nopie -Wl,-Ttext=0x%x -Wl,-T,$temp", 
> $textbase;
> +-# and the 'restargs' are argv[2 ..]
>  +# XXX The '-s' option was not specified when executing the install command.
>  +# Instead '--strip-all' is now executed at link time.
>  +# strip command rewrite offset and align in ELF file. Therefor, when 
> valgrind
>  +# launch memcheck-amd64-openbsd, an Abort trap occurs in the execvp() system
>  +# call.
> -+my $cmd = sprintf "$cc -static -nopie -Wl,--strip-all -Wl,-Ttext=0x%x 
> -Wl,-T,$temp", $textbase;
> ++my $cmd = sprintf "$cc -static -nopie -Wl,--strip-all -Wl,-Ttext=0x%x", 
> "$ala + 0x1000";
>   
> +-# so, build up the complete command here:
> +-# 'cc' -static -Ttext='ala' 'restargs'
> +-
> +-my $textbase = eval("$ala + 0x1000");
> +-my $notebase = eval("$ala");
> +-
> +-my $ldscript = "/usr/libdata/ldscripts/elf_x86_64_obsd.x";
> +-my $temp = `mktemp /tmp/XXXXXX`;
> +-chomp($temp);
> +-my $origbase = 0x400000;
> +-system(sprintf "sed -e 's|%x|%x|g' < $ldscript > $temp", $origbase, 
> $notebase);
> +-
> +-my $cmd = sprintf "$cc -static -nopie -Wl,-Ttext=0x%x -Wl,-T,$temp", 
> $textbase;
> +-
>   # Add the rest of the parameters
>   foreach my $n (2 .. $#ARGV) {
> +    $cmd = "$cmd $ARGV[$n]";
> +@@ -89,8 +80,6 @@
> + 
> + # Execute the command:
> + my $r = system("$cmd");
> +-
> +-unlink $temp;
> + 
> + if ($r == 0) {
> +     exit 0;
> --
> ASOU Masato
> 

Reply via email to