From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 263473858D28 for ; Mon, 7 Nov 2022 14:23:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 263473858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=simark.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=simark.ca Received: from [10.0.0.11] (unknown [217.28.27.60]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 597ED1E0CB; Mon, 7 Nov 2022 09:23:06 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=simark.ca; s=mail; t=1667830986; bh=ieSb5ln9YDdbSE0QhBLH5EiD2tAgqQg8MUR66i8hJi0=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=m3Q3Go47aFTbnoQWqtG2afwgpElODIG7hI/+RB5x43RMSZEkTgcKwsq8KnlHF1PVE Phw+YPf54/pnkLOQM/+61o0Laf8WjQ00TQmirjeNaqH3Fgk/BhUllo4gR0StKjpD4W wDrBejPA5m5IKr2tc1vgnGfxSa7sdLkCGLUGlP9Q= Message-ID: <3b0740f3-7d92-b294-94dc-c5bed5c9b82b@simark.ca> Date: Mon, 7 Nov 2022 09:23:05 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH V3] gdb: link executables with libtool Content-Language: en-US To: "Jose E. Marchesi" Cc: gdb-patches@sourceware.org, indu.bhagat@oracle.com, elena.zannoni@oracle.com References: <20221106131041.1221924-1-jose.marchesi@oracle.com> <87leomam28.fsf@oracle.com> From: Simon Marchi In-Reply-To: <87leomam28.fsf@oracle.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-5.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,SPF_HELO_PASS,SPF_PASS,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 List-Id: On 11/7/22 09:14, Jose E. Marchesi wrote: > >> On 11/6/22 08:10, Jose E. Marchesi via Gdb-patches wrote: >>> [Changes from V2: >>> - Add .. to AC_CONFIG_MACRO_DIRS so autoreconf DTRT. >>> - Refer to libopcode as a libtool library. >>> - Do not use libtool --mode=execute in testsuite/lib/gdb.exp. >>> - Remove spurious entry from top-level ChangeLog. >>> - Remove ChangeLog fragment from commit message. >>> - Add git trailer to commit message. >>> - Typos fixed in commit message.] >>> >>> This patch changes the GDB build system in order to use libtool to >>> link the several built executables. This makes it possible to refer >>> to libtool libraries (.la files) in CLIBS. >>> >>> As an application of the above, >>> >>> BFD now refers to ../libbfd/libbfd.la >>> OPCODES now refers to ../opcodes/libopcodes.la >>> LIBBACKTRACE_LIB now refers to ../libbacktrace/libbacktrace.la >>> LIBCTF now refers to ../libctf/libctf.la >>> >>> NOTE1: The addition of libtool adds a few new configure-time options >>> to GDB. Among these, --enable-shared and --disable-shared, which were >>> previously ignored. Now GDB shall honor these options when linking, >>> picking up the right version of the referred libtool libraries >>> automagically. >>> >>> NOTE2: I have not tested the insight build. >>> >>> NOTE3: For regenerating configure I used an environment with Autoconf >>> 2.69 and Automake 1.15.1. This should match the previously >>> used version as announced in the configure script. >>> >>> NOTE4: Now the installed shared object libbfd.so is used by gdb >>> if binutils is installed with --enable-shared. >>> >>> Testing performed: >>> >>> - --enable-shared and --disable-shared (the default in binutils) work >>> as expected: the linked executables link with the archive or shared >>> libraries transparently. >>> >>> - Makefile.in modified for EXEEXT = .exe. It installs the binaries >>> just fine. The installed gdb.exe runs fine. >>> >>> - Native build regtested in x86_64. The installed gdb runs fine. >>> >>> In the regression testing I'm observing that the following tests >>> doesn't seem to be deterministic: >>> >>> gdb.base/step-over-syscall.exp >>> gdb.threads/process-dies-while-detaching.exp >>> gdb.threads/process-dies-while-handling-bp.exp >>> >>> Sometimes some of the the tests in these files unexpectedly fail, >>> like in: >>> >>> -PASS: gdb.threads/process-dies-while-detaching.exp: single-process: \ >>> continue: detach: continue >>> +FAIL: gdb.threads/process-dies-while-detaching.exp: single-process: \ >>> continue: detach: continue >>> >>> Sometimes they unexpectedly pass: >>> >>> -KFAIL: gdb.base/step-over-syscall.exp: clone: displaced=on: \ >>> check_pc_after_cross_syscall: single step over clone \ >>> final pc (PRMS: gdb/19675) >>> +PASS: gdb.base/step-over-syscall.exp: clone: displaced=on: \ >>> check_pc_after_cross_syscall: single step over clone final pc >>> >>> -KFAIL: gdb.threads/process-dies-while-handling-bp.exp: \ >>> non_stop=on: cond_bp_target=0: inferior 1 exited \ >>> (prompt) (PRMS: gdb/18749) >>> +PASS: gdb.threads/process-dies-while-handling-bp.exp: \ >>> non_stop=on: cond_bp_target=0: inferior 1 exited >>> >>> - Cross build for aarch64-linux-gnu built to exercise >>> program_transform_name and friends. The installed >>> aarch64-linux-gnu-gdb runs fine. >>> >>> Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29372 >>> --- >>> gdb/Makefile.in | 14 +- >>> gdb/aclocal.m4 | 5 + >>> gdb/config.in | 4 + >>> gdb/configure | 31544 ++++++++++++++++++++++++++++++--------------- >>> gdb/configure.ac | 17 +- >> >> This diffstat claims there are changes to configure, but the patch >> doesn't actually has them. Perhaps it's on purpose, because they are a >> bit on the big side to send by email. I'd just like to double-check >> that when I run autoreconf on my side, I get the same result as you. >> Could you perhaps upload your patch to a git branch? It could be a user >> branch here in the sourceware binutils-gdb repo. > > Yeah I removed the configure thunk because it is big. > Just pushed the stuff to a branch users/jemarch/gdb-libtool. Thanks, this works for me, I think you can go ahead and push this. Please add the following trailer to the commit: Approved-By: Simon Marchi Simon