Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Jan 2020 10:31:55 -0500
From:      Ed Maste <emaste@freebsd.org>
To:        freebsd-arch <freebsd-arch@freebsd.org>, FreeBSD Ports <freebsd-ports@freebsd.org>
Subject:   Retiring GNU objdump 2.17.50
Message-ID:  <CAPyFy2CJYYkcBRkajEf9miGUDBgpJ-DU3kGuJyHf5u%2BhjrF4uw@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPyFy2CJYYkcBRkajEf9miGUDBgpJ-DU3kGuJyHf5u%2BhjrF4uw>