From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2205) id AD5A13858D1E; Tue, 14 Feb 2023 10:53:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AD5A13858D1E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1676372037; bh=5CL+83xvPiu5/0q4RT8WMe+CkeFCh68j+UeDuZAgRME=; h=From:To:Subject:Date:From; b=xFc2BE3CxhPqIrXmy2ikEPQ1bXHfERAqjJDofWIPRVbegmJQ/Acg742nuQHhtuNdW CzSUrGCNQGjzu1q6Zxj8we8FHxMCrN9k7jW0KV0ufdnFef5xuPMfLxv/hiJjKDK+r7 ChdpOQgP4ctPOEJRx/+EgmoHidmZqwUVTAAUoY34= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Tom de Vries To: gdb-cvs@sourceware.org Subject: [binutils-gdb] [gdb/testsuite] Factor out proc linux_kernel_version X-Act-Checkin: binutils-gdb X-Git-Author: Tom de Vries X-Git-Refname: refs/heads/master X-Git-Oldrev: 0d79a2a8e2d91fc258ac795c19c13e3ab505a6c2 X-Git-Newrev: 37d75d4552d6b4d292ffb4dee92329a449288375 Message-Id: <20230214105357.AD5A13858D1E@sourceware.org> Date: Tue, 14 Feb 2023 10:53:57 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D37d75d4552d6= b4d292ffb4dee92329a449288375 commit 37d75d4552d6b4d292ffb4dee92329a449288375 Author: Tom de Vries Date: Tue Feb 14 11:53:54 2023 +0100 [gdb/testsuite] Factor out proc linux_kernel_version =20 Factor out new proc linux_kernel_version from test-case gdb.arch/i386-pkru.exp. =20 Tested on x86_64-linux. Diff: --- gdb/testsuite/gdb.arch/i386-pkru.exp | 20 ++++++-------------- gdb/testsuite/lib/gdb.exp | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/gdb/testsuite/gdb.arch/i386-pkru.exp b/gdb/testsuite/gdb.arch/= i386-pkru.exp index 90d8c1d9d4c..1f047df68ef 100644 --- a/gdb/testsuite/gdb.arch/i386-pkru.exp +++ b/gdb/testsuite/gdb.arch/i386-pkru.exp @@ -59,20 +59,12 @@ if { !$supports_pkru } { # the PKRU using ptrace, see commit 4a804c4f8356 ("x86/fpu: Allow PKRU to = be # (once again) written by ptrace."). set have_xfail 0 -if { [istarget *-*-linux*] } { - set res [remote_exec target "uname -r"] - set status [lindex $res 0] - set output [lindex $res 1] - - set re ^($decimal)\\.($decimal)\\.($decimal) - if { $status =3D=3D 0 - && [regexp $re $output dummy v1 v2 v3] =3D=3D 1 } { - set v [list $v1 $v2 $v3] - set have_xfail \ - [expr \ - [version_compare [list 5 14 0] <=3D $v] \ - && [version_compare $v < [list 6 2 0]]] - } +set v [linux_kernel_version] +if { $v !=3D {} } { + set have_xfail \ + [expr \ + [version_compare [list 5 14 0] <=3D $v] \ + && [version_compare $v < [list 6 2 0]]] } =20 # Test pkru register at startup diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 7f98f080328..e48228ed4f6 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -9374,5 +9374,28 @@ proc has_dependency { file dep } { return [regexp $dep $output] } =20 +# Detect linux kernel version and return as list of 3 numbers: major, mino= r, +# and patchlevel. On failure, return an empty list. + +gdb_caching_proc linux_kernel_version { + if { ![istarget *-*-linux*] } { + return {} + } + + set res [remote_exec target "uname -r"] + set status [lindex $res 0] + set output [lindex $res 1] + if { $status !=3D 0 } { + return {} + } + + set re ^($::decimal)\\.($::decimal)\\.($::decimal) + if { [regexp $re $output dummy v1 v2 v3] !=3D 1 } { + return {} + } + + return [list $v1 $v2 $v3] +} + # Always load compatibility stuff. load_lib future.exp