This is the mail archive of the cygwin-cvs@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[newlib-cygwin] ldd: terminate process on hitting breakpoint


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=9f54ceadae4336b83a724bd3370c0c2dcd00b935

commit 9f54ceadae4336b83a724bd3370c0c2dcd00b935
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Sat Jul 2 12:27:04 2016 +0200

    ldd: terminate process on hitting breakpoint
    
    So far ldd terminates the inferior process as soon as some thread
    is started.  Apparently threads are started from even ntdll.dll
    before the main thread of the application is started.  As a result
    the dll list is cut short since ldd terminates prematurely.
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/utils/ldd.cc | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/winsup/utils/ldd.cc b/winsup/utils/ldd.cc
index 152119f..8a33984 100644
--- a/winsup/utils/ldd.cc
+++ b/winsup/utils/ldd.cc
@@ -352,13 +352,10 @@ report (const char *in_fn, bool multiple)
 	      break;
 	    case STATUS_BREAKPOINT:
 	      if (!isdll)
-		cont = DBG_EXCEPTION_NOT_HANDLED;
+		TerminateProcess (hProcess, 0);
 	      break;
 	    }
 	  break;
-	case CREATE_THREAD_DEBUG_EVENT:
-	  TerminateProcess (hProcess, 0);
-	  break;
 	case EXIT_PROCESS_DEBUG_EVENT:
 print_and_exit:
 	  print_dlls (&dll_list, isdll ? fn_win : NULL, process_fn);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]