arm64: enable harden branch predictor
[openwrt/openwrt.git] / scripts / remote-gdb
index 98ec768f4bdc4a55d19818622556a47dbf755902..99c9d386d3862fa2c0a35b71cdcce9febdd7f3e9 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
 
 use strict;
 use warnings;
@@ -14,7 +14,7 @@ if( opendir SD, "$Bin/../staging_dir" )
 {
        my ( $tid, $arch, $libc, @arches );
 
-       if( $ARGV[1] =~ m!\btarget-(.+?)_(([^_]+libc|musl)[^/]+)\b!i )
+       if( $ARGV[1] =~ m!\btarget-(.+?)_(([^/_]+libc|musl)[^/_]*)\b!i )
        {
                print("Using target $1 ($2)\n");
                ($arch, $libc) = ($1, $2);
@@ -26,7 +26,7 @@ if( opendir SD, "$Bin/../staging_dir" )
 
                while( defined( my $e = readdir SD ) )
                {
-                       if( -d "$Bin/../staging_dir/$e" && $e =~ /^target-(.+?)_(([^_]+.libc|musl)+)/i )
+                       if( -d "$Bin/../staging_dir/$e" && $e =~ /^target-(.+?)_(([^_]+libc|musl).*)/i )
                        {
                                push @arches, [ $1, $2 ];
                                printf(" %2d) %s (%s)\n", @arches + 0, $1, $2);
@@ -58,10 +58,10 @@ if( opendir SD, "$Bin/../staging_dir" )
                my ( $fh, $fp ) = tempfile();
 
                # Find sysroot
-               my ($sysroot) = glob("$Bin/../staging_dir/target-${arch}_${libc}/root-*/");
+               my ($sysroot) = glob("$Bin/../staging_dir/target-${arch}_${libc}*/root-*/");
 
                print $fh "set sysroot $sysroot\n" if $sysroot;
-               my $cmd = "target remote";
+               my $cmd = "target extended-remote";
                -f $ARGV[0] and $cmd = "core-file";
                print $fh "$cmd $ARGV[0]\n";