Index: gdb-7.0.1/gdb/testsuite/gdb.base/set-solib-absolute-prefix.c =================================================================== --- /dev/null +++ gdb-7.0.1/gdb/testsuite/gdb.base/set-solib-absolute-prefix.c @@ -0,0 +1,26 @@ +/* Copyright (C) 2012 Free Software Foundation, Inc. + + This file is part of GDB. + + 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 . */ + +#include +#include + +int +main (int argc, char *argv[]) +{ + printf ("Hello, World.\n"); + abort (); +} Index: gdb-7.0.1/gdb/testsuite/gdb.base/set-solib-absolute-prefix.exp =================================================================== --- /dev/null +++ gdb-7.0.1/gdb/testsuite/gdb.base/set-solib-absolute-prefix.exp @@ -0,0 +1,39 @@ +# Copyright 2012 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 . + +set testfile "set-solib-absolute-prefix" +set srcfile ${testfile}.c + +# It is necessary to verify if the binary is 32-bit, so that the system +# call `__kernel_vsyscall' originates from vDSO. + +if { ![is_ilp32_target] } { + return -1 +} + +if { [prepare_for_testing $testfile.exp $testfile $srcfile] } { + return -1 +} + +if { ![runto_main] } { + return -1 +} + +gdb_test "continue" "Program received signal SIGABRT, Aborted.*" \ + "continue until abort" +gdb_test "set solib-absolute-prefix /BOGUS_DIRECT" \ + ".*warning: Unable to find dynamic linker breakpoint function.*" \ + "set solib-absolute-prefix" +gdb_test "bt" "__kernel_vsyscall.*" "backtrace with __kernel_vsyscall"