From patchwork Mon Feb 27 21:29:14 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65705 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 06CFC385021F for ; Mon, 27 Feb 2023 21:30:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 06CFC385021F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533431; bh=rCsBIweGUmy2WsQ9Qgz5XNbQOLhP1qfxrnegdHlNwJ4=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=SA2TyDj4pIaRh3SowhTJGyrzVp5xR57rG+zN/jivtf7CaRgFAp2kmHuqI5qk8AmIV Ya2PjdnOtPr/BfYBz4FaWAmw3ccSpKze7QsKglD79xxU5QQcGhFjiq8nd+gd/vjXxK CxZnbtSoi2ugFSxR5J+BuEy8SE9gHppwfuhqnP0Y= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 85F0E3858D39 for ; Mon, 27 Feb 2023 21:29:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 85F0E3858D39 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-397-g-p3sGB9NsmeYjsJfVTTNA-1; Mon, 27 Feb 2023 16:29:32 -0500 X-MC-Unique: g-p3sGB9NsmeYjsJfVTTNA-1 Received: by mail-wm1-f71.google.com with SMTP id e22-20020a05600c219600b003e000facbb1so5908517wme.9 for ; Mon, 27 Feb 2023 13:29:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533371; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rCsBIweGUmy2WsQ9Qgz5XNbQOLhP1qfxrnegdHlNwJ4=; b=olxAOtJ8RHPgaxDa3wh8tv0Y539mi3nDQajSh05oOeQKGguHF2d2YEPNCHmEEshhCQ BbpLr2bjNIloITHp3VdMx4YjhjHQNfJxVSkw9VQhowFL9E0OQnhbJtfJEBcbSk7R3c7q rB23jsYth7Y3mHgOLVveXaOjyzPOhJnifEX0ZXXnai4FV/2iCYBSHaX4rGAPpGnELL4H dsSMK2ibHWjDWVvt1mQEjfVmUTZv2AHqfQuwdvPuNLnKsmBJSI5+ATHbu0jxBCnFckae bR0lCWilVr0zmHi19eKtXnYcnqjMy31Ary1KkD2n93FPWJlwcEZpaQnU4D0vQBsad6Nu RF4w== X-Gm-Message-State: AO0yUKW3y5R1WzX2I8Ak4P+8xS15TA4qhK0Gl+enBWi5zMh54q6FCiIe NS0Y7rEu4dIOWL3HH7MDOxlvEJb40/2W4Q2yQwQWQEfC4ssLBUAOG+rA1hJYxyaKPTvo2+VC4n1 AGdazbW3Jnb+dRznWTnGEGo6mc/IAHyyJpxOOHzyliHsrJeIxR+A8CHisX88Ie/AXYr/8n6Bsmg qOwHM= X-Received: by 2002:a05:600c:3512:b0:3df:9858:c02e with SMTP id h18-20020a05600c351200b003df9858c02emr7701717wmq.3.1677533371390; Mon, 27 Feb 2023 13:29:31 -0800 (PST) X-Google-Smtp-Source: AK7set+ipKijmaseRe4u3dU+wbDrDkeYQBMYIlAsyxTtuq9JvYCWpgZv5w+gIlMmVEsd34pgpSfMNA== X-Received: by 2002:a05:600c:3512:b0:3df:9858:c02e with SMTP id h18-20020a05600c351200b003df9858c02emr7701703wmq.3.1677533371046; Mon, 27 Feb 2023 13:29:31 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id u26-20020a05600c441a00b003e21638c0edsm10583589wmn.45.2023.02.27.13.29.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:30 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 01/13] gdb: remove uses of alloca from arch-utils.c Date: Mon, 27 Feb 2023 21:29:14 +0000 Message-Id: <15cec6aaaad2f1147323b4dc5e13be69135d6889.1677533215.git.aburgess@redhat.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Remove the two uses of alloca from arch-utils.c, replace them both with gdb::byte_vector instead. There should be no user visible changes after this commit. --- gdb/arch-utils.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c index e3af9ce2dbc..be90d0ed89c 100644 --- a/gdb/arch-utils.c +++ b/gdb/arch-utils.c @@ -933,7 +933,7 @@ default_program_breakpoint_here_p (struct gdbarch *gdbarch, if (bpoint == nullptr) return false; - gdb_byte *target_mem = (gdb_byte *) alloca (len); + gdb::byte_vector target_mem (len); /* Enable the automatic memory restoration from breakpoints while we read the memory. Otherwise we may find temporary breakpoints, ones @@ -941,11 +941,11 @@ default_program_breakpoint_here_p (struct gdbarch *gdbarch, scoped_restore restore_memory = make_scoped_restore_show_memory_breakpoints (0); - if (target_read_memory (address, target_mem, len) == 0) + if (target_read_memory (address, target_mem.data (), len) == 0) { /* Check if this is a breakpoint instruction for this architecture, including ones used by GDB. */ - if (memcmp (target_mem, bpoint, len) == 0) + if (memcmp (target_mem.data (), bpoint, len) == 0) return true; } @@ -1012,7 +1012,6 @@ default_guess_tracepoint_registers (struct gdbarch *gdbarch, CORE_ADDR addr) { int pc_regno = gdbarch_pc_regnum (gdbarch); - gdb_byte *regs; /* This guessing code below only works if the PC register isn't a pseudo-register. The value of a pseudo-register isn't stored @@ -1023,10 +1022,10 @@ default_guess_tracepoint_registers (struct gdbarch *gdbarch, if (pc_regno < 0 || pc_regno >= gdbarch_num_regs (gdbarch)) return; - regs = (gdb_byte *) alloca (register_size (gdbarch, pc_regno)); - store_unsigned_integer (regs, register_size (gdbarch, pc_regno), + gdb::byte_vector regs (register_size (gdbarch, pc_regno)); + store_unsigned_integer (regs.data (), register_size (gdbarch, pc_regno), gdbarch_byte_order (gdbarch), addr); - regcache->raw_supply (pc_regno, regs); + regcache->raw_supply (pc_regno, regs.data ()); } int From patchwork Mon Feb 27 21:29:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65702 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CB56C385B532 for ; Mon, 27 Feb 2023 21:30:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CB56C385B532 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533403; bh=8wtp/KsDyL4t3rj7k4jtrXo2fxvKqjbmBDWdmUtaZjQ=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=A52RcsXk8LlakM3ujE4DNnGcH0XS67Ywh/6A+TKs8VIDHHy9dN6l378siYHpU9nlv 7FQuVDWG4qYv0qos5EUk2xITbpV83II2QVCRF/M07Rsunvc1b7Rp3eTGh0Epfz4m8V yYdjZCcdxPRbmilLodKPVePZAplPkf7ij3JVmpgs= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 435CC3858412 for ; Mon, 27 Feb 2023 21:29:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 435CC3858412 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-86-PbgmrN2VN6OWbcLN5Fu5Mg-1; Mon, 27 Feb 2023 16:29:34 -0500 X-MC-Unique: PbgmrN2VN6OWbcLN5Fu5Mg-1 Received: by mail-wm1-f70.google.com with SMTP id u19-20020a05600c00d300b003eb24ce58ceso2853516wmm.9 for ; Mon, 27 Feb 2023 13:29:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533373; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8wtp/KsDyL4t3rj7k4jtrXo2fxvKqjbmBDWdmUtaZjQ=; b=yeqVs+88d6Ms0TYUAnqcyL8yyhhou68feq4jBqpDRm/VO9ksWDBuN4zIbF2KS/WxLb 9hJ8NJHQs6fZRAcR8tuLTJgNosOHasrJWukuI2iQ4GlBvMWNGC9/O9UBqLUQ5XtNzzGj Ph9buj1k37AW4V3zHh4fLh3b1fpQyn0opd80AY83TGFYXtXWUDZ06nHNaoeO5Wz3eOG7 dAFs5mTdkvBkDmvxep8/pw7BO1x4tLxkbxPEVHCQAA0RlFx14iaHSbiygRzZ1rK8Ddti d4QjO1WuSJxEQBacZ1BMU0dPPiwfJW4N0ShnSq75N6fjutbHOHwYHq2U2Pryh7CuCt7d KKYQ== X-Gm-Message-State: AO0yUKX99y5P28sa5R2WClyxA55Nf1nxGnX482e95EepfooZTm43MEfC UIn1veQ3m577OjyCa1G2cAwN5OxDQ09tGAfLpMJ2iS4YQibVos11EX51ME2od2S+mYVIqfKTKv2 1bbLF/jDUbzHqa8FWbns+Ac8+feOtkHwsfacSxh8ayQ4VQIwyHriMfMeAzYlpDBMR9RJvuIcQlc 1fGAs= X-Received: by 2002:a05:600c:44d4:b0:3eb:29fe:7baa with SMTP id f20-20020a05600c44d400b003eb29fe7baamr406668wmo.34.1677533373006; Mon, 27 Feb 2023 13:29:33 -0800 (PST) X-Google-Smtp-Source: AK7set9HiBkvu24TdGRxGV2CXxzkKOym5vPz6/5xSepNNshfEG2346FMWxOjPl7pvvJVsepdRmyT0A== X-Received: by 2002:a05:600c:44d4:b0:3eb:29fe:7baa with SMTP id f20-20020a05600c44d400b003eb29fe7baamr406656wmo.34.1677533372583; Mon, 27 Feb 2023 13:29:32 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id k14-20020a05600c1c8e00b003eae73f0fc1sm11409441wms.18.2023.02.27.13.29.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:32 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 02/13] gdb: remove use of alloca from auxv.c Date: Mon, 27 Feb 2023 21:29:15 +0000 Message-Id: X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Remove the last use of alloca from auxv.c and replace it with gdb::byte_vector. There should be no user visible changes after this commit. --- gdb/auxv.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gdb/auxv.c b/gdb/auxv.c index 812b2807554..aea58807f4c 100644 --- a/gdb/auxv.c +++ b/gdb/auxv.c @@ -86,7 +86,6 @@ ld_so_xfer_auxv (gdb_byte *readbuf, struct type *ptr_type = builtin_type (target_gdbarch ())->builtin_data_ptr; size_t ptr_size = ptr_type->length (); size_t auxv_pair_size = 2 * ptr_size; - gdb_byte *ptr_buf = (gdb_byte *) alloca (ptr_size); LONGEST retval; size_t block; @@ -123,10 +122,11 @@ ld_so_xfer_auxv (gdb_byte *readbuf, we might need a valgrind extension to make it work. This is PR 11440. */ - if (target_read_memory (pointer_address, ptr_buf, ptr_size) != 0) + gdb::byte_vector ptr_buf (ptr_size); + if (target_read_memory (pointer_address, ptr_buf.data (), ptr_size) != 0) return TARGET_XFER_E_IO; - data_address = extract_typed_address (ptr_buf, ptr_type); + data_address = extract_typed_address (ptr_buf.data (), ptr_type); /* Possibly still not initialized such as during an inferior startup. */ @@ -151,11 +151,11 @@ ld_so_xfer_auxv (gdb_byte *readbuf, if (offset >= auxv_pair_size) { - if (target_read_memory (data_address - auxv_pair_size, ptr_buf, + if (target_read_memory (data_address - auxv_pair_size, ptr_buf.data (), ptr_size) != 0) return TARGET_XFER_E_IO; - if (extract_typed_address (ptr_buf, ptr_type) == AT_NULL) + if (extract_typed_address (ptr_buf.data (), ptr_type) == AT_NULL) return TARGET_XFER_EOF; } From patchwork Mon Feb 27 21:29:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65703 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5672D385B501 for ; Mon, 27 Feb 2023 21:30:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5672D385B501 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533406; bh=fVIHVPIDvCz2O0gRc8uwxc0hIyiT/UEcOVQ7npLW9Dw=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=ns+ChDcZSlBXyA/gl+4hLijH2/KdceVcLZDmzIVh4tjwmsFAopSLAKTrBiMbeX882 uvhTjm2le7VyGWwc0BfCkaMokJbXqKZXPWxhOrDzTe4FUSZD8Gnpg7Iu2TaxVciIIH JbcgGTelhI3Y8xUur3qxmTt+oL2prawuPBp/dPHk= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id AA8C5385840C for ; Mon, 27 Feb 2023 21:29:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AA8C5385840C Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-262-pVgAKwHzPJ6Yzo_GVZgFcA-1; Mon, 27 Feb 2023 16:29:36 -0500 X-MC-Unique: pVgAKwHzPJ6Yzo_GVZgFcA-1 Received: by mail-wm1-f69.google.com with SMTP id f14-20020a7bcc0e000000b003dd41ad974bso3425022wmh.3 for ; Mon, 27 Feb 2023 13:29:35 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533374; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fVIHVPIDvCz2O0gRc8uwxc0hIyiT/UEcOVQ7npLW9Dw=; b=KkejMpouTJlKpTggF4KuOPM7rZifi/Fjnk55Y3WOq3dwGRJ+Q10FLrQ8uIkgAFc+CC j7cSEFiJC0GZdSu0QYulX7+ZtIaL3sKx8bY+FHNrdY9L7TfB50dBLmkCfioZbGCQqyQo /6E5vTpk+aweCHaaUoOZlrH0MXMyjyOwdk1m0/+uXb4DtrAKxZUk2Rx8kXrqzZ6ROUFf pbcaPW9Y85b1o6REbL57CKs25EoCaj5mUOa+EZjG0uYtgqW9sMfNGejStKAmlTwhW9Yl el7lSjAVsYVpakJyjlsnn1hbj6ijrt01Uz6FzKzVnT3t5tFgAHLKFQ7XS8nZRbkxapCq fMfg== X-Gm-Message-State: AO0yUKXxmJAAAiQJqNrQ3gCHYfDS1SQptAj++9U7MzUa2D1MNScAoJw+ a2P5nCSP7ypxqaQpndx4Lz6HrG4ynPTK0Iki0YWfa4v2Ht652YFSyIBfCBjQWs89RsvNU69keZq M+M11Zh18ief6/6kfIxzaTb5m7x7+UJ9ke1amo/WAaJcyB7zm6rMi5hUH6VlxJtg+JY0UHDG1x+ 2+HAE= X-Received: by 2002:a05:600c:511c:b0:3e8:35a2:6abf with SMTP id o28-20020a05600c511c00b003e835a26abfmr393636wms.23.1677533374654; Mon, 27 Feb 2023 13:29:34 -0800 (PST) X-Google-Smtp-Source: AK7set9vaIsmZkM7kmefL+9xSQk8xb4NII4034Uqeo3OHZHj4iH8Z+k6j3P4eJoXbYL/h5xtBQPCJQ== X-Received: by 2002:a05:600c:511c:b0:3e8:35a2:6abf with SMTP id o28-20020a05600c511c00b003e835a26abfmr393623wms.23.1677533374393; Mon, 27 Feb 2023 13:29:34 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id k22-20020a7bc416000000b003dc521f336esm10006967wmi.14.2023.02.27.13.29.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:33 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 03/13] gdb: remove use of alloca from c-lang.c Date: Mon, 27 Feb 2023 21:29:16 +0000 Message-Id: X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Remove the use of alloca from c-lang.c and replace it with gdb::byte_vector. There should be no user visible changes after this commit. --- gdb/c-lang.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gdb/c-lang.c b/gdb/c-lang.c index 6535ab93498..faac5d47179 100644 --- a/gdb/c-lang.c +++ b/gdb/c-lang.c @@ -430,11 +430,9 @@ static void emit_numeric_character (struct type *type, unsigned long value, struct obstack *output) { - gdb_byte *buffer; - - buffer = (gdb_byte *) alloca (type->length ()); - pack_long (buffer, type, value); - obstack_grow (output, buffer, type->length ()); + gdb::byte_vector buffer (type->length ()); + pack_long (buffer.data (), type, value); + obstack_grow (output, buffer.data (), type->length ()); } /* Convert an octal escape sequence. TYPE is the target character From patchwork Mon Feb 27 21:29:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65707 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 387AF384FB4F for ; Mon, 27 Feb 2023 21:30:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 387AF384FB4F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533437; bh=K7K0/FcbIlAJJwr5q98ONmMSWTVEe+8yTrUmxMtATws=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=rs5qb98Q9zD/Ds7BTOQnVl0DIEf3PqmHBX3ma3Xh9ZVeCs9BSkPgz8IzGAgy6J79p Sr/oVvBD3o+0LBkIGxa/8lm7SM4EpsEfHsKFYWyXVb2+rLcqEUeUkEazWnWkO38zB0 luDqNe8K6e8RYav6qiZHFmJrwxzDlLbeB87N3cRM= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 4AF6E3858425 for ; Mon, 27 Feb 2023 21:29:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4AF6E3858425 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-529-y-jn4aUeN9iDX-MG712MSw-1; Mon, 27 Feb 2023 16:29:37 -0500 X-MC-Unique: y-jn4aUeN9iDX-MG712MSw-1 Received: by mail-wr1-f71.google.com with SMTP id 1-20020a056000154100b002c54d9b8312so1106791wry.5 for ; Mon, 27 Feb 2023 13:29:37 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533376; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=K7K0/FcbIlAJJwr5q98ONmMSWTVEe+8yTrUmxMtATws=; b=DNFzpDnDn//bWa5mNWWCgclN6dJIsP4IFlc9tsIXDvrLyHxQMrupyeBe4WKfW+cIPR XhZBOSeuou9DZc4w0qYMpKFHIh/aOv3Vm9iRsXZg4bydcA2Er16DMUWW4K/+OfFzldHf 03QPMPw6WTPdB+5zsvAOkjbfoM/Nd90kFanAa1LwU7rwC3mYM6OGKUGL4w2+rogRIEce bgv/2nh35bVuTIrPm9Xkki7NCGh6NxD1rKm1/QaN0eR/d87GGQuWPQrUPw4NJNCLRUob IG7/Wy2+dUflhe8gQU1/50r/gcKaMlhngmGb6z7ZqyZN23H9qFfsz8HXKrqafyIPcvrO qAmw== X-Gm-Message-State: AO0yUKUlrHK4DXJIqquHYEuQ5DC8gjkboknWfn6ryLa3tvan/OzX6kpB vfOPeVUF+9zgpmGCXzYh85C1ZY0b9elagFHlkr3VRviItm3tqHjvT3dO68IhZcIVtVHu2SVDmJe GusjfsXuuEdosqXKdb+LpLd02JgwdflR7st2stcnWcznhXg//H07hkuBW+3QiLkQ9XjQn7SvJmi 9Fcac= X-Received: by 2002:a05:600c:4b27:b0:3eb:38a2:2bcd with SMTP id i39-20020a05600c4b2700b003eb38a22bcdmr371781wmp.28.1677533376145; Mon, 27 Feb 2023 13:29:36 -0800 (PST) X-Google-Smtp-Source: AK7set+YevLee+KBHz9OcmsYi4DCx46MnuO6smC5EsJcCi/jOAMMcB6By5kkL8s3+Olbaz4btmKDNg== X-Received: by 2002:a05:600c:4b27:b0:3eb:38a2:2bcd with SMTP id i39-20020a05600c4b2700b003eb38a22bcdmr371771wmp.28.1677533375901; Mon, 27 Feb 2023 13:29:35 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id n41-20020a05600c3ba900b003e20fa01a86sm11099082wms.13.2023.02.27.13.29.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:35 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 04/13] gdb: remove use of alloca from corefile.c Date: Mon, 27 Feb 2023 21:29:17 +0000 Message-Id: X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIM_INVALID, DKIM_SIGNED, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Remove uses of alloca from corefile.c and replace with gdb::byte_vector. There should be no user visible changes after this commit. --- gdb/corefile.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gdb/corefile.c b/gdb/corefile.c index 5cb559000b8..c76b812f717 100644 --- a/gdb/corefile.c +++ b/gdb/corefile.c @@ -334,10 +334,10 @@ read_code_unsigned_integer (CORE_ADDR memaddr, int len, CORE_ADDR read_memory_typed_address (CORE_ADDR addr, struct type *type) { - gdb_byte *buf = (gdb_byte *) alloca (type->length ()); + gdb::byte_vector buf (type->length ()); - read_memory (addr, buf, type->length ()); - return extract_typed_address (buf, type); + read_memory (addr, buf.data (), type->length ()); + return extract_typed_address (buf.data (), type); } /* See gdbcore.h. */ @@ -370,10 +370,10 @@ write_memory_unsigned_integer (CORE_ADDR addr, int len, enum bfd_endian byte_order, ULONGEST value) { - gdb_byte *buf = (gdb_byte *) alloca (len); + gdb::byte_vector buf (len); - store_unsigned_integer (buf, len, byte_order, value); - write_memory (addr, buf, len); + store_unsigned_integer (buf.data (), len, byte_order, value); + write_memory (addr, buf.data (), len); } /* Store VALUE at ADDR in the inferior as a LEN-byte signed @@ -383,10 +383,10 @@ write_memory_signed_integer (CORE_ADDR addr, int len, enum bfd_endian byte_order, LONGEST value) { - gdb_byte *buf = (gdb_byte *) alloca (len); + gdb::byte_vector buf (len); - store_signed_integer (buf, len, byte_order, value); - write_memory (addr, buf, len); + store_signed_integer (buf.data (), len, byte_order, value); + write_memory (addr, buf.data (), len); } /* The current default bfd target. Points to storage allocated for From patchwork Mon Feb 27 21:29:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65706 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CE46E384FB59 for ; Mon, 27 Feb 2023 21:30:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CE46E384FB59 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533434; bh=OtVchp7EDqwPCsvnfU871PfqUHfCKcj6wSxgY86oa7U=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=NpkKvIBnMnJcbw4ugLfj4/MN28RZtxVzVyjppURSetYePumegz4GcA2V1qUnmdsrF 9EXdBMswnLJ5SwaPLN/VYboR7G8YSpd3QD5UswH/s/PFuZyXx79oWr88Fj1Yo5gCWh lWblZ9VEoZ8+u4hk8Rh9jpTngRTvtAeJNLup4tGI= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 334013858C5F for ; Mon, 27 Feb 2023 21:29:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 334013858C5F Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-539-BQgwoMHaNxmH6VQX-VkcYg-1; Mon, 27 Feb 2023 16:29:38 -0500 X-MC-Unique: BQgwoMHaNxmH6VQX-VkcYg-1 Received: by mail-wm1-f71.google.com with SMTP id p22-20020a7bcc96000000b003e2036a1516so5916749wma.7 for ; Mon, 27 Feb 2023 13:29:38 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533377; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OtVchp7EDqwPCsvnfU871PfqUHfCKcj6wSxgY86oa7U=; b=PkiD6OJ72D0IdKrrpoPn4g/LKsogyrbw5y5Rpdeh8tOqSjvGoyuXis1uM7oFTnKaVT +QFcf1++B73lIgjM7G56nJQFnGdSySAoM9iFjrP41w44vbCVoLKs3jzLPm5AlmEhK274 GHHrteboeXoB0y5lqzFc1aQ+Uai2Vv5cs7YkbzTfpFt5kzU+whF61/Sg6PDoL/l7zGkj ktkKLV1nPRB4XL/vPdeyskic+dko4wGwUjd/LC2s4WnO/V22NWk36mNMYKdSMfHhyTus GvQxvnr1wUh8Dsw6sW+nHX8KQ+rTsEwmqFW4yaIFPDn37ELdVhpGWf6bkNMYBS/M77V8 z8wg== X-Gm-Message-State: AO0yUKWJq8otYtYpxyMp01eGvQupxXUtnqLNdMt3GHV7B6Dzqqnekdiu BLT/16Kybkp0ZkdHz8YHvkQjAxHPv3n3fv70m6a4lkeHC3NUM16WRR+yvX6Y3lOF7Wtn/fjz0AN skYCWiyz4fQJehveEs0H7pPV0hMs4FzhgYi7DfMUHCyopFke5M4m+uqerLxn/n/Jqh6l2lzqCJS KOH4M= X-Received: by 2002:a05:600c:4d97:b0:3eb:29fe:f922 with SMTP id v23-20020a05600c4d9700b003eb29fef922mr382740wmp.29.1677533377368; Mon, 27 Feb 2023 13:29:37 -0800 (PST) X-Google-Smtp-Source: AK7set/qkgYDe5qxSH60ujgdKZKtu4yrVLPx0E64NXliIqGKlnVWpGg/5C+EXKZ2uQXplYii3Gi0/g== X-Received: by 2002:a05:600c:4d97:b0:3eb:29fe:f922 with SMTP id v23-20020a05600c4d9700b003eb29fef922mr382729wmp.29.1677533377069; Mon, 27 Feb 2023 13:29:37 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id n31-20020a05600c3b9f00b003e8dcc67bdesm15579869wms.30.2023.02.27.13.29.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:36 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 05/13] gdb: remove uses of alloca from dwarf2/expr.c Date: Mon, 27 Feb 2023 21:29:18 +0000 Message-Id: <9ba19b3f47515956e7f49c778e72a460e461f23d.1677533215.git.aburgess@redhat.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Remove the remaining uses of alloca from dwarf2/expr.c and replace them with gdb::byte_vector. There should be no user visible changes after this commit. --- gdb/dwarf2/expr.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c index 2b41372be8a..c01e745bf0a 100644 --- a/gdb/dwarf2/expr.c +++ b/gdb/dwarf2/expr.c @@ -1155,12 +1155,12 @@ dwarf_expr_context::fetch_address (int n) for those architectures which require it. */ if (gdbarch_integer_to_address_p (arch)) { - gdb_byte *buf = (gdb_byte *) alloca (this->m_addr_size); - type *int_type = get_unsigned_type (arch, - result_val->type ()); + gdb::byte_vector buf (this->m_addr_size); + type *int_type = get_unsigned_type (arch, result_val->type ()); - store_unsigned_integer (buf, this->m_addr_size, byte_order, result); - return gdbarch_integer_to_address (arch, int_type, buf); + store_unsigned_integer (buf.data (), this->m_addr_size, byte_order, + result); + return gdbarch_integer_to_address (arch, int_type, buf.data ()); } return (CORE_ADDR) result; @@ -1883,7 +1883,6 @@ dwarf_expr_context::execute_stack_op (const gdb_byte *op_ptr, case DW_OP_GNU_deref_type: { int addr_size = (op == DW_OP_deref ? this->m_addr_size : *op_ptr++); - gdb_byte *buf = (gdb_byte *) alloca (addr_size); CORE_ADDR addr = fetch_address (0); struct type *type; @@ -1898,21 +1897,25 @@ dwarf_expr_context::execute_stack_op (const gdb_byte *op_ptr, else type = address_type; - this->read_mem (buf, addr, addr_size); + gdb::byte_vector buf (std::max ((ULONGEST) addr_size, + type->length ())); + + this->read_mem (buf.data (), addr, addr_size); /* If the size of the object read from memory is different from the type length, we need to zero-extend it. */ if (type->length () != addr_size) { ULONGEST datum = - extract_unsigned_integer (buf, addr_size, byte_order); + extract_unsigned_integer (buf.data (), addr_size, + byte_order); - buf = (gdb_byte *) alloca (type->length ()); - store_unsigned_integer (buf, type->length (), + store_unsigned_integer (buf.data (), type->length (), byte_order, datum); } - result_val = value_from_contents_and_address (type, buf, addr); + result_val = value_from_contents_and_address (type, buf.data (), + addr); break; } From patchwork Mon Feb 27 21:29:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65708 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DCC06385021F for ; Mon, 27 Feb 2023 21:31:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DCC06385021F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533460; bh=HsQv8vxQIbJ6M66lXF5LxS24bIaW/hNDfU+NWUb32bM=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=dnFhxiKP2m4vScpkB5KeSXpiY7Ark668gqJFb0E3hfhTclBNgK+3MVSYlGttmuBlx ze5Mx7Ohpt4TzZI9/2IeLslW+Bd+/ODroD768iI2seDBL7+8z6XXeNoKRN0nlhE4wK epbFPcLRFkVO0k7e5zDidBU7fgwmt1JEenceVoGs= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id AA2BF38582B0 for ; Mon, 27 Feb 2023 21:29:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AA2BF38582B0 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-587-2LZB4niPNN2okfujgbAWyQ-1; Mon, 27 Feb 2023 16:29:40 -0500 X-MC-Unique: 2LZB4niPNN2okfujgbAWyQ-1 Received: by mail-wm1-f71.google.com with SMTP id l23-20020a7bc457000000b003e206cbce8dso2857627wmi.7 for ; Mon, 27 Feb 2023 13:29:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533379; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HsQv8vxQIbJ6M66lXF5LxS24bIaW/hNDfU+NWUb32bM=; b=xv4vGYP6ooFbvkYAMTngJTqJhLSiYKGc0Xt6w6viQD7QPIlV3YN5KaZ5HamRpQv8r8 PYfRAlFKUH7qTiprrNTUOeq3X6VP1Qc/z+8FDVJ8YQjTLYWVyhiJ0bIFsDWNcJTtcBOQ R4tpLX+AE8INxUSZUN75icnuekr0wA0PG3bEXxfpI/IfvAXnyD4PhAZXExm23UwkwNeW gFTTgImLY0Z/gw0KQTutpOgNLeYKinxa7JeJ1FTXDxYW3D8w4eW8SK1XOeEEMyqsh7gv 6a9NC1V2uHX0LPCKzMrP6u7D7mxQG3Q7nE7QxmA4agQvnEq5SmVjyfdN292Eo6ldLknf fxbw== X-Gm-Message-State: AO0yUKWWgwFZKemncGZV51trjIbo0WC7Fd+RBKNKbhg2S0PBKf16J0W8 9wHktePl1sIcxwHKSuFexujwwvoeQBQNugs43lu4mTvTrbi9vmk+Wxsc1XKe71LSDf2FR42kZ3g ooKIvGrHdAKjzDh/Ueo1pRHqgVuPHed0B7tkt8Ic5ouzdsiDuB9tR4oczJe1pNdty4zWLwSK1rh STVt0= X-Received: by 2002:adf:f549:0:b0:2c7:ffd:f483 with SMTP id j9-20020adff549000000b002c70ffdf483mr365122wrp.41.1677533378848; Mon, 27 Feb 2023 13:29:38 -0800 (PST) X-Google-Smtp-Source: AK7set+AhrdtPAim8H9uurc1uvZnQGsNETGprJmcej2GYDSicxdKznbiDgx2tUH34tdyJXR/dg08DA== X-Received: by 2002:adf:f549:0:b0:2c7:ffd:f483 with SMTP id j9-20020adff549000000b002c70ffdf483mr365115wrp.41.1677533378583; Mon, 27 Feb 2023 13:29:38 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id 2-20020a05600c028200b003e9ded91c27sm13834719wmk.4.2023.02.27.13.29.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:38 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 06/13] gdb: remove a use of alloca from elfread.c Date: Mon, 27 Feb 2023 21:29:19 +0000 Message-Id: X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" This removes one of the uses of alloca from elfread.c and replaces it with gdb::byte_vector. There are other uses of alloca in this file, but they all deal with types other than gdb_byte and so will require replacing with something other than gdb::byte_vector. There should be no user visible changes in this commit. --- gdb/elfread.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gdb/elfread.c b/gdb/elfread.c index ca684aab57e..05a7f753843 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -839,7 +839,6 @@ elf_gnu_ifunc_resolve_by_got (const char *name, CORE_ADDR *addr_p) size_t ptr_size = ptr_type->length (); CORE_ADDR pointer_address, addr; asection *plt; - gdb_byte *buf = (gdb_byte *) alloca (ptr_size); bound_minimal_symbol msym; msym = lookup_minimal_symbol (name_got_plt, NULL, objfile); @@ -855,9 +854,11 @@ elf_gnu_ifunc_resolve_by_got (const char *name, CORE_ADDR *addr_p) if (msym.minsym->size () != ptr_size) return 0; - if (target_read_memory (pointer_address, buf, ptr_size) != 0) + + gdb::byte_vector buf (ptr_size); + if (target_read_memory (pointer_address, buf.data (), ptr_size) != 0) return 0; - addr = extract_typed_address (buf, ptr_type); + addr = extract_typed_address (buf.data (), ptr_type); addr = gdbarch_convert_from_func_ptr_addr (gdbarch, addr, current_inferior ()->top_target ()); addr = gdbarch_addr_bits_remove (gdbarch, addr); From patchwork Mon Feb 27 21:29:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65709 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1A6E5384FB61 for ; Mon, 27 Feb 2023 21:31:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1A6E5384FB61 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533465; bh=QXSkgdBHPpUezicTdbfgril25G+iUdFOk//mSDTOpV8=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=ZhXTyDkQkn8xTBQ7wygNOfD+YGii7270qocJipVL24J0hmJt+N9O5oaavaSJXBHVJ AS9MU6xhIvhxuJulPolSrqgRd9hYqFw4OoLuAYDqMZthfUM72Q/+sOKzYEIWwcDCRJ qYwzWJmI0UugOztbwQfW2C2DVKD6Nyv+Eow/HLD8= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 32CEC38582A3 for ; Mon, 27 Feb 2023 21:29:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 32CEC38582A3 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-213-EVHiT1KNPpyQGcEmktfjag-1; Mon, 27 Feb 2023 16:29:41 -0500 X-MC-Unique: EVHiT1KNPpyQGcEmktfjag-1 Received: by mail-wr1-f72.google.com with SMTP id k6-20020adfc706000000b002c716981a1fso1119060wrg.1 for ; Mon, 27 Feb 2023 13:29:41 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533380; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QXSkgdBHPpUezicTdbfgril25G+iUdFOk//mSDTOpV8=; b=6kQkYCPVvjuDoME9owokErrE7KdpBLWnLoRfyWqNifCKn6s9tA4SRaesC49tFucJZy zqPtEzs0hixnYgDz5cXzGmUxXGuw38CKzjftrLolzS9zhp01b5/V2Wu+1Bpx2LrgYoea lYJe8pwRJTKfzSqvRkw/oXHr5Ouybk1FHuFPwsUpMCm2iMQMg2/KVx/ySmQKfkEoQeBJ tzbrga5JGNbNTEDdVNy2hc6rcrXQ6w8bzpDD6m2su8oG5j7Khz9GknCZEtTrzxI/gz7F mu2kh3l2VFZRi0wgICv97MCKMrRSjAyAq3TkK1JWXPiTmTPxRhgqHS5rNNGHdGNzIwam oa+Q== X-Gm-Message-State: AO0yUKUNXSXJGVrC7B6QTiMcm+/a0JSdJKYUaCde2Hq/jOA1v3fqRlFt +b5H8bkO4qGYz0UcSha6a54Yy71woLC5rNQDuHADF5VfaCn5DcOvRuATym7mT3FkL6iiy9E+M0L 1BXLUuAtfvbKhUksgTuotemlAudoGNowdxpYJ0c/r1oaW0ePNtcft+LVTgFu9mCokn8djqWgLU3 JfU0E= X-Received: by 2002:a05:600c:181d:b0:3ea:f6c4:5f2a with SMTP id n29-20020a05600c181d00b003eaf6c45f2amr427986wmp.17.1677533380310; Mon, 27 Feb 2023 13:29:40 -0800 (PST) X-Google-Smtp-Source: AK7set/KtZzaE1fsAZeJbQRreJlhq22TfavjQCUbc352oGVse6oGA5gd+VzXuSAs/XfY7IvG7OtlsA== X-Received: by 2002:a05:600c:181d:b0:3ea:f6c4:5f2a with SMTP id n29-20020a05600c181d00b003eaf6c45f2amr427977wmp.17.1677533380037; Mon, 27 Feb 2023 13:29:40 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id 2-20020a05600c028200b003e9ded91c27sm13834769wmk.4.2023.02.27.13.29.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:39 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 07/13] gdb: remove use of alloca from findvar.c Date: Mon, 27 Feb 2023 21:29:20 +0000 Message-Id: X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Remove the use of alloca from findvar.c and replace it with gdb::byte_vector. There should be no user visible changes after this commit. --- gdb/findvar.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gdb/findvar.c b/gdb/findvar.c index 60b5ca3faf3..2c5ee11a2c7 100644 --- a/gdb/findvar.c +++ b/gdb/findvar.c @@ -951,11 +951,11 @@ address_from_register (int regnum, frame_info_ptr frame) pointer types. Avoid constructing a value object in those cases. */ if (gdbarch_convert_register_p (gdbarch, regnum, type)) { - gdb_byte *buf = (gdb_byte *) alloca (type->length ()); + gdb::byte_vector buf (type->length ()); int optim, unavail, ok; ok = gdbarch_register_to_value (gdbarch, frame, regnum, type, - buf, &optim, &unavail); + buf.data (), &optim, &unavail); if (!ok) { /* This function is used while computing a location expression. @@ -965,7 +965,7 @@ address_from_register (int regnum, frame_info_ptr frame) error_value_optimized_out (); } - return unpack_long (type, buf); + return unpack_long (type, buf.data ()); } value = gdbarch_value_from_register (gdbarch, type, regnum, null_frame_id); From patchwork Mon Feb 27 21:29:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65710 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7A776385B53E for ; Mon, 27 Feb 2023 21:31:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7A776385B53E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533489; bh=VAcGwoQsXPBdqo6g6jvR07kkpBIirPxbhE4LPYHY4aE=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=azFMAmBMG2zm1neUbFv2QaJToUVwxcK6KcppaiS9ETY8h5hIJy3oPFUgKVglWiNP/ p3flaFG8/QUwts6zsRxcJtoTUv85fa3nKD7dxMQrbNOE4dBhPmVFjp5/TLTggC+kEi hj7UXbWix/NrKClAU34mLNWSzza1s0Al5ASd7xAU= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id F387E3858430 for ; Mon, 27 Feb 2023 21:29:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F387E3858430 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-647-FuHSXVFqOJmH3gj58HpFEg-1; Mon, 27 Feb 2023 16:29:43 -0500 X-MC-Unique: FuHSXVFqOJmH3gj58HpFEg-1 Received: by mail-wm1-f71.google.com with SMTP id n27-20020a05600c3b9b00b003e9ca0f4677so3407455wms.8 for ; Mon, 27 Feb 2023 13:29:43 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533381; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VAcGwoQsXPBdqo6g6jvR07kkpBIirPxbhE4LPYHY4aE=; b=ntxqIqABEVRn7q3CsUGO2fKoMha3tSTvNx7GipKkh6R5fK4k/RW9oeEFm9MzZ3B3ss KNWtjlkPQ+5Dq9APw8MZN2zfu20IC9wcETP1zT8ItNME3l5IFUUIFXSNtay/wq7xoe+O CzTL1eaOhiho3Hi5+QSNXYNcKVEiqwc6vnnEL8PJIaJ+07voyr+WCGqr1Y94UpFvSdwy ou90OKjOYRed4RAA6UFQbo88Z+QFEfCse3fJJZ4Lb6v0jU29iYZ6miCL+KNeTdfeoU5B O0sFUliwGi/u3LAc22KNimEaIgv4a+AnyAyW6CuycWcyDGq/l6C7F78/+mFzKgiO0brM uFSQ== X-Gm-Message-State: AO0yUKUME5INgU75Kp8HYJEQ7Xn7V3/ex8C+MPcERSrC0AgX7OJvnNaU zziIz6sukTQGMw77k2myaCHs3Vdg0SKqQ1nftg1JXrdueLKUqkR+kB5hToGgPbgGZ+B01S1qGtA CHrLhIceQfJGCnpi493rDLVvtqfoHpr5gnIGVIGJqLcooM3wRx5w6YmZ5CDMxYuC5eMXEmDHvph XnDhA= X-Received: by 2002:a05:6000:12c3:b0:2c7:84e:1cfa with SMTP id l3-20020a05600012c300b002c7084e1cfamr408122wrx.40.1677533381568; Mon, 27 Feb 2023 13:29:41 -0800 (PST) X-Google-Smtp-Source: AK7set+6EP38N6REM19CT8XGAMh9uYpYehiFpEvyVN70s21N+1hxUdJTSYVN2pTgOECwF9AKZrOFcg== X-Received: by 2002:a05:6000:12c3:b0:2c7:84e:1cfa with SMTP id l3-20020a05600012c300b002c7084e1cfamr408111wrx.40.1677533381265; Mon, 27 Feb 2023 13:29:41 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id ja18-20020a05600c557200b003eb0d6f48f3sm13229150wmb.27.2023.02.27.13.29.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:40 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 08/13] gdb: remove use of alloca from linux-nat-trad.c Date: Mon, 27 Feb 2023 21:29:21 +0000 Message-Id: X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Remove use of alloca from linux-nat-trad.c and replace with gdb::byte_vector. I've compiled for the mips-linux target (which uses this file) to ensure that the file still builds, but I've not tested GDB for a target that uses this file. Still, I'm pretty confident that I've not broken anything with this change. There should be no user visible changes after this commit. --- gdb/linux-nat-trad.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gdb/linux-nat-trad.c b/gdb/linux-nat-trad.c index 8204f3883f5..408d9118766 100644 --- a/gdb/linux-nat-trad.c +++ b/gdb/linux-nat-trad.c @@ -32,7 +32,6 @@ linux_nat_trad_target::fetch_register (struct regcache *regcache, int regnum) struct gdbarch *gdbarch = regcache->arch (); enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR addr; - gdb_byte *buf; size_t size; pid_t pid; int i; @@ -49,7 +48,8 @@ linux_nat_trad_target::fetch_register (struct regcache *regcache, int regnum) pid = get_ptrace_pid (regcache->ptid ()); size = register_size (gdbarch, regnum); - buf = (gdb_byte *) alloca (size); + gdb::byte_vector buf_storage (size); + gdb_byte *buf = buf_storage.data (); /* Read the register contents from the inferior a chunk at a time. */ for (i = 0; i < size; i += sizeof (PTRACE_TYPE_RET)) @@ -95,7 +95,6 @@ linux_nat_trad_target::store_register (const struct regcache *regcache, enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); CORE_ADDR addr; size_t size; - gdb_byte *buf; pid_t pid; int i; @@ -108,7 +107,8 @@ linux_nat_trad_target::store_register (const struct regcache *regcache, pid = get_ptrace_pid (regcache->ptid ()); size = register_size (gdbarch, regnum); - buf = (gdb_byte *) alloca (size); + gdb::byte_vector buf_storage (size); + gdb_byte *buf = buf_storage.data (); /* Write the register contents into the inferior a chunk at a time. */ regcache->raw_collect (regnum, buf); From patchwork Mon Feb 27 21:29:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65712 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 526B0385020F for ; Mon, 27 Feb 2023 21:31:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 526B0385020F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533517; bh=eXOtIjeGrHt8sIJygZqV6SdALYM1HakZoQv1+1jRIS8=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=x2s6Av+ji3AWn366Zo6LUej4ebJFRzw3xuTyg0JPFXa3XCXwZ4n5PMJMSY92H2IvD Y/74xdhbKvMod8QHzeOS2cnfDYRbEkZ+Xd+MR8fCT0LE+/CttlaKbh61m+YKyCbU5q Ki5LsqKd1cEsj8lly+o+/fL3zLz7p06r6NoSwd4c= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 018F4385842C for ; Mon, 27 Feb 2023 21:29:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 018F4385842C Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-360-Gx5w4sKmM0aMwdAykps1Mw-1; Mon, 27 Feb 2023 16:29:44 -0500 X-MC-Unique: Gx5w4sKmM0aMwdAykps1Mw-1 Received: by mail-wm1-f71.google.com with SMTP id z6-20020a05600c220600b003e222c9c5f4so2857685wml.4 for ; Mon, 27 Feb 2023 13:29:44 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533383; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eXOtIjeGrHt8sIJygZqV6SdALYM1HakZoQv1+1jRIS8=; b=6sVrkcvavE3nsTDOOGvucx1xr4hGFHWlo8j5iOm0hqx2Jh49lPoqLtc3LurBTmvjMC KCD8z6vO+H0CNb/Io8vc5trH17G70MiHMSydAK/G9K+vmH9ldU/CqWRf3fugok4l5axf qjzODFjlAPAKd0tlY42dH4zRcc1v+39kdVL3mafzyvV/HizQc9r5DmynCLlSziqbYp4q nGgi62qZmkwe5RiOCPWpqxt/RjE3OfFfaJ4iuWYmwei4kKHQs7Ogji/r14cxfrgOnqFQ vIimNT/DzoqtBkCduGhMiVI8lEvqblln5v178ib0jFpxxoaAlVqOyn7ZhL9N4PJReu9C rSUQ== X-Gm-Message-State: AO0yUKUQ5saMEiXUVqR2ysNF7hIqHmXifH2iWDKs19k3wSS+uealF3RN 2lMAti5k8xe+0sJruclPDO9gFTHJAyfXS8N2bzsDoZEjPcyYQ5U6a+xLyNYQS+L67l7sgjIWzX8 fvX5Dbl+PuvKQZeYuP7BPRaDWz5tV1gyZlU9s+3MLKRe193083WW3HqCq+Al7Nmyv5sfJI+bwOb XGwZE= X-Received: by 2002:a05:600c:4a9d:b0:3ea:e7f6:f8f9 with SMTP id b29-20020a05600c4a9d00b003eae7f6f8f9mr396811wmp.19.1677533382908; Mon, 27 Feb 2023 13:29:42 -0800 (PST) X-Google-Smtp-Source: AK7set8PXkCCczAABMcrdM9vlQ/c9xQeOB1NOqUtbBvFJRFdUzRtA6mFvNrPLseK0JSZsVejqv17Bw== X-Received: by 2002:a05:600c:4a9d:b0:3ea:e7f6:f8f9 with SMTP id b29-20020a05600c4a9d00b003eae7f6f8f9mr396801wmp.19.1677533382589; Mon, 27 Feb 2023 13:29:42 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id ja6-20020a05600c556600b003dfefe115b9sm10519383wmb.0.2023.02.27.13.29.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:42 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 09/13] gdb: remove use of alloca from mem-break.c Date: Mon, 27 Feb 2023 21:29:22 +0000 Message-Id: X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Replace the use of alloca with gdb::byte_vector in mem-break.c. There should be no user visible changes after this commit. --- gdb/mem-break.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gdb/mem-break.c b/gdb/mem-break.c index abff4b47081..81059b37335 100644 --- a/gdb/mem-break.c +++ b/gdb/mem-break.c @@ -41,7 +41,6 @@ default_memory_insert_breakpoint (struct gdbarch *gdbarch, { CORE_ADDR addr = bp_tgt->placed_address; const unsigned char *bp; - gdb_byte *readbuf; int bplen; int val; @@ -50,8 +49,8 @@ default_memory_insert_breakpoint (struct gdbarch *gdbarch, /* Save the memory contents in the shadow_contents buffer and then write the breakpoint instruction. */ - readbuf = (gdb_byte *) alloca (bplen); - val = target_read_memory (addr, readbuf, bplen); + gdb::byte_vector readbuf (bplen); + val = target_read_memory (addr, readbuf.data (), bplen); if (val == 0) { /* These must be set together, either before or after the shadow @@ -63,7 +62,7 @@ default_memory_insert_breakpoint (struct gdbarch *gdbarch, conditions/commands on the target side for some types of breakpoints, such as target remote. */ bp_tgt->shadow_len = bplen; - memcpy (bp_tgt->shadow_contents, readbuf, bplen); + memcpy (bp_tgt->shadow_contents, readbuf.data (), bplen); val = target_write_raw_memory (addr, bp, bplen); } From patchwork Mon Feb 27 21:29:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65713 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7BBCD385086A for ; Mon, 27 Feb 2023 21:32:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7BBCD385086A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533545; bh=Jrru08rXxCGvnisVoLreP+YEDQAHH4Kvr0gsUWaYByw=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=iGfc7RZpsb7FyhxPWsdFttBRI9CJ7yqDbpJoOu2XVqXq55rhvKVeeo91l3QZXtWh5 JUDc4mCpu0axH9U+TzWhxS9qWRZjsn6aXCGzOqK424Hh21AE1S/Osth6nNQRQhYfLQ Q7W6A0vWGxT5P+s1KWxXQCsJiEy0SzBDQLknwxyk= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 4E07F3857438 for ; Mon, 27 Feb 2023 21:29:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4E07F3857438 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-613-oZhEs-TFN36gmLgZEzrJ5Q-1; Mon, 27 Feb 2023 16:29:45 -0500 X-MC-Unique: oZhEs-TFN36gmLgZEzrJ5Q-1 Received: by mail-wm1-f72.google.com with SMTP id k26-20020a05600c0b5a00b003dfe4bae099so3441416wmr.0 for ; Mon, 27 Feb 2023 13:29:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533384; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Jrru08rXxCGvnisVoLreP+YEDQAHH4Kvr0gsUWaYByw=; b=cEgrhDxL8pfy9uvDfcrRi28fs70rs4jC8LEkSg7tvgGlPBWktJ6BBI3hwiLk7OwQba 76n+P5KTYd7WZdtq1LIX+prqVgIxfqk6SZX2YG5Tys8ExsMxyoIdwwkPl+SHWW2U/8pn O9ms8UNkczxO6dFWXmf+oUZsJqZaRIv5SRygTvyEwL+RinEqPlh0Ny5Tm9iSBiZSS1wn 4w10Al2gSyWw79VxNro2yjdxu/d2DGVbyzl5h5ybiGlbmaIURqpK1Pr9qHgDpRPujNvj BJUzfYuPci4vjlJQg1m/LpA3FAQK8rapSh/+kp4Xd/eg3IxCyZ0FD/QQVULviAcRTlKd FwZg== X-Gm-Message-State: AO0yUKUBzI1knln68kB/GviqzWWYW6IdM6dRnzdEsVQfNxdFTmNqL3jE ln7/UjCZGWMoc4iTAviWvuzuoozVDIa5FSEhA6P91OpD74YaFI+WIBtNh8i+7OiWT49Ov/m4QOB 5jED0Gk85LmR0fvMYG29lF6G6ef6f3eI8ia+BGbhR+7b6HXxnqOsld76vcQ62jeT+KaUpJCDPUJ /iofY= X-Received: by 2002:a5d:4e51:0:b0:2c8:4bca:7fc2 with SMTP id r17-20020a5d4e51000000b002c84bca7fc2mr493356wrt.4.1677533384340; Mon, 27 Feb 2023 13:29:44 -0800 (PST) X-Google-Smtp-Source: AK7set/4zE1qcA9wmc+8Nc0/FAF0Rd5ugH0n/MfWYgMM3ZxrhbnIZhL423D0ZpbDq+jtS7eK4HR6qQ== X-Received: by 2002:a5d:4e51:0:b0:2c8:4bca:7fc2 with SMTP id r17-20020a5d4e51000000b002c84bca7fc2mr493343wrt.4.1677533383991; Mon, 27 Feb 2023 13:29:43 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id v14-20020adfedce000000b002c7b229b1basm8091017wro.15.2023.02.27.13.29.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:43 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 10/13] gdb: remove some uses of alloca from printcmd.c Date: Mon, 27 Feb 2023 21:29:23 +0000 Message-Id: <6329d414746b1b6fe6d5c32d9ab5c183b5719719.1677533215.git.aburgess@redhat.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Remove a couple of uses of alloca from printcmd.c, and replace them with gdb::byte_vector. Unlike most times when alloca is replace with gdb::byte_vector, the size of the vector is not specified at the byte_vector creation time. In this case the vector can be sized differently depending on which path of an `if` is taken, however, the lifetime of the data within the vector must extend beyond the `if` itself. There is a remaining use of alloca in this file, but that case will not be replace with gdb::byte_vector, so I've left that for now. There should be no user visible changes after this commit. --- gdb/printcmd.c | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 0d3bc292d4e..1efd3cabf54 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -2443,7 +2443,7 @@ static void printf_c_string (struct ui_file *stream, const char *format, struct value *value) { - const gdb_byte *str; + gdb::byte_vector str; if (value->type ()->code () != TYPE_CODE_PTR && value->lval () == lval_internalvar @@ -2455,11 +2455,10 @@ printf_c_string (struct ui_file *stream, const char *format, character. This protects against corrupted C-style strings that lack the terminating null char. It also allows Ada-style strings (not null terminated) to be printed without problems. */ - gdb_byte *tem_str = (gdb_byte *) alloca (len + 1); + str.resize (len + 1); - memcpy (tem_str, value->contents ().data (), len); - tem_str [len] = 0; - str = tem_str; + memcpy (str.data (), value->contents ().data (), len); + str [len] = 0; } else { @@ -2474,31 +2473,30 @@ printf_c_string (struct ui_file *stream, const char *format, return; } - /* This is a %s argument. Find the length of the string. */ - size_t len; - - for (len = 0;; len++) + /* This is a %s argument. Build the string in STR which is + currently empty. */ + gdb_assert (str.size () == 0); + for (size_t len = 0;; len++) { gdb_byte c; QUIT; read_memory (tem + len, &c, 1); + str.push_back (c); if (c == 0) break; } - /* Copy the string contents into a string inside GDB. */ - gdb_byte *tem_str = (gdb_byte *) alloca (len + 1); - - if (len != 0) - read_memory (tem, tem_str, len); - tem_str[len] = 0; - str = tem_str; + /* We will have passed through the above loop at least once, and will + only exit the loop when we have pushed a zero byte onto the end of + STR. */ + gdb_assert (str.size () > 0); + gdb_assert (str.back () == 0); } DIAGNOSTIC_PUSH DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL - gdb_printf (stream, format, (char *) str); + gdb_printf (stream, format, (char *) str.data ()); DIAGNOSTIC_POP } @@ -2539,23 +2537,23 @@ printf_wide_c_string (struct ui_file *stream, const char *format, /* This is a %s argument. Find the length of the string. */ enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); - gdb_byte *buf = (gdb_byte *) alloca (wcwidth); + gdb::byte_vector buf (wcwidth); for (len = 0;; len += wcwidth) { QUIT; - read_memory (tem + len, buf, wcwidth); - if (extract_unsigned_integer (buf, wcwidth, byte_order) == 0) + read_memory (tem + len, buf.data (), wcwidth); + if (extract_unsigned_integer (buf.data (), wcwidth, byte_order) == 0) break; } /* Copy the string contents into a string inside GDB. */ - gdb_byte *tem_str = (gdb_byte *) alloca (len + wcwidth); + gdb::byte_vector tem_str (len + wcwidth); if (len != 0) - read_memory (tem, tem_str, len); + read_memory (tem, tem_str.data (), len); memset (&tem_str[len], 0, wcwidth); - str = tem_str; + str = tem_str.data (); } auto_obstack output; From patchwork Mon Feb 27 21:29:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65704 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7F5AA3850215 for ; Mon, 27 Feb 2023 21:30:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7F5AA3850215 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533429; bh=WH5KrFp9VG4nUuZgWLYrrKVGOhIaCxfaqNEErIvIEZE=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=HFc95GEdBODYPxyY0HrE3aTmBMcduDWaqw0vWxzUXmi+AcWQvaxXUBLVrJzWV8eVK Uf4WzSXM6DVgBLBms0565xex1uCHfvr3+KjNu8VoKTgNtS1YqPV75V7iYlZqginbih 6Cu7Tx30IlnczK2xiz7ibRaC+p9xbzv9hABv2hNY= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 6F45C3858281 for ; Mon, 27 Feb 2023 21:29:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6F45C3858281 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-641-GIObEo-qPUqqwE6HpVBfQw-1; Mon, 27 Feb 2023 16:29:47 -0500 X-MC-Unique: GIObEo-qPUqqwE6HpVBfQw-1 Received: by mail-wm1-f69.google.com with SMTP id az12-20020a05600c600c00b003e8910ec2fdso2859005wmb.6 for ; Mon, 27 Feb 2023 13:29:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533385; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WH5KrFp9VG4nUuZgWLYrrKVGOhIaCxfaqNEErIvIEZE=; b=AbB+tlUurK8qn+CIT9wpZaWScY48BT/aut0zO7VlMCAFiC8b/UaA4gnsROvyhLBy0N HXrFY4bZCj1qR7zb1tCyVaKA/9B8DOu/v2omZhK74Q3gYYZeLkT3mBhC8kNE4b46pDYs gU5Bsdc620jJ129ghNWWhfivtOzmj/XdFN8AhiDAgveOu0R2yTDYjsXPTV1nls+Zanus 0vR1X4HVOidAopxiL12jRCmuMt5nISPJizMpwvtRfYPCcy2S9LiPXbuV966yPqhZtNRA LsrHmMLmMQNxzI8Q+DDXNOLUpiVvb6+MC22rvhF7jEwsxYrd01VXw6oNVv5HNHp65Txk p1MA== X-Gm-Message-State: AO0yUKXKk1YJO32xM1x74Wp4V0lekycfkbdgLWzZaQgEarjvA5ULP5n9 kI1vrNgSV7CCqX1+IMNRvdTzUZUF1UB/BoO37PkiV2JyHStzdxJEJI5qWKOCe59d5AP8z4lm7DB xm4VMwbrbqgpiqkRFKeR0hvYb6iwo1sQLhENnbJ6tci7Gp+lC9EiESG9CzNQn3ebc96fMzFN4eA K2olo= X-Received: by 2002:a05:600c:1708:b0:3ea:c100:f18d with SMTP id c8-20020a05600c170800b003eac100f18dmr424396wmn.9.1677533385581; Mon, 27 Feb 2023 13:29:45 -0800 (PST) X-Google-Smtp-Source: AK7set/f4bNgDzJCV/JQo99HpoGO+4N/Bv3hPpoglc1WTzGhVbu9g/CC2sExpa6JANQomsWcy5mpcA== X-Received: by 2002:a05:600c:1708:b0:3ea:c100:f18d with SMTP id c8-20020a05600c170800b003eac100f18dmr424378wmn.9.1677533385283; Mon, 27 Feb 2023 13:29:45 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id z19-20020a05600c0a1300b003e4326a6d53sm13857747wmp.35.2023.02.27.13.29.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:44 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 11/13] gdb: remove some uses of alloca from remote.c Date: Mon, 27 Feb 2023 21:29:24 +0000 Message-Id: <4818cb026330713c1cbce9ff36a77fa6a3ec3618.1677533215.git.aburgess@redhat.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Remove some of the uses of alloca from remote.c and replace them with either gdb::byte_vector or std::vector. In one case I've used std::vector because this handles automatically zeroing the contents, and this allows me to remove an associated memset. There are other uses of alloca in this file (remote.c), but these are all for types other than gdb_byte so need replacing with something other than gdb::byte_vector. There should be no user visible changes after this commit. --- gdb/remote.c | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/gdb/remote.c b/gdb/remote.c index ba7a7520cb4..3f0552e7c9e 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -8554,7 +8554,6 @@ remote_target::fetch_register_using_p (struct regcache *regcache, struct gdbarch *gdbarch = regcache->arch (); struct remote_state *rs = get_remote_state (); char *buf, *p; - gdb_byte *regp = (gdb_byte *) alloca (register_size (gdbarch, reg->regnum)); int i; if (m_features.packet_support (PACKET_p) == PACKET_DISABLE) @@ -8593,6 +8592,7 @@ remote_target::fetch_register_using_p (struct regcache *regcache, } /* Otherwise, parse and supply the value. */ + gdb::byte_vector regp (register_size (gdbarch, reg->regnum)); p = buf; i = 0; while (p[0] != 0) @@ -8603,7 +8603,7 @@ remote_target::fetch_register_using_p (struct regcache *regcache, regp[i++] = fromhex (p[0]) * 16 + fromhex (p[1]); p += 2; } - regcache->raw_supply (reg->regnum, regp); + regcache->raw_supply (reg->regnum, regp.data ()); return 1; } @@ -8862,7 +8862,7 @@ remote_target::store_register_using_P (const struct regcache *regcache, struct remote_state *rs = get_remote_state (); /* Try storing a single register. */ char *buf = rs->buf.data (); - gdb_byte *regp = (gdb_byte *) alloca (register_size (gdbarch, reg->regnum)); + gdb::byte_vector regp (register_size (gdbarch, reg->regnum)); char *p; if (m_features.packet_support (PACKET_P) == PACKET_DISABLE) @@ -8873,8 +8873,8 @@ remote_target::store_register_using_P (const struct regcache *regcache, xsnprintf (buf, get_remote_packet_size (), "P%s=", phex_nz (reg->pnum, 0)); p = buf + strlen (buf); - regcache->raw_collect (reg->regnum, regp); - bin2hex (regp, p, register_size (gdbarch, reg->regnum)); + regcache->raw_collect (reg->regnum, regp.data ()); + bin2hex (regp.data (), p, register_size (gdbarch, reg->regnum)); putpkt (rs->buf); getpkt (&rs->buf, 0); @@ -8900,30 +8900,26 @@ remote_target::store_registers_using_G (const struct regcache *regcache) { struct remote_state *rs = get_remote_state (); remote_arch_state *rsa = rs->get_remote_arch_state (regcache->arch ()); - gdb_byte *regs; - char *p; - /* Extract all the registers in the regcache copying them into a - local buffer. */ - { - int i; + /* Extract all the registers in the REGCACHE copying them into a local + buffer REGS. - regs = (gdb_byte *) alloca (rsa->sizeof_g_packet); - memset (regs, 0, rsa->sizeof_g_packet); - for (i = 0; i < gdbarch_num_regs (regcache->arch ()); i++) - { - struct packet_reg *r = &rsa->regs[i]; + Use std::vector here (instead of gdb::byte_vector) because + we want the contents to be zero initialized. */ + std::vector regs (rsa->sizeof_g_packet); + for (int i = 0; i < gdbarch_num_regs (regcache->arch ()); i++) + { + struct packet_reg *r = &rsa->regs[i]; - if (r->in_g_packet) - regcache->raw_collect (r->regnum, regs + r->offset); - } - } + if (r->in_g_packet) + regcache->raw_collect (r->regnum, regs.data () + r->offset); + } /* Command describes registers byte by byte, each byte encoded as two hex characters. */ - p = rs->buf.data (); + char *p = rs->buf.data (); *p++ = 'G'; - bin2hex (regs, p, rsa->sizeof_g_packet); + bin2hex (regs.data (), p, rsa->sizeof_g_packet); putpkt (rs->buf); getpkt (&rs->buf, 0); if (packet_check_result (rs->buf) == PACKET_ERROR) From patchwork Mon Feb 27 21:29:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65714 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 95C693858296 for ; Mon, 27 Feb 2023 21:32:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 95C693858296 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533575; bh=6ARQ+40q2+uCuHA3RQbq4Xta0vsXXRIUOJ8zMR11OZw=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=rqW+2uQqG67tbMevztNuzhYWj+WmQlOdam/NT9Bp4S4QDILcocWCSicZSySlwqw7m c9F25DtSOuwtg4I3vQLTKIt4Ud0X4Jj5vSBaN1I4Jg8eARqqOR+vhINaTVfizsznHa oXJMKq+77RuP5zqFpYMJPku8oV//SSOz0qpN44HI= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 481C13858C50 for ; Mon, 27 Feb 2023 21:29:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 481C13858C50 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-607-wFQaHMG4MKW5aYTdIb73NA-1; Mon, 27 Feb 2023 16:29:49 -0500 X-MC-Unique: wFQaHMG4MKW5aYTdIb73NA-1 Received: by mail-wm1-f69.google.com with SMTP id t1-20020a7bc3c1000000b003dfe223de49so5910907wmj.5 for ; Mon, 27 Feb 2023 13:29:49 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533388; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6ARQ+40q2+uCuHA3RQbq4Xta0vsXXRIUOJ8zMR11OZw=; b=CqxUvY8EiA47IoTtEJ0bJ21OYCXRqk1EA9a0pZ1xqm4twigEjKJod75h1A98twRoPd 3IVF372jvFS7RN96vxrVZKAss/XfsxkuZxVuD/OBBVuHbXj2knHyb1POABt7QVX6ic8N ozQyogaA0hkaM/R7b6hrK7wQGkyE6PzlOayABzSdiSbZrCSTnoaJoqia4eCQlMjpDogE 9KGRS2IRHMBRarzBXxTjAjL3U/LuB1IjfqDo7PlRkcVj56RvGGa2MoN9JY7bxLlyGmVg Xi7MmTveQJk0KD/XprmonAKkmqHMwxA2O5TSGahCFVGDPBKTEOhEgunOuA5krqQBZmkI tn+A== X-Gm-Message-State: AO0yUKUSWl0A2uRiNcIO7BzLFIcriEABIrVWQVwAhWTbUZ5inynXnr7e kvZidEgX0m9nyDfK1K+uWMXGhNb5OuU5HM8b1Kdxra0RaSLiRwVIV9JEHuZVpdghS+v58N6f1ZA ghPXUClLKiUEb/Y2HimdvYGcVB/8xlLj+gZ9hFnoSXfK+3DOtU1daYu4QVlH67UJBydPF19B0uU 5enVc= X-Received: by 2002:a05:600c:714:b0:3eb:38e6:f65d with SMTP id i20-20020a05600c071400b003eb38e6f65dmr418191wmn.11.1677533388037; Mon, 27 Feb 2023 13:29:48 -0800 (PST) X-Google-Smtp-Source: AK7set/mQ4tKJTMV3NWEWZLRyHBZt1O9RXz+Abf5eGRhQxznWUn3xLoEZQeP8BA6I88kIn0/fH8C5g== X-Received: by 2002:a05:600c:714:b0:3eb:38e6:f65d with SMTP id i20-20020a05600c071400b003eb38e6f65dmr418184wmn.11.1677533387811; Mon, 27 Feb 2023 13:29:47 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id p1-20020a056000018100b002c54fb024b2sm8157161wrx.61.2023.02.27.13.29.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:47 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 12/13] gdb: remove uses of alloca from valprint.c Date: Mon, 27 Feb 2023 21:29:25 +0000 Message-Id: X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Remove the uses of alloca from valprint.c and replace them with gdb::byte_vector. There should be no user visible changes after this commit. --- gdb/valprint.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/gdb/valprint.c b/gdb/valprint.c index 357db3815b0..63a2a4de060 100644 --- a/gdb/valprint.c +++ b/gdb/valprint.c @@ -2203,13 +2203,13 @@ generic_emit_char (int c, struct type *type, struct ui_file *stream, { enum bfd_endian byte_order = type_byte_order (type); - gdb_byte *c_buf; bool need_escape = false; - c_buf = (gdb_byte *) alloca (type->length ()); - pack_long (c_buf, type, c); + gdb::byte_vector c_buf (type->length ()); + pack_long (c_buf.data (), type, c); - wchar_iterator iter (c_buf, type->length (), encoding, type->length ()); + wchar_iterator iter (c_buf.data (), type->length (), encoding, + type->length ()); /* This holds the printable form of the wchar_t data. */ auto_obstack wchar_buf; @@ -2667,16 +2667,15 @@ val_print_string (struct type *elttype, const char *encoding, width, byte_order) == 0; if (len == -1 && !found_nul) { - gdb_byte *peekbuf; - /* We didn't find a NUL terminator we were looking for. Attempt to peek at the next character. If not successful, or it is not a null byte, then force ellipsis to be printed. */ - peekbuf = (gdb_byte *) alloca (width); + gdb::byte_vector peekbuf (width); - if (target_read_memory (addr, peekbuf, width) == 0 - && extract_unsigned_integer (peekbuf, width, byte_order) != 0) + if (target_read_memory (addr, peekbuf.data (), width) == 0 + && extract_unsigned_integer (peekbuf.data (), + width, byte_order) != 0) force_ellipsis = 1; } else if ((len >= 0 && err != 0) || (len > bytes_read / width)) From patchwork Mon Feb 27 21:29:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 65711 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6CB1D3850230 for ; Mon, 27 Feb 2023 21:31:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6CB1D3850230 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1677533493; bh=5aFRkDDBSWelH7G/DA6AvNBgf9qKbGjXXVEHYJNpAe0=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=mF/YV3XkbHBDa3rZZTKtPASWbq6b9ghjbWKU9wEniwsiV9doRxJQU8C42cdtRuKao yuF5q3ogrFJTYF/LYflEG+mNrMgM68Rrf9SKwTj/FxD+Rs0/6rBNPqCdGoSgSisY0p KEO+OtQ9zZG4Z0iZlfMoiIq2nyZFk/1HxSIU0Rgc= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 763D9385842D for ; Mon, 27 Feb 2023 21:29:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 763D9385842D Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-99-Iil8OP3FP-mTfEo1p95fHg-1; Mon, 27 Feb 2023 16:29:51 -0500 X-MC-Unique: Iil8OP3FP-mTfEo1p95fHg-1 Received: by mail-wm1-f70.google.com with SMTP id az12-20020a05600c600c00b003e8910ec2fdso2859061wmb.6 for ; Mon, 27 Feb 2023 13:29:51 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677533390; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5aFRkDDBSWelH7G/DA6AvNBgf9qKbGjXXVEHYJNpAe0=; b=Yf0mkQABUDypHGzU0j5fwbc5waL6jWd4dFDVcEi6k2ottZN3FzeLFZIpnOm8SVTU/F rUYHA2Rs8+qz6+TWLUy7LIPruFC0Xt1J8DBpeFiOEWds/11YcTQMT54LIXcFfK/mJT5V /gAOnSqVv0heCjzfnAkwdLO8R091qOPq+Zem6EBiXJO1nsol5rAg92SEw7NNrc3IB4do kr3Ty9Xp+l7dEZZoNBpRiutDOSMTuZlTyhcX8560M2gaSep6FRxrhqrv6sROjLQ/wT9c 8EPn/cwSXKx5XbZ/g93CzKPSDtF7joOg+kx69CF2O71rgf59EKw2/KhAJRiGP9zyTTkl SUXg== X-Gm-Message-State: AO0yUKVttemlARG+oYAOj8OKTewnBBG+J5kUyIuU4+KCV+m4qLbABI+8 tUJwnra4qY54Y+fUZorQI1kj2wV/CkgDCtyfnpmLggLxS2xwXBkh/wgVhzJPmNFFzaaJ9UIqEWX nANJuaqNsKhu5ki4GY4LweL3j2LUh9H7vffALXi/9M5K9DttVi5bYJcJZHT3r31rDMb94iMrdYD FJ7no= X-Received: by 2002:a5d:6a85:0:b0:2c7:deb:c61 with SMTP id s5-20020a5d6a85000000b002c70deb0c61mr403501wru.39.1677533389833; Mon, 27 Feb 2023 13:29:49 -0800 (PST) X-Google-Smtp-Source: AK7set/y5rfa4KoZ/1Ho+Xng50BzvyZvsdyYlcZootzi/L5javPvYNe88ckGkIZJiqVrJv359NDEUw== X-Received: by 2002:a5d:6a85:0:b0:2c7:deb:c61 with SMTP id s5-20020a5d6a85000000b002c70deb0c61mr403493wru.39.1677533389483; Mon, 27 Feb 2023 13:29:49 -0800 (PST) Received: from localhost (95.72.115.87.dyn.plus.net. [87.115.72.95]) by smtp.gmail.com with ESMTPSA id k11-20020a5d524b000000b002c573a6216fsm7839589wrc.37.2023.02.27.13.29.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Feb 2023 13:29:49 -0800 (PST) To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 13/13] gdb: remove a use of alloca from symfile.c Date: Mon, 27 Feb 2023 21:29:26 +0000 Message-Id: <1538ddf7e258f98821898f15426f0e88c919e372.1677533215.git.aburgess@redhat.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andrew Burgess via Gdb-patches From: Andrew Burgess Reply-To: Andrew Burgess Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Remove a use of alloca from symfile.c and replace it with gdb::byte_vector. There is another use of alloca in this file, but this is for a type other than gdb_byte, so will need something other than gdb::byte_vector. There should be no user visible changes after this commit. --- gdb/symfile.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gdb/symfile.c b/gdb/symfile.c index 373f5592107..1a9f811f0ba 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -3429,13 +3429,12 @@ static void read_target_long_array (CORE_ADDR memaddr, unsigned int *myaddr, int len, int size, enum bfd_endian byte_order) { - /* FIXME (alloca): Not safe if array is very large. */ - gdb_byte *buf = (gdb_byte *) alloca (len * size); - int i; + gdb::byte_vector buf (len * size); - read_memory (memaddr, buf, len * size); - for (i = 0; i < len; i++) - myaddr[i] = extract_unsigned_integer (size * i + buf, size, byte_order); + read_memory (memaddr, buf.data (), len * size); + for (int i = 0; i < len; i++) + myaddr[i] = extract_unsigned_integer (size * i + buf.data (), size, + byte_order); } /* Find and grab a copy of the target _ovly_table