From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 55119 invoked by alias); 22 Nov 2016 07:17:29 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 55077 invoked by uid 89); 22 Nov 2016 07:17:27 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: =?ISO-8859-1?Q?No, score=-3.6 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=8:h=c3, disconnect, H*r:ip*10.1.1.1, Hx-spam-relays-external:10.1.1.1?= X-HELO: mail.marco.de Received: from mail.marco.de (HELO mail.marco.de) (93.104.246.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 22 Nov 2016 07:17:17 +0000 Received: from mailbox.marco.de (mailbox [10.1.2.4]) by mail.marco.de (Postfix) with ESMTP id 2427F76213A; Tue, 22 Nov 2016 08:17:15 +0100 (CET) Received: from [10.1.1.1] (hera.dachau.marco.de [10.1.1.1]) (Authenticated sender: leo) by mailbox.marco.de (Postfix) with ESMTPSA; Tue, 22 Nov 2016 08:17:15 +0100 (CET) Subject: Re: [bug?] [patch] target remote and multiprocess+ To: Luis Machado , gdb@sourceware.org References: <5832E93B.9060507@marco.de> From: Matthias Pfaller Message-ID: <5833F0F9.6050007@marco.de> Date: Tue, 22 Nov 2016 07:17:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms060706050004080505060601" X-IsSubscribed: yes X-SW-Source: 2016-11/txt/msg00037.txt.bz2 This is a cryptographically signed message in MIME format. --------------ms060706050004080505060601 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 3482 On 11/21/2016 05:26 PM, Luis Machado wrote: > On 11/21/2016 06:31 AM, Matthias Pfaller wrote: >> Hi, >> >> in order to have per thread watch and break points I resorted to report >> "multiprocess+;" and put each thread into its very own "process". But >> when I did this, I got the following display: >> >> (gdb) info inferiors >> Num Description Executable >> * 1 process 536909700 firmware/firmware.elf >> (gdb) info threads >> Id Target Id Frame >> 1 Thread 536949956.536949956 (gdbstub R 00000000 0) >> (running) >> 2 Thread 536948708.536948708 (lightshow S 2000fac4 36) >> (running) >> 3 Thread 536947332.536947332 (dspleds S 2000faf2 33) >> .. >> (gdb) >> >> I don't think this is the way this should work. I did a simple patch to >> remote.c and inferior.c. Now I get (don't mind the different lwp/pid >> format): >> (gdb) info inferiors >> Num Description Executable >> 1 200134c4 firmware.elf >> 2 20012fe4 firmware.elf >> ... >> (gdb) info threads >> Id Target Id Frame >> 1.1 200134c4 (gdbstub R 00000000 0) (running) >> 2.1 20012fe4 (lightshow S 2000fac4 29) (running) >> ... >> * 27.1 20009784 (idle R 00000000 0) (running) >> (gdb) >> [patch omitted] >> Can anybody tell me how this is used at the moment and weather my patch >> is interfering with the current usage? >> >> I have done a second patch that limits stop_all_threads and >> restart_threads to the tasks belonging to the stopped inferior because I >> cannot stop all threads while debugging. Is there any interest in this? >> >> regards, Matthias >> >=20 > Sorry, i don't think this patch is acceptable as is. GDB would need to > learn how to handle thread-specific break/watch requests. That will take > a bit more work though. >=20 > The above patch does interfere with the way GDB handles things. I > believe the testsuite will show regressions if you run it with this > patch applied. Actually my patch should not interfere at all (I hope ...). At the moment gdb inserts global watch and break points into all inferiors that get debugged. Only when gdbarch_has_global_breakpoints returns true the breakpoint is inserted into just one inferior. In all other cases the correct inferior has to be selected before planting the break point. When I finally understood this, I made my target return "multiprocess+;". When I return the thread list to gdb I place every thread into its very own process. That way gdb automatically does the correct thing when I place a thread specific break point (i.e. selecting the correct general process before setting the break point). But when I reported the thread list gdb would not construct a correct inferior list (with remote.c). My patch tries to fix this. Once all this might have worked for the only arch that returns gdbarch_has_global_breakpoints as true (dicos). But I just can't see how this would work in the normal case. The other thing I tried to fix are gdb crashes on disconnect/reconnect with a multiprocess+ target. regards, Matthias --=20 Matthias Pfaller Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8131 5161 41 Hans-B=C3=B6ckler-Str. 2, D 85221 Dachau Fax +49 8131 5161 66 http://www.marco.de/ Email leo@marco.de Gesch=C3=A4ftsf=C3=BChrer Martin Reuter HRB 171775 Amtsgericht = M=C3=BCnchen --------------ms060706050004080505060601 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature Content-length: 5897 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG 9w0BBwEAAKCCC88wggXiMIIDyqADAgECAhBrp4p9CteI1lEK+Vnk57ThMA0G CSqGSIb3DQEBCwUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENv bSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT aWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTAeFw0xNTEyMTYwMTAwMDVaFw0zMDEyMTYwMTAwMDVaMHUxCzAJBgNV BAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFy dENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRD b20gQ2xhc3MgMSBDbGllbnQgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQC9fdr3w6J9g/Zbgv3bW1+uHht1wLUZr5gkrLtXedg17AkefMyU GwrQdvwObhajcVmnKVxhrUwkZPXRAwZZosRHfEIi5FH7x6SV/8Sp5lZEuiMn vMFG2MzLA84J6Ws5T4NfXZ0qn4TPgnr3X2vPVS51M7Ua9nIJgn8jvTra4eyy QzxvuA/GZwKg7VQfDCmCS+kICslYYWgXOMt2xlsSslxLce0CGWRsT8EpMyt1 iDflSjXZIsE7m1uTyHaKZspMLyIyz6mySu8j8BWWHpChNNeTrFuhVfrOAyDP FJVUvKZCLKBhibTLloyy+LatoWELrjdI4a8StZY8+dIR9t4APXGzAgMBAAGj ggFkMIIBYDAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0lBBYwFAYIKwYBBQUHAwIG CCsGAQUFBwMEMBIGA1UdEwEB/wQIMAYBAf8CAQAwMgYDVR0fBCswKTAnoCWg I4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMGYGCCsGAQUF BwEBBFowWDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Auc3RhcnRzc2wuY29t MDAGCCsGAQUFBzAChiRodHRwOi8vYWlhLnN0YXJ0c3NsLmNvbS9jZXJ0cy9j YS5jcnQwHQYDVR0OBBYEFCSBbDlhvkkPj7cbRivJKLUnSG1oMB8GA1UdIwQY MBaAFE4L7xqkQFulF2mHMMo0aEPQQa7yMD8GA1UdIAQ4MDYwNAYEVR0gADAs MCoGCCsGAQUFBwIBFh5odHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kw DQYJKoZIhvcNAQELBQADggIBAIvj94fsAYuErQ8BAluc4SMnIwS9NPBwAm5S H9uh2NCXTq7im61g7F1LIiNI/+wq37fUuaMbz4g7VarKQTgf8ubs0p7NZWcI e7Bvem2AWaXBsxsaRTYw5kG3DN8pd1hSEUuFoTa7DmNeFe8tiK1BrL3rbA/m 48jp4AiFXgvxprJrW7izsyetOrRHPbkW4Y07v29MdhaPv3u1JELyszXqOzjI Yo4sWlC8iDQXwgSW/ntvWy2n4LuiaozlCfXl149tKeqvwlvrla2Yklue/quW p9j9ou4T/OY0CXMuY+B8wNK0ohd2D4ShgFlMSjzAFRoHGKF81snTr2d1A7Ew 02oF6UQyCkC2aNNsK5cWOojBar5c7HplX9aHYUCZouxIeU28SONJAxnATgR4 cJ2jrpmYSz/kliUJ46S6UpVDo/ebn9c6PaM/XtDYCCaM/7XX6wc3s++sbQ7C tCn1Ax7df6ufQbwyO0V+oFa9H0KAsjHMzcwk3EV2B2NLatidKE/m7G+rB9m+ FlVgIiSp0mGlg43QO9Kh1+JqvTCIzv2bJJkmPMLQJNuKKwHNL8F4GGp6jbAV +WL+LDeGfVcq8DHS3LrD+xyYEXQBiqZEdiPVOMxLDSUCXsDO0uCWpaNQ8j6y 6S9p0xE/Ga0peVLadVHhqf9nXqKaxnr358VgfrxzUIrvOaOjMIIF5TCCBM2g AwIBAgIQIHbHM980Evwjct9SmnLqQjANBgkqhkiG9w0BAQsFADB1MQswCQYD VQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3Rh cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIzAhBgNVBAMTGlN0YXJ0 Q29tIENsYXNzIDEgQ2xpZW50IENBMB4XDTE2MDYyMDEyMDEzNVoXDTE5MDky MDEyMDEzNVowNDEVMBMGA1UEAwwMbGVvQG1hcmNvLmRlMRswGQYJKoZIhvcN AQkBFgxsZW9AbWFyY28uZGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK AoICAQDSGmyTfoERpWTylzlGjS7CTXsKVjXq8HMfxPECInX4297aDGrZdVgY cLUqYDtQV7/U7v/NLwoVpiPu3vnJZwqNz6A1iyH+pIF2+RIBg6PMOAtZHfbD JyDqOsbPfS07aW+R+ZJBaMKX5XTONtJREmnfSuimz+xRkqG5iTUs7oqh69hl +uytf4yUq7OxBF8c4n/zvDO5FY7tcELpSSHUXvafU4MfkvuLqjR9ZMGf3b3+ cEMwCJ5ahWV58JecIE9cgrp6g/ZY5nRjARNdR89xgTGF08hKGWC4lBssiVCD Qu+gAMB9z/rJJ3JWeWAj3VJeWDrDHpWleH55mUNGGORKb/yDdOKwUtju8xqJ X16xS6bCME7f7BMlhrMDGupGYlAQLRrYp8hwq+Y17Hcy541q6kn44X7OnjFX schwiDJfcJ0zh8/26JR76sPEGZV+VHBPV1nO07IQoZz20X5fTHD8PVZXkorZ oKWCbopmQEUE9dvn9nImyINCt1E2qDLRVHKXJucbdpthpN+wAwMA8N4d5jgR nfOqdZ7Gu8h1GfM0Mj01mKvfyi/1nNWHopR8vTZ+uV062iGl5YLeAJFk2kqL b/hG9EHk+F0T4reeQsMLtk1H35M7kS8PlObXc4OlSGD/oDrb+jGfAqbueMhD xfxr83o6kup1Qpi/0rVkgv5FCj2dSwIDAQABo4IBsDCCAawwDgYDVR0PAQH/ BAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAJBgNVHRME AjAAMB0GA1UdDgQWBBTn0WEZECQdirz6o75Ym30HEzJfTzAfBgNVHSMEGDAW gBQkgWw5Yb5JD4+3G0YrySi1J0htaDBvBggrBgEFBQcBAQRjMGEwJAYIKwYB BQUHMAGGGGh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbTA5BggrBgEFBQcwAoYt aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc2NhLmNsaWVudDEuY3J0 MDgGA1UdHwQxMC8wLaAroCmGJ2h0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL3Nj YS1jbGllbnQxLmNybDAXBgNVHREEEDAOgQxsZW9AbWFyY28uZGUwIwYDVR0S BBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMEcGA1UdIARAMD4wPAYL KwYBBAGBtTcBAgUwLTArBggrBgEFBQcCARYfaHR0cHM6Ly93d3cuc3RhcnRz c2wuY29tL3BvbGljeTANBgkqhkiG9w0BAQsFAAOCAQEAHev1G7qoycMr1K9q l8W+3BYh1AtFbT3SmTZLdHevy9XcWbd5x34WxjrrNC07L38bRKy7et3lXXpi bhTqfgweEUz3S7QK0oorFJ9lcN8IHc4NrH7E/JpTG6xkOP1KdlzpH4jYWQfK uOUSmw8hzaF1Jdz80ul4W5iPvRDPcKe1N5Zqjbh28rN91Cy7KszX8PoKzNa3 Rwpqix6v5XPnY02dPCkEgKntxRGfyF0Wr9oURy5XtXLTXA4gYIZW+t+9QX49 XpbJgpQHkzS8XuyMaE/0xdPywYzKVCByhzlIYwRekuENaOzuQFW6YRsYSRos 3kPEBQ+dShUt99yFAQIROUCLvzGCBOwwggToAgEBMIGJMHUxCzAJBgNVBAYT AklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENv bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20g Q2xhc3MgMSBDbGllbnQgQ0ECECB2xzPfNBL8I3LfUppy6kIwDQYJYIZIAWUD BAIDBQCgggIzMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN AQkFMQ8XDTE2MTEyMjA3MTcxM1owTwYJKoZIhvcNAQkEMUIEQBxF6TM8XNA4 F1a7/ocCM5VbXRKlLvvRHvytsZ3PlXxWZKBWqY4p0DngwAs7hhnJ158HbZUv f3MjzUxhJCD2EKgwbAYJKoZIhvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJ YIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG 9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBmgYJKwYBBAGCNxAE MYGMMIGJMHUxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu MSkwJwYDVQQLEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEj MCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGllbnQgQ0ECECB2xzPfNBL8 I3LfUppy6kIwgZwGCyqGSIb3DQEJEAILMYGMoIGJMHUxCzAJBgNVBAYTAklM MRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xh c3MgMSBDbGllbnQgQ0ECECB2xzPfNBL8I3LfUppy6kIwDQYJKoZIhvcNAQEB BQAEggIAmCkV20AaV9jw1br5xikzukJK9Tl9IMFJWK0xOYH+boqUn4D4epUB uNs0bXP/YQ4Po4JkYdUfpOQF3g/Cv8SzfJn0CSuAqhGyUmO6k3K8C5iCE8du OXNqrQINNjUuoMMLtcPR+H78M+71QWiJNaVaQM9RDaquQ3JhkwPtXsZqTi8H B6BkG00VmrLMLjvRQyHuERo/EzpcM3RuSFwpGID4fTqmrHErTG7MR5Da+qlE M+/qr0XpbXuN1DWcOt9RZ0gztJUSjhSjgEwoLSN4u3c5qTTKqX3k1JR5nNbE D3H7w4lArXD8EMnqs9AR16JcfIjNDSVIuaa8/xCbUv1/SJqJ09Jxu4gbxVEv VU8wQIUogyHQyQ1SzCGSkU7g0cvPKenCq1kG3xcEP7KNNBBELpCWYqiWzHcZ bqVfJeK6RK66Ke43v8y3u+w1y5ORHDXccSP+cLcuel8FtU+pzae+AVfTBnhB yfUzm35ttyEQgHQTKUJb/v2uwazamBuR4Rw2FuGLRH7+Wm8kax+ZBUFTS2pd lnDsCL7zWvOExozxmxSQFe8QxZ/aWwm0ZZyqHBtHG4iuX7AiGg8yY5Cyo4Nf 0Vgcf7Nm0vYWYpDer5VP4fqzsjKJa4pUDxgcbf2CDzjhctGFGi/aXwWd74k3 SRfpIJ41iBUN/31QDPbb4RdG4BeXkesAAAAAAAA= --------------ms060706050004080505060601--