From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15626 invoked by alias); 12 Aug 2016 10:28:41 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 15613 invoked by uid 89); 12 Aug 2016 10:28:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=hardcoded, xxx X-HELO: mail-pf0-f194.google.com Received: from mail-pf0-f194.google.com (HELO mail-pf0-f194.google.com) (209.85.192.194) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 12 Aug 2016 10:28:38 +0000 Received: by mail-pf0-f194.google.com with SMTP id i6so1353944pfe.0 for ; Fri, 12 Aug 2016 03:28:38 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=zTTBbXDPgC1/FJsfKEUUsvB93Xy6cKp3L0BTsf8rMjo=; b=JZbu5tHszZXT9K+KHanDKkmApisReTN4rQUDuouLhyIxNmBczaY0pN/GN6d7wGor9n /ltc3Pls0hMNOG220V/hyh38176FDK+rA/xLRt2cqUjcZ2gCs7XpZUhYE8wcu3kwcn1n Ckfbv//F7/Kcn6mDHCDQdqbBVVuNPbdLmFdpedEfmfrtxDOsbSAnsIiaPbGP3NlVU9EY q9LCM4IM3R1eKRRXhYddj6j73D3sSN7lvwMqYgi26JJQPCmWfImD2DhcaZNtJhHbXkqQ iQ+9BU7MdI2EGEuXzASwSrVA/p6FdFsRDpAOEXGmRksUvMusjl5E3jVYUZwZB/DEt6OJ vGmg== X-Gm-Message-State: AEkoouvZIVPom94agKfwH+Wq5NVuKJVEiBiVcGNc0avPitmajr3RnkrdbXeSTAWlCTOmBw== X-Received: by 10.98.7.80 with SMTP id b77mr26006570pfd.136.1470997717297; Fri, 12 Aug 2016 03:28:37 -0700 (PDT) Received: from E107787-LIN (gcc115.osuosl.org. [140.211.9.73]) by smtp.gmail.com with ESMTPSA id b64sm11824701pfa.82.2016.08.12.03.28.35 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Fri, 12 Aug 2016 03:28:36 -0700 (PDT) From: Yao Qi To: Pedro Alves Cc: Yao Qi , gdb-patches@sourceware.org Subject: Re: warning: Could not load shared library symbols for linux-vdso.so.1. References: <86twercyuv.fsf@gmail.com> <89b5bdc8-0be2-538e-3932-1f5d4a1bc1e8@redhat.com> Date: Fri, 12 Aug 2016 10:28:00 -0000 In-Reply-To: <89b5bdc8-0be2-538e-3932-1f5d4a1bc1e8@redhat.com> (Pedro Alves's message of "Thu, 11 Aug 2016 16:57:27 +0100") Message-ID: <86eg5ucmcv.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2016-08/txt/msg00143.txt.bz2 Pedro Alves writes: > Is there an easy way to check whether we're in the vdso prelinked > situation just from doing some address comparisions? I feel like that > should be possible, but I didn't think it through. It is is indeed > possible, we could alwayy skip the /proc/pid/maps parsing entirely > even against live processes, on modern kernels. I don't know either. However, looks vDSO prelink is done only on x86 and was already removed from kernel in 2014, as far as I can see. The base address of vDSO in kernel is VDSO_PRELINK, which is hard-coded. I am not sure we can rely on this hard-coded constant. > - if (address_in_mem_range (so->lm_info->l_ld, &vsyscall_range)) > + if (vsyscall_range.length !=3D 0 > + && address_in_mem_range (so->lm_info->l_ld, &vsyscall_range)) > + { > + *sop =3D so->next; > + free_so (so); > + break; > + } > + > + /* However, if we only know the starting address address, > + try a simple match. XXX: Is there an easy "SO is > + prelinked" check we could do here? */ > + if (vsyscall_range.length =3D=3D 0 > + && so->lm_info->l_addr_inferior =3D=3D vsyscall_range.start) > { > *sop =3D so->next; > free_so (so); Patch is good to me. One nit, we can merge these two condition checks, so we can delete SO in the list in one place. --=20 Yao (=E9=BD=90=E5=B0=A7)