From beddd67132d5f8240613fd89b21ae0d2a1c7bd0f Mon Sep 17 00:00:00 2001 From: Philippe Waroquiers Date: Tue, 30 Oct 2018 21:56:32 +0100 Subject: [PATCH] Test case for 'info variables|functions' with minimal symbols. 2018-11-20 Philippe Waroquiers * gdb.base/info_minsym.c: New file. * gdb.base/info_minsym.exp: New file. --- gdb/testsuite/ChangeLog | 5 ++++ gdb/testsuite/gdb.base/info_minsym.c | 29 ++++++++++++++++++++ gdb/testsuite/gdb.base/info_minsym.exp | 38 ++++++++++++++++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 gdb/testsuite/gdb.base/info_minsym.c create mode 100644 gdb/testsuite/gdb.base/info_minsym.exp diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index daa283994c2..5b2172543a8 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-11-20 Philippe Waroquiers + + * gdb.base/info_minsym.c: New file. + * gdb.base/info_minsym.exp: New file. + 2018-11-19 Tom Tromey PR rust/23625: diff --git a/gdb/testsuite/gdb.base/info_minsym.c b/gdb/testsuite/gdb.base/info_minsym.c new file mode 100644 index 00000000000..3e28fe1b787 --- /dev/null +++ b/gdb/testsuite/gdb.base/info_minsym.c @@ -0,0 +1,29 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2018 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +static int minsym_var; + +static int minsym_fun (void) +{ + minsym_var++; +} + +int +main (void) +{ + return minsym_fun (); +} diff --git a/gdb/testsuite/gdb.base/info_minsym.exp b/gdb/testsuite/gdb.base/info_minsym.exp new file mode 100644 index 00000000000..9e4878cd0e0 --- /dev/null +++ b/gdb/testsuite/gdb.base/info_minsym.exp @@ -0,0 +1,38 @@ +# Copyright (C) 2018 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + + +# Verify 'info variables|functions' +# shows minimal symbols when no type matching is requested +# does not show minimal symbols when type matching is requested. + +set testfile info_minsym + +standard_testfile info_minsym.c + +# Compile the program without debugging information, to have minimal symbols. +if {[prepare_for_testing "failed to prepare" $testfile $srcfile {c}]} { + return -1 +} + +clean_restart ${testfile} + +gdb_test_no_output "info variables -q -t int minsym" \ + "minsym variables do not match type" +gdb_test_no_output "info functions -q -t int minsym" \ + "minsym functions do not match type" + +gdb_test "info variables -q minsym" "$hex minsym_var" "minsym variables found" +gdb_test "info functions -q minsym" "$hex minsym_fun" "minsym functions found" -- 2.30.2