From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id di3eIBW9Ama40BYAWB0awg (envelope-from ) for ; Tue, 26 Mar 2024 08:18:29 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=JHAZz+Sf; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 7AFB11E0C0; Tue, 26 Mar 2024 08:18:29 -0400 (EDT) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 633971E030 for ; Tue, 26 Mar 2024 08:18:27 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id ED63C3858413 for ; Tue, 26 Mar 2024 12:18:26 +0000 (GMT) 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 346223858D38 for ; Tue, 26 Mar 2024 12:17:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 346223858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 346223858D38 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711455481; cv=none; b=lA59IHaoYdqVxtG+ODv6c7un02ccyfwept2KlFl4e2dRfI4Uym0gjyoDyV/8JYMh1M4lrHXrh2ebjEeUBNm+q1oP/UNDdtZWQdF8sDDgr63ZzHWBWSLVfFTFwhbqy0ZrHByr+/mbzmgfJPKob+cpLsv8kk+AXV/g8NWIr2/B/a0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711455481; c=relaxed/simple; bh=bZ3e+VrzuYUQ6jT+lMarneRgv6HbtY435qVhQ5jay34=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=EY5RzdWJVIcktEYRjesoCTMH8cc4ekAO/6f8r+xiX54Yt/VBb9nzCCCwMCAmAFs+A0AMD3MRx8Lil3VgfPo0Bmi6IrNjVLdPRw/Ri4L19wOiZ8m+D5q6OmICyVUDcZjP/uYiulvl4HUPVlbVaHj+7xAYbiYorrWatbzPW1rH9zA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1711455478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1OiJFBmzOEKGKcVRqKVmKubCDyoIuOzilM8oIuy4rac=; b=JHAZz+Sf32TTmjKR9/yxFK4qbfsBCWK3Eibc4dOesQbsK45WtZijxMDg80njPN3Kg9Xnuj 4n2WqKmLOjJMllFAYYMJ2sncBPzPdBX0B2t4d/2inYf7/YXK8iUYT+iwd2rOGULFd4jG28 D/jAk25oYeq7m0BOSHj1y82J2Ici9/E= Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-606-mwF9moAyNFKGdorgy5eieA-1; Tue, 26 Mar 2024 08:17:57 -0400 X-MC-Unique: mwF9moAyNFKGdorgy5eieA-1 Received: by mail-ed1-f69.google.com with SMTP id 4fb4d7f45d1cf-5684c1abc7fso2517016a12.3 for ; Tue, 26 Mar 2024 05:17:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711455475; x=1712060275; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=1OiJFBmzOEKGKcVRqKVmKubCDyoIuOzilM8oIuy4rac=; b=OIFqGCzU7AwrDLvWxq96hvmZfbD/gxKyW0lDxJ75v0a2Xz37PucCaT0Pessgb/4e/t KV5v7piLnlNazKbh/tqzLj02to+i2YRrMLApBEHvnORVa1nXspgLhSBdzvQf7i7wIlYE hIlPDHBqhS/ybP1OI+dUy8mDe3G5z1nsWdTkTh23sMytZ5MlCJq/ASh/NG4bTKsUaFmF JK/PhASaL5+B787UyofFqg5OIjmcfaI1p3NxUAudWWaQLisnEC9tvORgDRTrkPhoXF43 nJGGR2Q9gLWinaejJ3GwSXbykEWir7Q7M+j89is0vMA9VMG8oKvKU41zkxPsaLM3N3Iz JbIg== X-Gm-Message-State: AOJu0YzegtAx/VnpgaCcQJd+z4uo/R53XdVOxlJsKCdTqM7eKHKlyGac 6aEWZBo84ehpZ/zLuByHDemhQ6P7ygAPTOUwmR/dUIfQs/V7hk3JGWWK6laYmgxijLsvvFg2mrR atsoOg2L4uiaIMx7z1FBQ1AdjCNOwU3+n54X2sLUJ63OjK7dKS2KTB/bGkDlXHf49FozeFTu3Yl isP0d5paiyqZoV2HARj3fkAEbYpXbYt7fZxDBvHvWriiU= X-Received: by 2002:aa7:c48a:0:b0:56c:6cb:e7ad with SMTP id m10-20020aa7c48a000000b0056c06cbe7admr5984982edq.9.1711455474908; Tue, 26 Mar 2024 05:17:54 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEBY+8o9SHY+9t1YGASuwN0AwJXTwfwZmb8jn+MkxDr2hyXX/IAwg817W1qS3kR9mAXWrYtJw== X-Received: by 2002:aa7:c48a:0:b0:56c:6cb:e7ad with SMTP id m10-20020aa7c48a000000b0056c06cbe7admr5984946edq.9.1711455474309; Tue, 26 Mar 2024 05:17:54 -0700 (PDT) Received: from localhost (185.223.159.143.dyn.plus.net. [143.159.223.185]) by smtp.gmail.com with ESMTPSA id p29-20020a056402501d00b0056c051e59bfsm3208816eda.9.2024.03.26.05.17.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Mar 2024 05:17:54 -0700 (PDT) From: Andrew Burgess To: gdb-patches@sourceware.org Cc: hjl.tools@gmail.com, John Baldwin Subject: Re: [PATCHv3 8/8] gdb/gdbserver: share x86/linux tdesc caching In-Reply-To: References: Date: Tue, 26 Mar 2024 12:17:53 +0000 Message-ID: <877chp5gr2.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=-12.0 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_H4, 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 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Simon pointed out some build issues encountered when building with Clang. While test building using Clang an additional issue was highlighted, which I've fixed by pushing the patch below. Sorry for anyone who ran into this issue. Thanks, Andrew --- commit 24df37a10f8773ad5db07dc000f694d6405e3a36 Author: Andrew Burgess Date: Tue Mar 26 12:05:07 2024 +0000 gdb: fix possible uninitialised variable use After this commit: commit 198ff6ff819c240545f9fc68b39636fd376d4ba9 Date: Tue Jan 30 15:37:23 2024 +0000 gdb/gdbserver: share x86/linux tdesc caching a possible use of an uninitialised variable was introduced, the 'tdesc' variable in i386_linux_core_read_description might be read without being written too if 'xcr0' was 0. This is fixed in this commit. I've updated the function to follow the same pattern as amd64_linux_core_read_description, if xcr0 is 0 then we select a default xcr0 value and use that to select a tdesc. diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c index ed1442236e8..2e84384306d 100644 --- a/gdb/i386-linux-tdep.c +++ b/gdb/i386-linux-tdep.c @@ -700,17 +700,15 @@ i386_linux_core_read_description (struct gdbarch *gdbarch, x86_xsave_layout layout; uint64_t xcr0 = i386_linux_core_read_xsave_info (abfd, layout); - const struct target_desc *tdesc; - if (xcr0 != 0) - tdesc = i386_linux_read_description (xcr0); - - if (tdesc != NULL) - return tdesc; + if (xcr0 == 0) + { + if (bfd_get_section_by_name (abfd, ".reg-xfp") != nullptr) + xcr0 = X86_XSTATE_SSE_MASK; + else + xcr0 = X86_XSTATE_X87_MASK; + } - if (bfd_get_section_by_name (abfd, ".reg-xfp") != NULL) - return i386_linux_read_description (X86_XSTATE_SSE_MASK); - else - return i386_linux_read_description (X86_XSTATE_X87_MASK); + return i386_linux_read_description (xcr0); } /* Similar to i386_supply_fpregset, but use XSAVE extended state. */