diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ee8385ee1c..4e3445fc99 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2010-01-14 Jan Kratochvil + + * linux-tdep.c: Remove includes gdbcore.h, observer.h and elf-bfd.h. + (check_is_pie_binary, _initialize_linux_tdep): Remove. + 2010-01-14 Jan Kratochvil * solib-svr4.c (svr4_exec_displacement): New comment for entry_point. diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c index 1717e55c78..07fd67c887 100644 --- a/gdb/linux-tdep.c +++ b/gdb/linux-tdep.c @@ -18,13 +18,10 @@ along with this program. If not, see . */ #include "defs.h" -#include "gdbcore.h" #include "gdbtypes.h" #include "linux-tdep.h" -#include "observer.h" #include "auxv.h" #include "target.h" -#include "elf-bfd.h" #include "elf/common.h" /* This function is suitable for architectures that don't @@ -155,33 +152,3 @@ linux_has_shared_address_space (void) return target_is_uclinux; } - -/* Observer for the executable_changed event, to check whether the new - exec binary is a PIE (Position Independent Executable) specimen, which - is currently unsupported. */ - -static void -check_is_pie_binary (void) -{ - Elf_Internal_Ehdr *elf_hdr; - - if (!exec_bfd) - return; - else if (bfd_get_flavour (exec_bfd) != bfd_target_elf_flavour) - return; - - if (elf_tdata (exec_bfd)->elf_header->e_type == ET_DYN) - warning (_("\ -The current binary is a PIE (Position Independent Executable), which\n\ -GDB does NOT currently support. Most debugger features will fail if used\n\ -in this session.\n")); -} - -/* Provide a prototype to silence -Wmissing-prototypes. */ -extern initialize_file_ftype _initialize_linux_tdep; - -void -_initialize_linux_tdep (void) -{ - observer_attach_executable_changed (check_is_pie_binary); -} diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index c9405ae628..e81c4e987a 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2010-01-14 Jan Kratochvil + + * gdb.base/pie-support.exp, gdb.base/pie-support.c: Remove. + 2010-01-14 Jan Kratochvil * gdb.base/valgrind-db-attach.exp, gdb.base/valgrind-db-attach.c: New. diff --git a/gdb/testsuite/gdb.base/pie-support.c b/gdb/testsuite/gdb.base/pie-support.c deleted file mode 100644 index 2049132a3c..0000000000 --- a/gdb/testsuite/gdb.base/pie-support.c +++ /dev/null @@ -1,34 +0,0 @@ -/* This testcase is part of GDB, the GNU debugger. - - Copyright 2009, 2010 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 . - -*/ - -#include - -void -f1 (int a) -{ - printf ("a = %d\n", a); -} - -int -main (int argc, char *argv[]) -{ - f1 (1); - - return 0; -} diff --git a/gdb/testsuite/gdb.base/pie-support.exp b/gdb/testsuite/gdb.base/pie-support.exp deleted file mode 100644 index 79e0681a24..0000000000 --- a/gdb/testsuite/gdb.base/pie-support.exp +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 2009, 2010 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 pie-support -set srcfile ${testfile}.c -set objfile ${objdir}/${subdir}/${testfile}.o -set binfile ${objdir}/${subdir}/${testfile} - -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {quiet debug additional_flags=-fpie}] != "" } { - untested "Couldn't compile test PIE object file." - return -1 -} -if { [gdb_compile "${objfile}" "${binfile}" executable {quiet debug additional_flags=-pie}] != "" } { - untested "Couldn't compile test PIE binary." - return -1 -} - -# Get things started. - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir - -if [is_remote host] { - set binfile [remote_download host $binfile] - if { $binfile == "" } { - untested "Couldn't download remote test binary." - return -1 - } -} - -# The file command used to kill the remote target. For the benefit -# of the testsuite, preserve this behavior. -send_gdb "kill\n" -gdb_expect 120 { - -re "Kill the program being debugged. .y or n. $" { - send_gdb "y\n" - verbose "\t\tKilling previous program being debugged" - exp_continue - } - -re "$gdb_prompt $" { - # OK. - } -} - -gdb_test "file $binfile" "current binary is a PIE.*" "correctly detected PIE binary"