Re: Retiring GNU objdump 2.17.50

2020-01-13 Thread Marcin Cieslak

On Thu, 9 Jan 2020, Ed Maste wrote:


world or kernel). It is required to build a limited number of ports,
and is used by some developers.


My use case is troubleshooting tool - I can always ask somebody
on the remote computer to check their binaries with a tool that
is in the base system. ("Can you objdump -T this library?",
"Can you objdump -R something | grep symbolname?").

I think the first use case can be solved with "nm -D", I don't see
the replacement for the latter. Since I also support Mac, Linux users it
nice to have one tool that works the same across all the platforms;
but give I need to take "otool" for older MacOS into account I don't
mind to have something else under a different name, with different
options, as long as it is well known and preferably always available
for troubleshooting (not an additionally installed something).
Haven't worked with llvm-objdump yet.

I like the disassembler feature but for myself I can install
binutils.

Marcin

smime.p7s
Description: S/MIME Cryptographic Signature


Re: Retiring GNU objdump 2.17.50

2020-01-13 Thread Ed Maste
On Sun, 12 Jan 2020 at 20:40, Slawa Olhovchenkov  wrote:
>
>  As long as pmcannotate relies on objdump(1) and pmcstat(8) to
>  work, it
>   will fail if one of them is not available.

Ah, we could have pmcannotate check for both llvm-objdump and objdump in $PATH.
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: Retiring GNU objdump 2.17.50

2020-01-10 Thread Baptiste Daroussin
On Thu, Jan 09, 2020 at 05:56:10PM +0200, Konstantin Belousov wrote:
> On Thu, Jan 09, 2020 at 10:31:55AM -0500, 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.
> 
> IMO no. 1 is preferrable because we do not need to track differences, nor
> we need to explain them.  Having to install binutils port is not a high cost,
> and if somebody needs details about binary at the level provided by objdump,
> including disassembler, she would need binutils port anyway.

I completly agree with kib here.

Best regards,
Bapt


signature.asc
Description: PGP signature


Re: Retiring GNU objdump 2.17.50

2020-01-10 Thread Renato Botelho

On 09/01/20 12:56, Konstantin Belousov wrote:

On Thu, Jan 09, 2020 at 10:31:55AM -0500, 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.


IMO no. 1 is preferrable because we do not need to track differences, nor
we need to explain them.  Having to install binutils port is not a high cost,
and if somebody needs details about binary at the level provided by objdump,
including disassembler, she would need binutils port anyway.


+1

--
Renato Botelho
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: Retiring GNU objdump 2.17.50

2020-01-09 Thread Shawn Webb
On Thu, Jan 09, 2020 at 10:31:55AM -0500, 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

Hey Ed,

In preparation for Cross-DSO CFI, HardenedBSD made the switch to
llvm-objdump a long while ago. Therea are, indeed, subtle breakages in
ports. Not all options are supported. I added a LLVM_OBJDUMP_UNSAFE
flag, and some ports still have trouble with it.

Unfortunately, my spare time at this very moment is not large enough
to allow me to document HardenedBSD's initial findings with regards to
the switch. I wll, however, add that to my todo list.

Thanks,

-- 
Shawn Webb
Cofounder / Security Engineer
HardenedBSD

XMPP+OTR:latt...@is.a.hacker.sx
GPG Key ID:  0xFF2E67A277F8E1FA
GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9  3633 C85B 0AF8 AB23 0FB2
https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc


signature.asc
Description: PGP signature


Re: Retiring GNU objdump 2.17.50

2020-01-09 Thread Konstantin Belousov
On Thu, Jan 09, 2020 at 10:31:55AM -0500, 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.

IMO no. 1 is preferrable because we do not need to track differences, nor
we need to explain them.  Having to install binutils port is not a high cost,
and if somebody needs details about binary at the level provided by objdump,
including disassembler, she would need binutils port anyway.
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Retiring GNU objdump 2.17.50

2020-01-09 Thread Ed Maste
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.
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"