From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 BE841385828E for ; Fri, 6 Oct 2023 12:21:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BE841385828E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1696594862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Cz6K5A5W1swIZs6Ljf68isAFq3zw/jvIltVz6jr233c=; b=Y1XGDKCr9r/i7rDuiXDVtQYU5NdehHmXeoIACvF+hx38r7oo8TeFdygub+6pRgxIuOLgXB kXjw6gsQ7yEQyWicqtEGuDmeM0xcGYbGb5OZK79LzsDPxK/8ip4owt8CMp4SkXX8TOcrir BdKSAnbp8xllIvGrdDvAfrBBnIgVCuY= Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-510-891cpjjAMt2ODnag5jotJg-1; Fri, 06 Oct 2023 08:21:01 -0400 X-MC-Unique: 891cpjjAMt2ODnag5jotJg-1 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-66885ff2a0dso20687916d6.2 for ; Fri, 06 Oct 2023 05:21:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696594860; x=1697199660; h=mime-version:message-id:date:references:in-reply-to:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Cz6K5A5W1swIZs6Ljf68isAFq3zw/jvIltVz6jr233c=; b=b9+m/4GwwutO4RTv7qw3H+e3IZaHW9sWcuVk8wTZyDTna52mCW4AAwS4sYg30ZjDop 6WI7bcPkAeixz+GQmM/lOu0h4T9DEekQhaTBYnFAahCVKGQhn/yMHlzkbxBxo6J2PAYd lP6vdkeAP3hbsGmvuUkFvJwQ/xwIn5nsZ8kMnjzBdkYAqxkl7eTMAxQZMeO0SOwEOQYZ 28wAdnNNNIBy5yarfnIfao4IwBd+lRXw56zxNq7dGK0KhZ4ldDS0IqS9RJYgzi/NJLhu ZbvthvoxnacCIjQjUpXXdphxL8sLwEYc/0iI5hptZ/VXCawr1MtJNLq99wL9gZRIJp+2 6Vtg== X-Gm-Message-State: AOJu0YyRnjf6JanRh/RgE8gGCKyB85yoXRCdsG7DaVbkN8LTQIFJcj2U QvPYPMSGGtPd2D49ui8Mh79ZkXAhr89okBOFpikppT2QDpfvZCuLInKhcxr19LjsOrQSENEEsQ5 TaEET1rM6wDLkc3D+l07tZa56Hv5gGA== X-Received: by 2002:a05:6214:460e:b0:65b:8ef:e4ea with SMTP id oq14-20020a056214460e00b0065b08efe4eamr8867118qvb.56.1696594860509; Fri, 06 Oct 2023 05:21:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFSiz30AeqQEwXG4vfYAycWvmtLdbrkmrMzPL7eiMFRBaVQz2iIAj0glljFB9nhAYr/2jkcfg== X-Received: by 2002:a05:6214:460e:b0:65b:8ef:e4ea with SMTP id oq14-20020a056214460e00b0065b08efe4eamr8867110qvb.56.1696594860249; Fri, 06 Oct 2023 05:21:00 -0700 (PDT) Received: from localhost ([31.111.84.209]) by smtp.gmail.com with ESMTPSA id q7-20020a0cf5c7000000b0065d03eae7a0sm1352859qvm.82.2023.10.06.05.20.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 05:20:59 -0700 (PDT) From: Andrew Burgess To: Luis Machado , gdb-patches@sourceware.org Subject: Re: [PATCH] gdbserver: fix gdbserver builds after expedite_regs changes In-Reply-To: References: <3ae39ff41ea9a6832f24e3fe8425304a25ac671c.1696504740.git.aburgess@redhat.com> Date: Fri, 06 Oct 2023 13:20:58 +0100 Message-ID: <874jj4t00l.fsf@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain 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_H3,RCVD_IN_MSPIKE_WL,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 List-Id: Luis Machado writes: > On 10/5/23 12:19, Andrew Burgess wrote: >> After this commit: >> >> commit 6a65998a8a94abaaae7ca4ff0ab9c3f25dc2e766 >> Date: Mon Sep 11 12:42:00 2023 +0100 >> >> Convert tdesc's expedite_regs to a string vector >> >> The risc-v, loongarch, and csky gdbserver builds were broken. A use >> of target_desc::expedite_regs (for each architecture) was not updated >> to take account of the type change. >> >> I've tested that this fixes the risc-v build. I haven't tested the >> other architectures, but they should be fine. >> --- >> gdbserver/linux-csky-low.cc | 7 +++++-- >> gdbserver/linux-loongarch-low.cc | 7 +++++-- >> gdbserver/linux-riscv-low.cc | 8 ++++++-- >> 3 files changed, 16 insertions(+), 6 deletions(-) >> >> diff --git a/gdbserver/linux-csky-low.cc b/gdbserver/linux-csky-low.cc >> index 3117556f5de..feb428ec9d2 100644 >> --- a/gdbserver/linux-csky-low.cc >> +++ b/gdbserver/linux-csky-low.cc >> @@ -132,8 +132,11 @@ csky_target::low_arch_setup () >> static const char *expedite_regs[] = { "r14", "pc", NULL }; >> target_desc_up tdesc = csky_create_target_description (); >> >> - if (!tdesc->expedite_regs) >> - init_target_desc (tdesc.get (), expedite_regs); >> + if (tdesc->expedite_regs.empty ()) >> + { >> + init_target_desc (tdesc.get (), expedite_regs); >> + gdb_assert (!tdesc->expedite_regs.empty ()); >> + } >> >> current_process ()->tdesc = tdesc.release (); >> >> diff --git a/gdbserver/linux-loongarch-low.cc b/gdbserver/linux-loongarch-low.cc >> index ead2e76d25d..3eb87f55d0f 100644 >> --- a/gdbserver/linux-loongarch-low.cc >> +++ b/gdbserver/linux-loongarch-low.cc >> @@ -84,8 +84,11 @@ loongarch_target::low_arch_setup () >> features.xlen = sizeof (elf_greg_t); >> tdesc = loongarch_create_target_description (features); >> >> - if (!tdesc->expedite_regs) >> - init_target_desc (tdesc.get (), expedite_regs); >> + if (tdesc->expedite_regs.empty ()) >> + { >> + init_target_desc (tdesc.get (), expedite_regs); >> + gdb_assert (!tdesc->expedite_regs.empty ()); >> + } >> current_process ()->tdesc = tdesc.release (); >> } >> >> diff --git a/gdbserver/linux-riscv-low.cc b/gdbserver/linux-riscv-low.cc >> index 129bc3b138b..4c251bb179c 100644 >> --- a/gdbserver/linux-riscv-low.cc >> +++ b/gdbserver/linux-riscv-low.cc >> @@ -90,8 +90,12 @@ riscv_target::low_arch_setup () >> = riscv_linux_read_features (lwpid_of (current_thread)); >> target_desc_up tdesc = riscv_create_target_description (features); >> >> - if (!tdesc->expedite_regs) >> - init_target_desc (tdesc.get (), expedite_regs); >> + if (tdesc->expedite_regs.empty ()) >> + { >> + init_target_desc (tdesc.get (), expedite_regs); >> + gdb_assert (!tdesc->expedite_regs.empty ()); >> + } >> + >> current_process ()->tdesc = tdesc.release (); >> } >> >> >> base-commit: 0515a7b643c6f7bbfb647764b702d4c6445618e8 > > Oops. Sorry about that, and thanks for fixing it. It would be great to have some > speciments of those architectures in the sourceware CI to catch these hiccups. Indeed. I guess that would need someone to provide some kit though. For now, I just do some risc-v testing periodically when I'm not too busy. Anyway, I went ahead and pushed this fix. Thanks, Andrew