From owner-freebsd-arch@freebsd.org Thu Jan 9 16:03:58 2020 Return-Path: Delivered-To: freebsd-arch@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7070D1F240E for ; Thu, 9 Jan 2020 16:03:58 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x841.google.com (mail-qt1-x841.google.com [IPv6:2607:f8b0:4864:20::841]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 47trWx4flmz4Kpg for ; Thu, 9 Jan 2020 16:03:57 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x841.google.com with SMTP id t3so6235353qtr.11 for ; Thu, 09 Jan 2020 08:03:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=/mf4UAKFwdF/bA0lA4fr4EfqBoFe1zXyk9DnL9EbBQM=; b=aCmfegRx3+rC9hIXNIJWv94+yq9i1p5j58eIwGhu+QvFYuTeCjgPLLWVgJbeGjaUsS So24wlaqh2zhpcUI00G5vap07TgegMLGC7nRpTTaSzS0oRty4Br0A5SXh18wy9TBXt9G BuMNLecsROpMW+Z81wkf6m5aEPrn+OhE8sj9JrzR7pHBsEO7giaSY+Ol3f4HaYscyD70 n85CJMMj070Jdfr0RM+0sL6+iZLs3kcLG3xBYOxlUSsgTb6HbIw/nU1M1RSfUIzEs6aA MwBhA68YKYuEaeB+pFgzE2SiRJgnMi4fRB1qnzTiCdOstUV3qV2y+tw6m82wuRWDFArV 3zCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=/mf4UAKFwdF/bA0lA4fr4EfqBoFe1zXyk9DnL9EbBQM=; b=P30D1AEkmekaXUq8PxD0y86vGyZMQbz1T+8UdnlRYxVu1CatiUKSbTzkhY8IUx6V0x p7mUtMYb+bM3dGPGgTTr6FnyJBET7I4hUFhZFZZvEkytz4lS+QjnoJXkLbxBwThSMNyn ODyf3emyzpoGkkKVm/7ZJe90NyjGbK1T1iAa4K55yoh+0rYtSXv8GqkbO0iqMPU9mscn GGg4/KKsHUGDJyYhjcsWuf/0MBvkNjW0AnvvTK2dA28wB8iw6CzgCLYAcVzqQ3NuvBg4 Ksg5hPnN4VjUK/cP9a+GpuEXoi9MSLQH+aiXqZQvYO7w9iGkaDpAaXSH2MNLRqFLt3DR pw7Q== X-Gm-Message-State: APjAAAVyU3kwXRps8bEKo6soVMWkMsExkrtaBVX58tJEFuCHKZEVX8N6 h59kHX2UFvqcvd0C/aC9i1icXrwT1Q57Cwcy4pjQJgVH X-Google-Smtp-Source: APXvYqzbR1ossHgdZKfok5hjR2kePFjN6Uuu1ca/ZiBXF9u9fmwDUVKAuSRtJbCQtHMr1D1QJPvGEY7ibpOYF3sWX1I= X-Received: by 2002:ac8:21ec:: with SMTP id 41mr8725025qtz.242.1578585836609; Thu, 09 Jan 2020 08:03:56 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Warner Losh Date: Thu, 9 Jan 2020 09:03:45 -0700 Message-ID: Subject: Re: Retiring GNU objdump 2.17.50 To: Ed Maste Cc: freebsd-arch , FreeBSD Ports X-Rspamd-Queue-Id: 47trWx4flmz4Kpg X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=aCmfegRx; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::841) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-2.34 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-arch@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; RCVD_IN_DNSWL_NONE(0.00)[1.4.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; IP_SCORE(-0.34)[ip: (2.32), ipnet: 2607:f8b0::/32(-2.12), asn: 15169(-1.85), country: US(-0.05)]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Jan 2020 16:03:58 -0000 On Thu, Jan 9, 2020 at 8:32 AM Ed Maste wrote: > We currently install and use at most three tools from GNU binutils > 2.17.50, depending on target architecture: > > 1. as - assembler > 2. ld - linker > 3. objdump - diagnostic / information tool > > I hope to retire all use of these obsolete binutils before FreeBSD 13. > Here I'd like to discuss objdump. It is a diagnostic tool that > provides information about object files, binaries and libraries. It's > not required as a bootstrap tool (i.e., not needed to build FreeBSD > world or kernel). It is required to build a limited number of ports, > and is used by some developers. > > I have a tracking PR for GNU objdump's retirement open in PR 229046. > https://bugs.freebsd.org/229046. > > There are two ways we can proceed with its retirement: > > 1. Remove it without replacement. Ports that need objdump to build > will have to depend on the binutils package/port, and users who wish > to use it will have to install it. > > Related links for this path: > Ports exp-run: https://bugs.freebsd.org/212319 > Patch review: https://reviews.freebsd.org/D7338 > > 2. Install llvm-objdump in its place (perhaps via a symlink). > llvm-objdump is broadly compatible in both command-line argument > parsing and output format, but there are many small differences and > it's not a full drop-in replacement. > > Related links for this path: > Patch review: https://reviews.freebsd.org/D18307 > > I am interested in feedback on the preferred approach. Installing > llvm's objdump has the advantage that for most use cases everything > will "just work", but may also introduce subtle failures. > I'm a bit torn on this one. I like the first approach because it gives me exactly what I'm used to, and the burden to install binutils isn't that high. Though, I don't really need the rest of it and stray binaries like as and ld may have some weird unintended consequences. I like the second one because my muscle memory in my fingers means I won't have to adapt and I won't have to install binutils for my muscle memory to work. The phrase 'broadly compatible' always fills me with the terror of broken scripts. So I have about a 70/30 split between #1 and #2. #1 is likely better, but not no-brainer clearly better. But #2 has issues so unless there's an as-yet unarticulated #3, I think #1 would be better. Warner