From c4f1429d5274f9729cd3254813bacfda48f7ef95 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Thu, 26 Feb 2015 23:18:12 +0000 Subject: [PATCH] Add a way for boards to request usage of the force-unbuffered-mode trick --- gdb/testsuite/boards/native-gdbserver.exp | 2 ++ gdb/testsuite/lib/gdb.exp | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/gdb/testsuite/boards/native-gdbserver.exp b/gdb/testsuite/boards/native-gdbserver.exp index f00ef60..b3bc889 100644 --- a/gdb/testsuite/boards/native-gdbserver.exp +++ b/gdb/testsuite/boards/native-gdbserver.exp @@ -26,6 +26,8 @@ load_board_description "gdbserver-base" # This gdbserver can only run a process once per session. set_board_info gdb,do_reload_on_run 1 +set_board_info gdb,force_unbuffered_mode 1 + # There's no support for argument-passing (yet). set_board_info noargs 1 diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index e4722d2..e7d5e48 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -2850,6 +2850,13 @@ proc gdb_wrapper_init { args } { global gdb_saved_set_unbuffered_mode_obj set gdb_saved_set_unbuffered_mode_obj "" +proc force_unbuffered_mode_p {} { + if {[target_info exists gdb,force_unbuffered_mode] && [target_info gdb,force_unbuffered_mode]} { + return 1 + } + return 0 +} + proc gdb_compile {source dest type options} { global GDB_TESTCASE_OPTIONS global gdb_wrapper_file @@ -2947,13 +2954,14 @@ proc gdb_compile {source dest type options} { } if { $type == "executable" } { - if { ([istarget "*-*-mingw*"] - || [istarget "*-*-*djgpp"] - || [istarget "*-*-cygwin*"])} { + if { [force_unbuffered_mode_p] + || [istarget "*-*-mingw*"] + || [istarget "*-*-*djgpp"] + || [istarget "*-*-cygwin*"]} { # Force output to unbuffered mode, by linking in an object file # with a global contructor that calls setvbuf. # - # Compile the special object seperatelly for two reasons: + # Compile the special object seperately for two reasons: # 1) Insulate it from $options. # 2) Avoid compiling it for every gdb_compile invocation, # which is time consuming, especially if we're remote -- 1.9.3