From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 70060 invoked by alias); 4 Sep 2019 14:34:39 -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 70052 invoked by uid 89); 4 Sep 2019 14:34:39 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3 autolearn=ham version=3.3.1 spammy=gary, Gary, Nicole, 1014 X-HELO: mga01.intel.com Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 04 Sep 2019 14:34:37 +0000 Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Sep 2019 07:34:35 -0700 Received: from mulvlfelix.iul.intel.com ([172.28.48.138]) by orsmga002.jf.intel.com with ESMTP; 04 Sep 2019 07:34:34 -0700 From: Felix Willgerodt Subject: Macos notarization and "Unkown signal" on macos To: gdb@sourceware.org Message-ID: <49b5919f-6871-d147-4aa9-5f93bedbe571@intel.com> Date: Wed, 04 Sep 2019 14:34:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------5B0D06CE1AF9B84FBD5B8736" X-IsSubscribed: yes X-SW-Source: 2019-09/txt/msg00004.txt.bz2 This is a multi-part message in MIME format. --------------5B0D06CE1AF9B84FBD5B8736 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 Content-length: 4641 SGksCgpIYXMgYW55b25lIHRyaWVkIHRvIGdldCBHREIgdG8gd29yayBvbiBt YWNPUyAxMC4xNSAoYmV0YSkgd2l0aCB0aGUgbmV3IApub3Rhcml6YXRpb24g cmVxdWlyZW1lbnQgeWV0PyAKaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29t L2RvY3VtZW50YXRpb24vc2VjdXJpdHkvbm90YXJpemluZ195b3VyX2FwcF9i ZWZvcmVfZGlzdHJpYnV0aW9uCkkgbG9va2VkIGludG8gdGhhdCBmb3IgYSBj b3VwbGUgb2YgZGF5cyBub3cgYW5kIG1hbmFnZWQgdG8gZ2V0IGl0IHRvIHJ1 biAKd2l0aCB0aGUgaGFyZGVuZWQgcnVudGltZSBlbmFibGVkLgoKVG8gZG8g c28sIEkgbWFpbmx5IGNoYW5nZWQgZGFyd2luLW5hdC5jOgoqIGRhcndpbl9h dHRhY2hfcGlkKCk6IEFkZGVkIGEgbG9vcCB0aGF0IHRyaWVzIHRhc2tfZm9y X3BpZCgpIDEwIHRpbWVzLCAKc2xlZXBpbmcgMTAwMDAgdXNlYyBpbmJldHdl ZW4uIFRoaXMgY2hhbmdlIHdhcyBpbnNwaXJlZCBieSBMTERCIGFuZCAKc2Vl bXMgdG8gYmUgbmVjZXNzYXJ5IGZvciB0aGUgaGFyZGVuZWQgcnVudGltZS4K KiBkYXJ3aW5fcHRyYWNlX21lKCk6IENoYW5nZWQgdGhlIHByb2Nlc3MgZ3Jv dXAgc2V0dGluZyB0byBvY2NvdXIgYWZ0ZXIgCnRoZSBwdHJhY2UgY2FsbHMg KGluc3BpcmVkIGJ5IExMREIpCiogZGFyd2luX3B0cmFjZV9oaW0oKTogU2V0 IHRoZSBjaGlsZCBwcm9jZXNzIGdyb3VwIHRvIG1hdGNoIGl0cyBwaWQgCihp bnNwaXJlZCBieSBMTERCKQoKSSBhbSBub3Qgc3VyZSBpZiB0aGUgbGFzdCB0 d28gYXJlIHJlYWxseSBuZWVkZWQsIGJ1dCBpdCBsb29rcyBsaWtlIGl0IApp bXByb3ZlcyB0aGUgc2l0dWF0aW9uIG92ZXJhbGwuIFRoZSB3aG9sZSB0aGlu ZyBpcyBhIGJpdCBvZiBhIG1lc3MgdG8gCnRlc3QsIGFzIEdEQiBiZWhhdmVz IHNsaWdodGx5IGRpZmZlcmVudCBvbiAxMC4xNCBhbmQgMTAuMTUgYmV0YSBm b3IgbWUuIApJdCBhbHNvIGRlcGVuZHMgc3Ryb25nbHkgb24gaWYgdGhlIGlu ZmVyaW9yIGl0c2VsZiBoYXMgaGFyZGVuZWQgcnVudGltZSAKZW5hYmxlZC4K CkZvciB0aGUgZW50aXRsZW1lbnQgZmlsZSBJIGFtIGN1cnJlbnRseSB1c2lu ZzoKCiAgICAgICAgIDxrZXk+Y29tLmFwcGxlLnNlY3VyaXR5LmNzLmRlYnVn Z2VyPC9rZXk+CiAgICAgICAgIDx0cnVlLz4KICAgICAgICAgPGtleT5jb20u YXBwbGUuc2VjdXJpdHkuZ2V0LXRhc2stYWxsb3c8L2tleT4KICAgICAgICAg PHRydWUvPgogICAgICAgICA8a2V5PmNvbS5hcHBsZS5zZWN1cml0eS5jcy5k aXNhYmxlLWxpYnJhcnktdmFsaWRhdGlvbjwva2V5PgogICAgICAgICA8ZmFs c2UvPgoKKiBUaGUgZGVidWdnZXIgZW50aXRsZW1lbnQgaXMgb2J2aW91cy4K KiBUaGUgZ2V0LXRhc2stYWxsb3cgZW50aXRsZW1lbnQgc2VlbXMgdG8gYmUg bmVlZGVkIGZvciBHREIuIEdEQiBmb3JrcyAKaXRzZWxmLCBzdGFydHMgdHJh Y2luZyB0aGUgZm9yayBhbmQgc3RhcnRzIHRoZSBpbmZlcmlvciBpbiB0aGlz IGZvcmtlZCAKcHJvY2VzcyB3aXRoIGV4ZWN2KCkuIChkZXRhaWxzIGluIGRh cndpbi1uYXQuYyBhbmQgCmZvcmstaW5mZXJpb3IuYzpmb3JrLWluZmVyaW9y KQpUbyBzdGFydCB0cmFjaW5nIHRoZSBmb3JrZWQgcHJvY2VzcyBiZWZvcmUg dGhlIGV4ZWN2LCB3ZSBuZWVkIHRoaXMgCmVudGl0bGVtZW50IG9uIEdEQiBp dHNlbGYuIExMREIgc2VlbXMgdG8gbm90IG5lZWQgdGhpcywgYXMgTExEQiBo YXMgCm11bHRpcGxlIGRpZmZlcmVudCB2YXJpYXRpb25zIG9uIGhvdyB0byBz dGFydCBhbiBpbmZlcmlvciBvbiBtYWNPUywgCnVzaW5nIGEgcG9zaXggc3Bh d24gKGRlZmF1bHQpIG9yIG1hY09TIGFwcCBzcGVjaWZpYyBtZXRob2RzLgoq IFRoZSBkaXNhYmxlLWxpYnJhcnktdmFsaWRhdGlvbiBpcyBub3QgcmVhbGx5 IG5lZWRlZC4gSG93ZXZlciwgCm5vdGFyaXppbmcgYXBwcyB3aXRoIGdldC10 YXNrLWFsbG93IGlzIG9ubHkgYWxsb3dlZCBpZiB5b3UgYWxzbyBlbmFibGUg CmRpc2FibGUtbGlicmFyeS12YWxpZGF0aW9uLgoKSSBoYXZlIGF0dGFjaGVk IGEgd2lwIHBhdGNoIChub3QgaW50ZW5kZWQgZm9yIGdkYi1wYXRjaGVzKSBp ZiBhbnlvbmUgaXMgCmludGVyZXN0ZWQgaW4gd2hhdCBJIGRpZCBleGFjdGx5 LgoKTXkgY3VycmVudCBwcm9ibGVtOgpUaGUgcHJvYmxlbSBJIGFtIG5vdyBm YWNpbmcgaGFzIGxpdHRsZSB0byBkbyB3aXRoIG5vdGFyaXphdGlvbi9oYXJk ZW5lZCAKcnVudGltZSwgYXMgaXQgYWxzbyBoYXBwZW5zIHdpdGhvdXQgdGhh dCBvbiAxMC4xNCBhbmQgMTAuMTUuIEdEQiAKc29tZXRpbWVzIGhhbmdzIGlu IHRoZSBzZWNvbmQgd2FpdDQgY2FsbCBpbiAKZGFyd2luLW5hdC5jOmRhcndp bl9kZWNvZGVfbWVzc2FnZSgpLiBUaGUgb25seSAic29sdXRpb24iIHRvIHRo aXMgaXMgYSAKImtpbGwgLTkiLiBUaGUgc2Vjb25kIHdhaXQ0IGluIHRoYXQg ZnVuY3Rpb24gbWFrZXMgbGl0dGxlIHNlbnNlIHRvIG1lIAphbmQgc2VlbXMg dG8gYmUgYSB3b3JrYXJvdW5kIGZvciBwcmV2aW91cyBtYWNvcyB2ZXJzaW9u cy4gSWYgSSBkZWxldGUgCml0LCB0aGUgc3BvcmFkaWMgaGFuZ3Mgc3RvcCwg YW5kIEkgZ2V0IHNwb3JhZGljICJEdXJpbmcgc3RhcnR1cCBwcm9ncmFtIAp0 ZXJtaW5hdGVkIHdpdGggc2lnbmFsID8sIFVua25vd24gc2lnbmFsLiIgbWVz c2FnZXMgaW5zdGVhZCAod2hpY2ggaXMgCnByZWZlcmFibGUgaW1vKS4gSSB0 cmllZCB0byBkZWJ1ZyB0aGlzIGZ1cnRoZXIsIGJ1dCBjb3VsZG4ndCByZWFs bHkgZmluZCAKdGhlIGNhdXNlIG9yIGEgc29sdXRpb24geWV0LiBXVEVSTVNJ Ryh3c3RhdHVzKSByZXR1cm5zIDEyNyBpbiAKZGFyd2luX2RlY29kZV9tZXNz YWdlKCkgZm9yIG1lLiBJZiBJIGFkZCBzbGVlcCBzdGF0ZW1lbnRzIGFmdGVy IHNldHRpbmcgCnRoZSBwcm9jZXNzIGdyb3VwIGluIGRhcndpbl9wdHJhY2Vf bWUoKSwgSSBjYW4gcmVkdWNlIHRoZSBmcmVxdWVuY3kgb2YgCnRoZXNlIGhh bmdzIHRvIGxlc3MgdGhhbiAxMCUuCgpIYXMgYW55b25lIGVuY291bnRlcmVk IHRoYXQgYXMgd2VsbD8gT3IgZG9lcyBhbnlvbmUgaGF2ZSBhIHN1Z2dlc3Rp b24gb24gCndoYXQgSSBjYW4gc3RpbGwgdHJ5IHRvIGZpeCB0aGlzPwoKVGhh bmtzLApGZWxpeAoKSW50ZWwgRGV1dHNjaGxhbmQgR21iSApSZWdpc3RlcmVk IEFkZHJlc3M6IEFtIENhbXBlb24gMTAtMTIsIDg1NTc5IE5ldWJpYmVyZywg R2VybWFueQpUZWw6ICs0OSA4OSA5OSA4ODUzLTAsIHd3dy5pbnRlbC5kZQpN YW5hZ2luZyBEaXJlY3RvcnM6IENocmlzdGluIEVpc2Vuc2NobWlkLCBHYXJ5 IEtlcnNoYXcKQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJk OiBOaWNvbGUgTGF1ClJlZ2lzdGVyZWQgT2ZmaWNlOiBNdW5pY2gKQ29tbWVy Y2lhbCBSZWdpc3RlcjogQW10c2dlcmljaHQgTXVlbmNoZW4gSFJCIDE4Njky OAo= --------------5B0D06CE1AF9B84FBD5B8736 Content-Type: text/x-patch; name="0001-WIP-macos-10.15.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-WIP-macos-10.15.patch" Content-length: 2906 >From ffeea2cc1ab89e52b7f76516dc156f71f01b5cfb Mon Sep 17 00:00:00 2001 From: Felix Willgerodt Date: Thu, 22 Aug 2019 10:12:36 +0200 Subject: [PATCH] WIP: Fixes for macos 10.15. Signed-off-by: Felix Willgerodt --- gdb/darwin-nat.c | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c index 8f71def069d..ef5244b2eb9 100644 --- a/gdb/darwin-nat.c +++ b/gdb/darwin-nat.c @@ -1151,7 +1151,7 @@ darwin_decode_message (mach_msg_header_t *hdr, res_pid, wstatus); /* Looks necessary on Leopard and harmless... */ - wait4 (inf->pid, &wstatus, 0, NULL); + // wait4 (inf->pid, &wstatus, 0, NULL); inferior_ptid = ptid_t (inf->pid, 0, 0); return inferior_ptid; @@ -1610,11 +1610,16 @@ darwin_attach_pid (struct inferior *inf) darwin_inferior *priv = new darwin_inferior; inf->priv.reset (priv); + const uint32_t num_retries = 10; + const uint32_t usec_interval = 10000; + try { - kret = task_for_pid (gdb_task, inf->pid, &priv->task); - if (kret != KERN_SUCCESS) - { + for (uint32_t i = 1; i <= num_retries; i++) + { + kret = task_for_pid (gdb_task, inf->pid, &priv->task); + if (kret != KERN_SUCCESS && i == 10) + { int status; if (!inf->attach_flag) @@ -1627,7 +1632,14 @@ darwin_attach_pid (struct inferior *inf) (_("Unable to find Mach task port for process-id %d: %s (0x%lx).\n" " (please check gdb is codesigned - see taskgated(8))"), inf->pid, mach_error_string (kret), (unsigned long) kret); - } + } + else + { + break; + } + + usleep (usec_interval); + } inferior_debug (2, _("inferior task: 0x%x, pid: %d\n"), priv->task, inf->pid); @@ -1756,8 +1768,8 @@ darwin_ptrace_me (void) trace_start_error_with_name ("close"); /* Get rid of privileges. */ - if (setegid (getgid ()) < 0) - trace_start_error_with_name ("setegid"); + //if (setegid (getgid ()) < 0) + //trace_start_error_with_name ("setegid"); /* Set TRACEME. */ if (PTRACE (PT_TRACE_ME, 0, 0, 0) < 0) @@ -1766,6 +1778,15 @@ darwin_ptrace_me (void) /* Redirect signals to exception port. */ if (PTRACE (PT_SIGEXC, 0, 0, 0) < 0) trace_start_error_with_name ("PTRACE"); + + if (setgid (getgid ()) == 0) { + + // Set the child process group to match its pid. + setpgid (0, 0); + + // Sleep a bit to before the exec call. + sleep(1); + } } /* Dummy function to be sure fork_inferior uses fork(2) and not vfork(2). */ @@ -1788,6 +1809,10 @@ darwin_ptrace_him (int pid) { struct inferior *inf = current_inferior (); + // Set the child process group to match its pid + if (pid > 0) + setpgid (pid, pid); + darwin_attach_pid (inf); /* Let's the child run. */ -- 2.20.1 --------------5B0D06CE1AF9B84FBD5B8736--