From patchwork Wed Oct 12 12:38:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 58694 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 2F1B938207CB for ; Wed, 12 Oct 2022 12:39:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2F1B938207CB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1665578349; bh=jCDNiwCMJMCMgUUkYE+Uerqqdi6LES8m2DAkvJtIEZk=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=w51rax5etv/el9mXHrsgs5P3lrBCjUFFge7JmrVKiurso69bbMGlFAmNpMUSV5wDf ogEUlsHjnI8jjpoa/Boy4f8pMZUMKxLoZlb65X6DUz+IWEhiEYA7eNcXITlEaZRUBf 7KJGzr/6xavZFz8jfBDaT+oLR06XMCA0aH/CFXBY= 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 D4ADF3856DE2 for ; Wed, 12 Oct 2022 12:38:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D4ADF3856DE2 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-504-EAmDmpfOPsu1L6EdppkleQ-1; Wed, 12 Oct 2022 08:38:42 -0400 X-MC-Unique: EAmDmpfOPsu1L6EdppkleQ-1 Received: by mail-wr1-f72.google.com with SMTP id q28-20020adfab1c000000b0022e0399964dso4889562wrc.8 for ; Wed, 12 Oct 2022 05:38:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=jCDNiwCMJMCMgUUkYE+Uerqqdi6LES8m2DAkvJtIEZk=; b=DZi/SyhL5OdmgJikjLCahIh9PtpOsYz9loEamuZBsVCTMazTn7YCLVPsX4EEZu7enX dQsTqcUplJGLJaRCFZs0qT9ask3K3OfGDDWO0CVze0DYL3rGFgh1AMGuIig5XO7bZTeL /uxgnuCzEZUDfcstJyHKCBlmo8oAkrRXTK1opfUYL/P0T4caQHuJXido3+dGnnj/1nUW Xgy/9uuTKySYoK9VQozsjsJ6JOefOThWmfu/4L+DP1f0aEa5lLzD2WAGay9RGOtpL2Kn s9HDiOULD8pCTl3BvXLX8kLIzxbdZpXr/db09Kb1aBkDphtQon3i7zOuOhOwRoFu9wc7 b8wQ== X-Gm-Message-State: ACrzQf2mkZUOj19IhBypdSuDzzS1AU5GY6sBVlgSDElPeWkBpzdnmLXP JzghhJFp0yuweUHVUX6N4Ko99RI3RPWaylJNoZTLGyV4r/aI32Y+iHwBNnQqOXRN3k2K2TwxJhr dLxSNaF0tLOUQs/8xK2TLSQvucH6hjn++Ht4Gmu5Wtm62TdgkXJPzq0AipioataUKkZiFsv6LKw == X-Received: by 2002:adf:f58b:0:b0:22e:3c4:cf83 with SMTP id f11-20020adff58b000000b0022e03c4cf83mr18819290wro.379.1665578320762; Wed, 12 Oct 2022 05:38:40 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4djxN/aNIa6J7ZYs3kMdFirWN5QKMxDxN1QEpcS9eC+r+VLnSnNH7+sKpOnWcU5Qijv5XLzg== X-Received: by 2002:adf:f58b:0:b0:22e:3c4:cf83 with SMTP id f11-20020adff58b000000b0022e03c4cf83mr18819277wro.379.1665578320522; Wed, 12 Oct 2022 05:38:40 -0700 (PDT) Received: from localhost (52.72.115.87.dyn.plus.net. [87.115.72.52]) by smtp.gmail.com with ESMTPSA id f8-20020a05600c4e8800b003b4cba4ef71sm1955655wmq.41.2022.10.12.05.38.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Oct 2022 05:38:40 -0700 (PDT) To: gdb-patches@sourceware.org Subject: [PATCH 1/5] sim/cgen: mask uninitialized variable warning in cgen-run.c Date: Wed, 12 Oct 2022 13:38:31 +0100 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=-10.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, 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" I see an uninitialized variable warning (with gcc 9.3.1) from cgen-run.c, like this: /tmp/build/sim/../../src/sim/cris/../common/cgen-run.c: In function ‘sim_resume’: /tmp/build/sim/../../src/sim/cris/../common/cgen-run.c:259:5: warning: ‘engine_fns$’ may be used uninitialized in this function [-Wmaybe-uninitialized] 259 | (* engine_fns[next_cpu_nr]) (cpu); | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/build/sim/../../src/sim/cris/../common/cgen-run.c:232:14: note: ‘engine_fns$’ was declared here 232 | ENGINE_FN *engine_fns[MAX_NR_PROCESSORS]; | ^~~~~~~~~~ This is a false positive - we over allocate engine_fn, and then only initialize the nr_cpus entries which we will later go on to use. However, we can easily silence this warning by initializing the unused entries in engine_fns to NULL, this might also help if anyone ever looks at engine_fns in a debugger, it should now be obvious which entries are in use, and which are not. With this change the warning is gone. There should be no change in behaviour with this commit. --- sim/common/cgen-run.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sim/common/cgen-run.c b/sim/common/cgen-run.c index 9a13b0ca416..a9a493c01b9 100644 --- a/sim/common/cgen-run.c +++ b/sim/common/cgen-run.c @@ -242,6 +242,11 @@ engine_run_n (SIM_DESC sd, int next_cpu_nr, int nr_cpus, int max_insns, int fast prime_cpu (cpu, max_insns); } + /* Ensure the remaining engine_fns slots are initialized, this silences a + compiler warning when engine_fns is used below. */ + for (i = nr_cpus; i < MAX_NR_PROCESSORS; ++i) + engine_fns[i] = NULL; + while (1) { SIM_ENGINE_PREFIX_HOOK (sd); From patchwork Wed Oct 12 12:38:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 58697 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 AEA183860770 for ; Wed, 12 Oct 2022 12:39:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AEA183860770 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1665578379; bh=egGD2xUhwn3JzXcCEon9YXtUaUdkAbBlyMtGV5UpctM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=E1bdDs5BqmdSSL99AJLNSSRNvdbqzQ0eUbM1gPYEmPyMLlhhR8yax5cmwd6F6swbi SdGuqFRRIWUzOcUrQ7j/gXdluITZJ/BpCh12AwJCyIUPLlfYEzD8odDY4HZLpOCdoE pMdnjfiIViFuRmvpYbXKUKfMBsNib1hEdLH8eZro= 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 8D395388451B for ; Wed, 12 Oct 2022 12:38:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8D395388451B 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-475-cEFjCHYTNG2SXfsLK_m8Yg-1; Wed, 12 Oct 2022 08:38:55 -0400 X-MC-Unique: cEFjCHYTNG2SXfsLK_m8Yg-1 Received: by mail-wm1-f70.google.com with SMTP id k22-20020a05600c0b5600b003c6cf5c5592so436205wmr.3 for ; Wed, 12 Oct 2022 05:38:55 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=egGD2xUhwn3JzXcCEon9YXtUaUdkAbBlyMtGV5UpctM=; b=7zp1P17U92n5R0q/UgEFn4z/+4OQnSuXFdttmP26zOWe2Um0DLngP5DKogIUrVo4un fKY317GMKGfukuYBNLVsfG7xLmXpUftynJKZ+qy/KQpbIPQvQ/VSvUq4cI8cNeKWgobN 5aySnjqXhwjFFvpPMqfDSz7wDJydFOnN6/DiKNIvBYmVyDmYj1T9OhLjzOLIhP5intso pOFm+02hit7yojIHP88MDW7gdGGUekg/Yys/Dd0P+fwzPJL87kBmAGIk966d2IYhsVB5 r2mgw9zLNFkOnwDiL0n+r0IZu/1Jekskctk/2SeqHlAfttRhHzqI8KAgDxm6luA5bSOm 6czw== X-Gm-Message-State: ACrzQf2q/cS/YWZdLM7RP9mYL1gi0EBkR3nuOskFglHgLi0UVG9lR68Q CfBGXoBErf8c/fgE1eUCmquCk0s38bHQJIyL9FfIah709LXoqZyWOz4txuOMOxDGccUTM9tkWev HJSz5DG76aq0XGtwDwfMsDJBVl7fpJhjBqz+LZRA+iV26ns11fJWvZc7jd2RlZgbIiaDLznTXWQ == X-Received: by 2002:a05:600c:ace:b0:3b4:621f:93f4 with SMTP id c14-20020a05600c0ace00b003b4621f93f4mr2610544wmr.8.1665578333613; Wed, 12 Oct 2022 05:38:53 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6c+ffCr32m7fEa6xubjhItAy16IlWzGwdAVSTJiVtiGTw475sBnkTFRH10VS8BGQOPRHJ58Q== X-Received: by 2002:a7b:cb92:0:b0:3c4:cf60:7a7 with SMTP id m18-20020a7bcb92000000b003c4cf6007a7mr2697039wmi.24.1665578322096; Wed, 12 Oct 2022 05:38:42 -0700 (PDT) Received: from localhost (52.72.115.87.dyn.plus.net. [87.115.72.52]) by smtp.gmail.com with ESMTPSA id o14-20020a05600c4fce00b003c6b67426b0sm1835074wmq.12.2022.10.12.05.38.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Oct 2022 05:38:41 -0700 (PDT) To: gdb-patches@sourceware.org Subject: [PATCH 2/5] sim/ppc: fix warnings related to printf format strings Date: Wed, 12 Oct 2022 13:38:32 +0100 Message-Id: <97bcb87aa4ece94b30b62ec5d1845909dbb933a1.1665578246.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=-10.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, 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 commit is a follow on to: commit 182421c9d2eea8c4877d983a2124e591f0aca710 Date: Tue Oct 11 15:02:08 2022 +0100 sim/ppc: fixes for arguments to printf style functions where commit 182421c9d2ee addressed issues with printf format arguments that were causing the compiler to give an error, this commit addresses issues that caused the compiler to emit a warning. This commit is mostly either changing the format string to match the argument, or in some cases, excess, unused arguments are removed. --- sim/ppc/igen.c | 2 +- sim/ppc/ld-cache.c | 4 ++-- sim/ppc/ld-decode.c | 2 +- sim/ppc/ld-insn.c | 41 +++++++++++++++-------------------------- 4 files changed, 19 insertions(+), 30 deletions(-) diff --git a/sim/ppc/igen.c b/sim/ppc/igen.c index 6a6dbc30f31..27b48638276 100644 --- a/sim/ppc/igen.c +++ b/sim/ppc/igen.c @@ -442,7 +442,7 @@ main(int argc, code |= generate_with_icache; break; default: - error (NULL, "Expecting -Ggen-icache or -Ggen-icache=\n"); + error ("Expecting -Ggen-icache or -Ggen-icache=\n"); } } } diff --git a/sim/ppc/ld-cache.c b/sim/ppc/ld-cache.c index f57f7db650a..b30b1f4d898 100644 --- a/sim/ppc/ld-cache.c +++ b/sim/ppc/ld-cache.c @@ -88,13 +88,13 @@ static void dump_cache_rule(cache_table* rule, int indent) { - dumpf(indent, "((cache_table*)0x%x\n", rule); + dumpf(indent, "((cache_table*)0x%p\n", rule); dumpf(indent, " (type %s)\n", i2name(rule->type, cache_type_map)); dumpf(indent, " (field_name \"%s\")\n", rule->field_name); dumpf(indent, " (derived_name \"%s\")\n", rule->derived_name); dumpf(indent, " (type-def \"%s\")\n", rule->type_def); dumpf(indent, " (expression \"%s\")\n", rule->expression); - dumpf(indent, " (next 0x%x)\n", rule->next); + dumpf(indent, " (next 0x%p)\n", rule->next); dumpf(indent, " )\n"); } diff --git a/sim/ppc/ld-decode.c b/sim/ppc/ld-decode.c index 68d9f5f4f52..83ff1216b30 100644 --- a/sim/ppc/ld-decode.c +++ b/sim/ppc/ld-decode.c @@ -120,7 +120,7 @@ dump_decode_rule(decode_table *rule, dumpf(indent, " (special_mask 0x%x)\n", rule->special_mask); dumpf(indent, " (special_value 0x%x)\n", rule->special_value); dumpf(indent, " (special_constant 0x%x)\n", rule->special_constant); - dumpf(indent, " (next 0x%x)\n", rule->next); + dumpf(indent, " (next 0x%p)\n", rule->next); } dumpf(indent, " )\n"); } diff --git a/sim/ppc/ld-insn.c b/sim/ppc/ld-insn.c index 3910af3fdf6..c89c81c1073 100644 --- a/sim/ppc/ld-insn.c +++ b/sim/ppc/ld-insn.c @@ -827,29 +827,18 @@ static void dump_insn_field(insn_field *field, int indent) { - - printf("(insn_field*)0x%lx\n", (unsigned long)field); - - dumpf(indent, "(first %d)\n", field->first); - - dumpf(indent, "(last %d)\n", field->last); - - dumpf(indent, "(width %d)\n", field->width); - + printf ("(insn_field*)0x%p\n", field); + dumpf (indent, "(first %d)\n", field->first); + dumpf (indent, "(last %d)\n", field->last); + dumpf (indent, "(width %d)\n", field->width); if (field->is_int) - dumpf(indent, "(is_int %d)\n", field->val_int); - + dumpf (indent, "(is_int %d)\n", field->val_int); if (field->is_slash) - dumpf(indent, "(is_slash)\n"); - + dumpf (indent, "(is_slash)\n"); if (field->is_string) - dumpf(indent, "(is_string `%s')\n", field->val_string); - - dumpf(indent, "(next 0x%x)\n", field->next); - - dumpf(indent, "(prev 0x%x)\n", field->prev); - - + dumpf (indent, "(is_string `%s')\n", field->val_string); + dumpf (indent, "(next 0x%p)\n", field->next); + dumpf (indent, "(prev 0x%p)\n", field->prev); } static void @@ -860,13 +849,13 @@ dump_insn_fields(insn_fields *fields, printf("(insn_fields*)%p\n", fields); - dumpf(indent, "(first 0x%x)\n", fields->first); - dumpf(indent, "(last 0x%x)\n", fields->last); + dumpf(indent, "(first 0x%p)\n", fields->first); + dumpf(indent, "(last 0x%p)\n", fields->last); dumpf(indent, "(value 0x%x)\n", fields->value); for (i = 0; i < insn_bit_size; i++) { - dumpf(indent, "(bits[%d] ", i, fields->bits[i]); + dumpf(indent, "(bits[%d]", i); dump_insn_field(fields->bits[i], indent+1); dumpf(indent, " )\n"); } @@ -961,16 +950,16 @@ dump_insn_table(insn_table *table, dump_opcode_field(table->opcode, indent+1, 1); dumpf(indent, " )\n"); - dumpf(indent, "(nr_entries %d)\n", table->entries); + dumpf(indent, "(nr_entries %d)\n", table->nr_entries); dumpf(indent, "(entries "); dump_insn_table(table->entries, indent+1, table->nr_entries); dumpf(indent, " )\n"); - dumpf(indent, "(sibling ", table->sibling); + dumpf(indent, "(sibling "); dump_insn_table(table->sibling, indent+1, levels-1); dumpf(indent, " )\n"); - dumpf(indent, "(parent ", table->parent); + dumpf(indent, "(parent "); dump_insn_table(table->parent, indent+1, 0); dumpf(indent, " )\n"); From patchwork Wed Oct 12 12:38:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 58695 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 6C152385021F for ; Wed, 12 Oct 2022 12:39:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6C152385021F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1665578352; bh=sTRYf+M+idvh13rWaikTDBfuopqTIbgjbMpTqijwZuM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=UArrboBvTAnQ/X1fIu+Q96iluGoHm/ZgAw3sislPCiFNEFhDs9irIPDy1AHxop2oX nWTzpmNU+XNRRf0LrUIwU/HxJA6yLep32EvlqAC8/SHD1wq4cOijNp3yFgtL9vX1l7 o74vUjmSY6YXplvjtCP3j5HNwz+J5hRGHy4AEeUs= 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 468173851163 for ; Wed, 12 Oct 2022 12:38:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 468173851163 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-375-npF8kTeNMNa5-5Z8UXQQBA-1; Wed, 12 Oct 2022 08:38:45 -0400 X-MC-Unique: npF8kTeNMNa5-5Z8UXQQBA-1 Received: by mail-wm1-f71.google.com with SMTP id 2-20020a05600c268200b003c4290989e1so438519wmt.2 for ; Wed, 12 Oct 2022 05:38:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=sTRYf+M+idvh13rWaikTDBfuopqTIbgjbMpTqijwZuM=; b=sV3Q+fRQFOyshRzxOAII8ubE3Xir0j9/8VPTNqGTXd9+VLQquZzEWUXFCTaa3oU4as UwIxjSio6umYGuzbOGGqurosgFA0qDzZykQ+Fu39sHUb6Th1oAdJ4kOBoQgeJxiGhRla E+U24LyLYIDeEvyvxxguT8JmqTP+esat8THeMisHy19/xR+TGWMlLu1Amg4CaXa3MQzY kkaKoXj005XYQFP8A/Gh9D7pF0XCOsALk/AkRaQT+etR6pFEmDWImfAZ7FtKWubMDizb oQHEm+ynl1vW3jp2rSbI0kiH/sB2IZt6wj2JQPf1DrRWnpYAgDlyX+tCXq/fRfEg6+lN RybQ== X-Gm-Message-State: ACrzQf3g2QLJ3rcz4LORtZOFfg2Usogn1yMwoyVdar0qHLXDnpRjmdnJ eSB54L7Uh1aNJQ+4WsZp0dQcjfxGkN79h1ne/W6KgYbqGQlnApwhG+w1gBNAAZne2ErBL6uoc9Y frynG+1CZ6d162IKphl9wk3sVWqBefrx+p0x+7Edm9/rFHgZHwK7OmhLJ6P9HeKh9bia90gjRHg == X-Received: by 2002:a05:6000:3cf:b0:231:6ed6:e978 with SMTP id b15-20020a05600003cf00b002316ed6e978mr5065642wrg.500.1665578323908; Wed, 12 Oct 2022 05:38:43 -0700 (PDT) X-Google-Smtp-Source: AMsMyM62d9kjPL0aF3VVGOJjo79R57eIVm/QFs3DBusTRW4wpV+SokLuMnJc1B38xaMuBRoDcOi7yw== X-Received: by 2002:a05:6000:3cf:b0:231:6ed6:e978 with SMTP id b15-20020a05600003cf00b002316ed6e978mr5065627wrg.500.1665578323659; Wed, 12 Oct 2022 05:38:43 -0700 (PDT) Received: from localhost (52.72.115.87.dyn.plus.net. [87.115.72.52]) by smtp.gmail.com with ESMTPSA id f7-20020a05600c154700b003a3442f1229sm1831393wmg.29.2022.10.12.05.38.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Oct 2022 05:38:43 -0700 (PDT) To: gdb-patches@sourceware.org Subject: [PATCH 3/5] sim/ppc: mark device_error function as ATTRIBUTE_NORETURN Date: Wed, 12 Oct 2022 13:38:33 +0100 Message-Id: <39eeb655ef7a1a8b3ea3c2f120e7d67693ec3f93.1665578246.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=-10.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, 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" The device_error function always ends up calling the error function, which is itself marked as ATTRIBUTE_NORETURN, so it makes sense that device_error should also be marked ATTRIBUTE_NORETURN. Doing this resolves a few warnings from hw_ide.c about possibly uninitialized variables - the variables are only uninitialized after passing through a call to device_error, which obviously means the variables are never really used uninitialized, the simulation will terminate with the device_error call. --- sim/ppc/device.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sim/ppc/device.h b/sim/ppc/device.h index bd539095160..65c85e4ddd3 100644 --- a/sim/ppc/device.h +++ b/sim/ppc/device.h @@ -729,7 +729,7 @@ EXTERN_DEVICE\ (void) device_error (device *me, const char *fmt, - ...) ATTRIBUTE_PRINTF_2; + ...) ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF_2; INLINE_DEVICE\ (int) device_trace From patchwork Wed Oct 12 12:38:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 58698 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 9A1903898391 for ; Wed, 12 Oct 2022 12:39:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9A1903898391 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1665578381; bh=TT5hpEy6b9bzQJvWDdSFFqeHrV3E8WFMYWJ/LnOcUd8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=SRfUzlddriXF6sgeTcaGmGTKA8kfyMl033jvUstjLruaiyBU1t7NU01vav1yO5lv6 HaHRlS4Qc58+nYkFzfRQ1/ABBopxAnO/GGawSkIHMNm6ws5heHxEpZ/49xmvZOOYn4 b5Xv7c32Hb8L0+7jTmFPuIXa1D5hJt4rwGhSmJsI= 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 26465385116B for ; Wed, 12 Oct 2022 12:38:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 26465385116B 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-634-CZahK0IBOIWE9li_PgCXog-1; Wed, 12 Oct 2022 08:38:47 -0400 X-MC-Unique: CZahK0IBOIWE9li_PgCXog-1 Received: by mail-wm1-f71.google.com with SMTP id v191-20020a1cacc8000000b003bdf7b78dccso9946909wme.3 for ; Wed, 12 Oct 2022 05:38:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=TT5hpEy6b9bzQJvWDdSFFqeHrV3E8WFMYWJ/LnOcUd8=; b=Cx3garYV+3qSMpmIABppXAw+B+i+8layzJebLr7D2W66XbZxStQtBipfrGnjTSPgd0 hU1DQZZoeLZojRzpOkOe8teIlt8c2bi3R/Rqkgp0CKCJTv93u4vJe7es4G6isfCYp5Gl KQ5VtvvmIpSujyEMgNp0uwCZlZoq6nW17ZFJC7r3RMdBTgE6qAxE2tbZlDnVegELxnC0 pf3FF9u+fAur2vpdUxwbN5C6yMHtPEtLgCJVYbcZMtJ2sDRqhOp46xLTUAStcSS89miC 3mRm85VysfaD44tWEqPepzTB7RxBuG+43EVnB4LbK/E+mobXL+hWSXz5Ynpw3WeOVE6f fKEQ== X-Gm-Message-State: ACrzQf1jBRyZIOvr6HdywP3SmrEVeHfwTg7A450bLy25fvROf5p6Acz7 zd1WbS563I7MSxnHANqYvQuFZ4NJJ+ByqTz/1RuykGPGze8Mg+VdWv6Sxviu+7FFKNTHhP6lERH tUkVX386be8Q5fA9f4ClhJVk4keyPSV1JTsK5zHOLwgnTkgs/DsWRohUDAKbjr/RAw00FCZy3EQ == X-Received: by 2002:a7b:c050:0:b0:3b4:fae1:6bce with SMTP id u16-20020a7bc050000000b003b4fae16bcemr2530338wmc.131.1665578326348; Wed, 12 Oct 2022 05:38:46 -0700 (PDT) X-Google-Smtp-Source: AMsMyM45ilqL7wpJnuiryU4V7RvlSrziFvltbCEbpTI7dSSwszW4muzrVebXTqGyjppDCs5gcQ9ZvQ== X-Received: by 2002:a7b:c050:0:b0:3b4:fae1:6bce with SMTP id u16-20020a7bc050000000b003b4fae16bcemr2530326wmc.131.1665578325982; Wed, 12 Oct 2022 05:38:45 -0700 (PDT) Received: from localhost (52.72.115.87.dyn.plus.net. [87.115.72.52]) by smtp.gmail.com with ESMTPSA id j19-20020a05600c1c1300b003c6c1686b10sm1899117wms.7.2022.10.12.05.38.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Oct 2022 05:38:45 -0700 (PDT) To: gdb-patches@sourceware.org Subject: [PATCH 4/5] sim/erc32: avoid dereferencing type-punned pointer warnings Date: Wed, 12 Oct 2022 13:38:34 +0100 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=-10.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, 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" When building the erc32 simulator I get a few warnings like this: /tmp/build/sim/../../src/sim/erc32/exec.c:1377:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 1377 | sregs->fs[rd] = *((float32 *) & ddata[0]); | ~^~~~~~~~~~~~~~~~~~~~~~~ The type of '& ddata[0]' will be 'uint32_t *', which is what triggers the warning. This commit uses an intermediate pointer of type 'char *' when performing the type-punning, which is well-defined behaviour, and will silence the above warning. With this change, I now see no warnings when compiling exec.c, which means that the line in Makefile.in that disables -Werror can be removed. There should be no change in behaviour after this commit. --- sim/erc32/Makefile.in | 3 --- sim/erc32/exec.c | 12 +++++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/sim/erc32/Makefile.in b/sim/erc32/Makefile.in index 786ae1dcc7b..41830aab726 100644 --- a/sim/erc32/Makefile.in +++ b/sim/erc32/Makefile.in @@ -32,9 +32,6 @@ SIM_EXTRA_CLEAN = clean-sis # behaviour of UART interrupt routines ... SIM_EXTRA_CFLAGS += -DFAST_UART -I$(srcroot) -# Some modules don't build cleanly yet. -exec.o: SIM_WERROR_CFLAGS = - ## COMMON_POST_CONFIG_FRAG # `sis' doesn't need interf.o. diff --git a/sim/erc32/exec.c b/sim/erc32/exec.c index ef93692e7a2..af9ad9ea9ab 100644 --- a/sim/erc32/exec.c +++ b/sim/erc32/exec.c @@ -1345,7 +1345,8 @@ dispatch_instruction(struct pstate *sregs) if (mexc) { sregs->trap = TRAP_DEXC; } else { - sregs->fs[rd] = *((float32 *) & data); + char *ptr = (char *) &data; + sregs->fs[rd] = *((float32 *) ptr); } break; case LDDF: @@ -1371,13 +1372,18 @@ dispatch_instruction(struct pstate *sregs) if (mexc) { sregs->trap = TRAP_DEXC; } else { + char *ptr; + rd &= 0x1E; sregs->flrd = rd; - sregs->fs[rd] = *((float32 *) & ddata[0]); + + ptr = (char *) &ddata[0]; + sregs->fs[rd] = *((float32 *) ptr); #ifdef STAT sregs->nload++; /* Double load counts twice */ #endif - sregs->fs[rd + 1] = *((float32 *) & ddata[1]); + ptr = (char *) &ddata[1]; + sregs->fs[rd + 1] = *((float32 *) ptr); sregs->ltime = ebase.simtime + sregs->icnt + FLSTHOLD + sregs->hold + sregs->fhold; } From patchwork Wed Oct 12 12:38:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 58696 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 3C3F0385086E for ; Wed, 12 Oct 2022 12:39:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3C3F0385086E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1665578359; bh=gXz0ua5D8bzRysUGlKG9LgIQERU+rmgev+erzl6EDBc=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Xnep3KBXcu5Ak/hjhBI082fdcCC2RvrWxnps1tZYxxdU8t7irlTiEtgKpj7rD3LVV Dmxs5Y/Qjw1lFTYHUdbl+UbbyoZ1Bs0FPuDXCjabfGfKGXtKigo65OPmXySVdOmBw5 b+gX6kENNj/xYUtE1eRLNQ3DFr9pvFBPYEUK8hBU= 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 D9E43385085C for ; Wed, 12 Oct 2022 12:38:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D9E43385085C 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-361-SXpRxq1mMW--5yyhqYwgpw-1; Wed, 12 Oct 2022 08:38:49 -0400 X-MC-Unique: SXpRxq1mMW--5yyhqYwgpw-1 Received: by mail-wm1-f69.google.com with SMTP id q14-20020a7bce8e000000b003c6b7debf22so446224wmj.0 for ; Wed, 12 Oct 2022 05:38:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=gXz0ua5D8bzRysUGlKG9LgIQERU+rmgev+erzl6EDBc=; b=5N+OTpD/XNH6V5PUMYmSN/4cbaWYGTohJfakAbY8n4916cWVCTKQBEOu8p1QN7x9kj NVyPyTRQgU66rZ5eNEy1vAZIJoAIbiSkQAzKON7qQLhwKQopuDg1mmMufNPtxHJ0NfHh U/clXOZKiEkliJaF6XwFYpKGkPJp4jZP12qvF61y9O8uKItp6OJecdjVT7JEhg1idLf8 Dqm7eD1GzjOF+CiFgcG/vapIGeESX6ClN38eEn01ZRfAUjglUD9XLjk/wvnQ8T+aYPEB LEaF0G3QhPAcrp9Z50+IKzqBvNAu/p4kUUS3800jdaGrReKHxGrubZHIJKf4b6GhuDq/ O36g== X-Gm-Message-State: ACrzQf3HIA9idfVzT5iGxRPgCl3Bm5bUgFj0fS7SEHER8GBSZYETcZ7V 9hdfTljn+978T3LHU9VgnzxuWaSohdYF7bkLLyqeqyDfqtaIOfUB6kI88AhJxk5qmoyzf7qLeVe 25gLSESIBqSuV9H7x+umGIKpOX/j2MixheCf/M1ykavnjL+Xn0gBzMugfULly73pYZzQEscG54w == X-Received: by 2002:adf:e491:0:b0:22e:4483:a8b5 with SMTP id i17-20020adfe491000000b0022e4483a8b5mr18631273wrm.497.1665578327834; Wed, 12 Oct 2022 05:38:47 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7K9lyBH+Uq7RKzBLiWR6SROMrs9YnsSYubiCIfGqcZsKnheCzkeFqhU2HN3EzzDomsqraApg== X-Received: by 2002:adf:e491:0:b0:22e:4483:a8b5 with SMTP id i17-20020adfe491000000b0022e4483a8b5mr18631255wrm.497.1665578327485; Wed, 12 Oct 2022 05:38:47 -0700 (PDT) Received: from localhost (52.72.115.87.dyn.plus.net. [87.115.72.52]) by smtp.gmail.com with ESMTPSA id a13-20020adff7cd000000b0022a403954c3sm13646422wrq.42.2022.10.12.05.38.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Oct 2022 05:38:47 -0700 (PDT) To: gdb-patches@sourceware.org Subject: [PATCH 5/5] sim/iq2000: silence pointer-sign warnings Date: Wed, 12 Oct 2022 13:38:35 +0100 Message-Id: <89f7a81c43e4b9acf725de1668f7754692e6dd83.1665578246.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=-10.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, 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" When building the iq2000 simulator I see a few warnings like this: /tmp/build/sim/../../src/sim/iq2000/iq2000.c: In function ‘fetch_str’: /tmp/build/sim/../../src/sim/iq2000/iq2000.c:50:54: error: pointer targets in passing argument 3 of ‘sim_read’ differ in signedness [-Werror=pointer-sign] 50 | sim_read (CPU_STATE (current_cpu), CPU2DATA(addr), buf, nr); | ^~~ | | | char * I've silenced these warnings by casting buf to 'unsigned char *'. With this change I now see no warnings when compiling iq2000.c, so I've removed the line from Makefile.in that disables -Werror. Makefile.in was also disabling -Werror when compiling mloop.c, however, I'm not seeing any warnings when compiling that file, so I've removed the -Werror disable in that case too. --- sim/iq2000/Makefile.in | 3 --- sim/iq2000/iq2000.c | 9 ++++++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sim/iq2000/Makefile.in b/sim/iq2000/Makefile.in index 9f64adcecb4..757ed28ef6b 100644 --- a/sim/iq2000/Makefile.in +++ b/sim/iq2000/Makefile.in @@ -37,9 +37,6 @@ ALL_CPU_CFLAGS = -DHAVE_CPU_IQ2000BF -DHAVE_CPU_IQ10BF SIM_EXTRA_CLEAN = iq2000-clean -# Some modules don't build cleanly yet. -iq2000.o mloop.o: SIM_WERROR_CFLAGS = - ## COMMON_POST_CONFIG_FRAG arch = iq2000 diff --git a/sim/iq2000/iq2000.c b/sim/iq2000/iq2000.c index b685a31b07a..2c01434c308 100644 --- a/sim/iq2000/iq2000.c +++ b/sim/iq2000/iq2000.c @@ -47,7 +47,8 @@ fetch_str (SIM_CPU *current_cpu, PCADDR pc, DI addr) pc, read_map, CPU2DATA(addr + nr)) != 0) nr++; buf = NZALLOC (char, nr + 1); - sim_read (CPU_STATE (current_cpu), CPU2DATA(addr), buf, nr); + sim_read (CPU_STATE (current_cpu), CPU2DATA(addr), (unsigned char *) buf, + nr); return buf; } @@ -82,7 +83,8 @@ do_syscall (SIM_CPU *current_cpu, PCADDR pc) case TARGET_NEWLIB_SYS_write: buf = zalloc (PARM3); - sim_read (CPU_STATE (current_cpu), CPU2DATA(PARM2), buf, PARM3); + sim_read (CPU_STATE (current_cpu), CPU2DATA(PARM2), + (unsigned char *) buf, PARM3); SET_H_GR (ret_reg, sim_io_write (CPU_STATE (current_cpu), PARM1, buf, PARM3)); @@ -105,7 +107,8 @@ do_syscall (SIM_CPU *current_cpu, PCADDR pc) SET_H_GR (ret_reg, sim_io_read (CPU_STATE (current_cpu), PARM1, buf, PARM3)); - sim_write (CPU_STATE (current_cpu), CPU2DATA(PARM2), buf, PARM3); + sim_write (CPU_STATE (current_cpu), CPU2DATA(PARM2), + (unsigned char *) buf, PARM3); free (buf); break;