1
by Stephen Zander
Import upstream version 800.024 |
1 |
#!/usr/local/bin/perl -w
|
2 |
use Config; |
|
3 |
open(INIT,">.gdbinit") || die; |
|
4 |
my $perl = $^X; |
|
5 |
$perl = path_find($perl) unless (-f $perl); |
|
6 |
foreach (@ARGV) |
|
7 |
{
|
|
8 |
if (/[\s"]/) |
|
9 |
{
|
|
10 |
s/"/\\"/g; |
|
11 |
$_ = '"'.$_.'"'; |
|
12 |
}
|
|
13 |
}
|
|
14 |
my $args = join(' ',@ARGV); |
|
15 |
print INIT <<"END" if ($^O eq 'MSWin32'); |
|
16 |
break RunPerl; |
|
17 |
run -Mblib $args |
|
18 |
shared
|
|
19 |
break Perl_croak |
|
20 |
break Perl_warn |
|
21 |
break Perl_die |
|
22 |
break XS_DynaLoader_dl_find_symbol |
|
23 |
END
|
|
24 |
print INIT <<"END" unless ($^O eq 'MSWin32'); |
|
25 |
handle SIGWINCH pass nostop noprint |
|
26 |
break XS_DynaLoader_dl_find_symbol |
|
27 |
run -Mblib $args |
|
28 |
shared
|
|
29 |
break Perl_croak |
|
30 |
break Perl_warn |
|
31 |
break Perl_die |
|
32 |
END
|
|
33 |
close(INIT); |
|
34 |
$perl =~ s#\\#/#g; |
|
35 |
print join(' ','gdb',$perl),"\n"; |
|
36 |
system('gdb',$perl); |
|
37 |
exit(0); |
|
38 |
||
39 |
sub path_find |
|
40 |
{
|
|
41 |
my $prog = shift; |
|
42 |
foreach my $dir ('.',split($Config{'path_sep'},$ENV{'PATH'})) |
|
43 |
{
|
|
44 |
my $try = "$dir/$prog"; |
|
45 |
warn "Try $try\n"; |
|
46 |
return $try if -f $try; |
|
47 |
$try .= $Config{'exe_ext'}; |
|
48 |
return $try if -f $try; |
|
49 |
}
|
|
50 |
return $prog; |
|
51 |
}
|