Commit d4595f3c authored by knielsen@ymer.(none)'s avatar knielsen@ymer.(none)

Do not link /usr/lib/debug/* on Debian <=3.1, as it causes broken stack

traces in Valgrind (broken libc6-dbg).
Installing libc6-dbg on Debian will still provide proper bactraces, even
without setting LD_LIBRARY_PATH explicitly.
parent 8512b7e5
...@@ -13,6 +13,8 @@ sub mtr_tofile ($@); ...@@ -13,6 +13,8 @@ sub mtr_tofile ($@);
sub mtr_tonewfile($@); sub mtr_tonewfile($@);
sub mtr_lastlinefromfile($); sub mtr_lastlinefromfile($);
sub mtr_appendfile_to_file ($$); sub mtr_appendfile_to_file ($$);
sub mtr_grab_file($);
############################################################################## ##############################################################################
# #
...@@ -128,6 +130,7 @@ sub unspace { ...@@ -128,6 +130,7 @@ sub unspace {
return "$quote$string$quote"; return "$quote$string$quote";
} }
# Read a whole file, stripping leading and trailing whitespace.
sub mtr_fromfile ($) { sub mtr_fromfile ($) {
my $file= shift; my $file= shift;
...@@ -181,5 +184,16 @@ sub mtr_appendfile_to_file ($$) { ...@@ -181,5 +184,16 @@ sub mtr_appendfile_to_file ($$) {
close TOFILE; close TOFILE;
} }
# Read a whole file verbatim.
sub mtr_grab_file($) {
my $file= shift;
open(FILE, '<', $file)
or return undef;
local $/= undef;
my $data= scalar(<FILE>);
close FILE;
return $data;
}
1; 1;
...@@ -1557,9 +1557,17 @@ sub environment_setup () { ...@@ -1557,9 +1557,17 @@ sub environment_setup () {
# impossible to add correct supressions, that means if "/usr/lib/debug" # impossible to add correct supressions, that means if "/usr/lib/debug"
# is available, it should be added to # is available, it should be added to
# LD_LIBRARY_PATH # LD_LIBRARY_PATH
#
# But pthread is broken in libc6-dbg on Debian <= 3.1 (see Debian
# bug 399035, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=399035),
# so don't change LD_LIBRARY_PATH on that platform.
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
my $debug_libraries_path= "/usr/lib/debug"; my $debug_libraries_path= "/usr/lib/debug";
if ( $opt_valgrind and -d $debug_libraries_path ) my $deb_version;
if ( $opt_valgrind and -d $debug_libraries_path and
(! -e '/etc/debian_version' or
($deb_version= mtr_grab_file('/etc/debian_version')) == 0 or
$deb_version > 3.1 ) )
{ {
push(@ld_library_paths, $debug_libraries_path); push(@ld_library_paths, $debug_libraries_path);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment