From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23649 invoked by alias); 23 Nov 2012 16:30:47 -0000 Received: (qmail 23614 invoked by uid 22791); 23 Nov 2012 16:30:42 -0000 X-SWARE-Spam-Status: No, hits=-3.8 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-qc0-f169.google.com (HELO mail-qc0-f169.google.com) (209.85.216.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 23 Nov 2012 16:30:37 +0000 Received: by mail-qc0-f169.google.com with SMTP id t2so7469883qcq.0 for ; Fri, 23 Nov 2012 08:30:37 -0800 (PST) MIME-Version: 1.0 Received: by 10.49.73.232 with SMTP id o8mr4966033qev.0.1353688236927; Fri, 23 Nov 2012 08:30:36 -0800 (PST) Received: by 10.49.12.210 with HTTP; Fri, 23 Nov 2012 08:30:36 -0800 (PST) In-Reply-To: <20121122201737.GA32172@host2.jankratochvil.net> References: <20121122201737.GA32172@host2.jankratochvil.net> Date: Fri, 23 Nov 2012 16:30:00 -0000 Message-ID: Subject: Re: [patch+7.5.1] Work around PR libc/13097 "linux-vdso.so.1" #3 From: "H.J. Lu" To: Jan Kratochvil Cc: gdb-patches@sourceware.org Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes 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 X-SW-Source: 2012-11/txt/msg00623.txt.bz2 On Thu, Nov 22, 2012 at 12:17 PM, Jan Kratochvil wrote: > Hi, > > this is an updated version of > [RFC] Work around PR libc/13097 "linux-vdso.so.1" #2 > http://sourceware.org/ml/gdb-patches/2011-08/msg00331.html > according to the Tom's comment > http://sourceware.org/bugzilla/show_bug.cgi?id=14466#c3 > > I remembered it when Joel plans 7.5.1 release, the patch is safe enough and it > is a FAQ at least on IRC. > > Fedora does not have this issue with its Fedora glibc but I have it > reproducible with FSF glibc build: > ./gdb -ex r --args $HOME/glibc-root/lib/ld-linux-x86-64.so.2 --library-path $HOME/glibc-root/lib /bin/true > Starting program: /home/.../glibc-root/lib/ld-linux-x86-64.so.2 --library-path /home/.../glibc-root/lib /bin/true > warning: Could not load shared library symbols for linux-vdso.so.1. > Do you need "set solib-search-path" or "set sysroot"? > [Inferior 1 (process 31807) exited normally] > > So there is no testcase as I do not know a real OS where it fails (it probably > fails on Ubuntu AFAIK). > > No regressions on {x86_64,x86_64-m32,i686}-fedora18-linux-gnu. > > vdso is available from /proc: #include #include int main() { FILE *maps; void *vdso_begin, *vdso_end; maps = fopen("/proc/self/maps", "r"); char buf[1024]; while (fgets(buf, 1024, maps)) { if (strstr(buf, "[vdso]")) break; } fclose(maps); sscanf(buf, "%p-%p", &vdso_begin, &vdso_end); write(1, vdso_begin, vdso_end - vdso_begin); return 0; } or extern int dl_iterate_phdr (int (*__callback) (struct dl_phdr_info *, size_t, void *), void *__data); Can GDB use them to locate vdso?