From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25243 invoked by alias); 9 Mar 2014 16:53:36 -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 25231 invoked by uid 89); 9 Mar 2014 16:53:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_SOFTFAIL autolearn=no version=3.3.2 X-HELO: mtaout22.012.net.il Received: from mtaout22.012.net.il (HELO mtaout22.012.net.il) (80.179.55.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 09 Mar 2014 16:53:32 +0000 Received: from conversion-daemon.a-mtaout22.012.net.il by a-mtaout22.012.net.il (HyperSendmail v2007.08) id <0N2600900HFY8500@a-mtaout22.012.net.il> for gdb-patches@sourceware.org; Sun, 09 Mar 2014 18:53:30 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout22.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N26008ARHL5Z180@a-mtaout22.012.net.il>; Sun, 09 Mar 2014 18:53:30 +0200 (IST) Date: Sun, 09 Mar 2014 16:53:00 -0000 From: Eli Zaretskii Subject: Re: [PATCH v4 0/8] Validate binary before use In-reply-to: <20140308195717.GA2333@host2.jankratochvil.net> To: Jan Kratochvil Cc: gdb-patches@sourceware.org, ARistovski@qnx.com Reply-to: Eli Zaretskii Message-id: <837g83pb47.fsf@gnu.org> References: <20140302195248.10290.22958.stgit@host1.jankratochvil.net> <837g8ctjkj.fsf@gnu.org> <20140308195717.GA2333@host2.jankratochvil.net> X-IsSubscribed: yes X-SW-Source: 2014-03/txt/msg00219.txt.bz2 > Date: Sat, 8 Mar 2014 20:57:17 +0100 > From: Jan Kratochvil > Cc: gdb-patches@sourceware.org, ARistovski@qnx.com > > > > +If both build-ids are present but they do not match then this setting > > > > That "both" part came as a surprise to me. Are there only two of > > them? If so, where is each one stored? I don't think preceding text > > describes this. > > The goal of my text was to say: > * there are multiple pairs of build-ids > * each build-id pair corresponds to: > * one shared library > * one symbol file > * the two build-ids in one pair should match Ah, OK. Then we should say that explicitly. > +Inferior shared libraries and symbol files may contain unique build-id. > +By default @value{GDBN} will ignore symbol files with non-matching build-id I suggest to say that between these two sentences. Something like @value{GDBN} expects the build-ids of each shared library and its corresponding symbol file to match. If they don't match, then by default @value{GDBN} will ... A question: does "match" here means the build-ids should be identical? If so, perhaps use "identical" or "equal" instead of "match". > +while printing: > + > +@smallexample > + Shared object "libfoo.so.1" could not be validated and will be ignored; > + or use 'set solib-build-id-force'. > +@end smallexample Hmm... the text says that GDB will ignore symbol files, but the error message you cite complains about the shared library, and doesn't even mention the fact that the problem is a mismatch of the 2 build-ids. Why not say explicitly that the build-id of the symbol file doesn't match that of the shared library? Or did I misunderstand what this setting is about? Thanks.