From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28321 invoked by alias); 1 Mar 2006 20:05:49 -0000 Received: (qmail 28189 invoked by uid 22791); 1 Mar 2006 20:05:46 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Wed, 01 Mar 2006 20:05:42 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1FEXZs-00038M-5S; Wed, 01 Mar 2006 15:05:40 -0500 Date: Wed, 01 Mar 2006 20:05:00 -0000 From: Daniel Jacobowitz To: Alexandre Oliva , gdb-patches@sourceware.org Subject: Prelink.exp troubles Message-ID: <20060301200540.GE6465@nevyn.them.org> Mail-Followup-To: Alexandre Oliva , gdb-patches@sourceware.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.8i X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-03/txt/msg00017.txt.bz2 Hi Alexandre, two problems for you. First: you're using gdb_expect directly. I'm sorry I didn't notice this before. Don't do that; use gdb_test_multiple instead. This will get you the fallback case which includes things like "time out quickly if you see an unexpected GDB prompt", which in this case I do; prelink.exp is taking five minutes to fail for me. Second: drow@caradoc:/space/fsf/x86-64/commit-gdb/gdb/testsuite/gdb.base% prelink -v -NR prelink.so Laying out 4 libraries in virtual address space 0000003000000000-0000004000000000 Random base 0x0000003594d00000 Assigned virtual address space slots for libraries: /lib64/ld-linux-x86-64.so.2 0000003594d00000-0000003594e179e8 /lib/libc.so.6 0000003594f00000-000000359513dc68 prelink.so 0000003595200000-0000003595300928 /lib/libm.so.6 0000003595400000-00000035955851c8 Prelinking /lib/ld-2.3.5.so /usr/sbin/prelink.bin: Could not set /lib/ld-2.3.5.so owner or mode: Operation not permitted /usr/sbin/prelink.bin: Could not prelink /lib/libc.so.6 because its dependency /lib64/ld-linux-x86-64.so.2 could not be prelinked /usr/sbin/prelink.bin: Could not prelink /lib/libm.so.6 because its dependency /lib/libc.so.6 could not be prelinked /usr/sbin/prelink.bin: Could not prelink prelink.so because its dependency /lib/libm.so.6 could not be prelinked drow@caradoc:/space/fsf/x86-64/commit-gdb/gdb/testsuite/gdb.base% echo $? 0 So prelink can "succeed" without prelinking the library, and will if the system you're running on is non-prelinked. This results in no warning from GDB, which results in the test timing out and eventually failing. We need to either copy the libraries around (complicated, fragile), or punt if the system ld.so is not prelinked. Could you take a look at these? TIA! -- Daniel Jacobowitz CodeSourcery