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?

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