[PATCH] libdw: Add get_uleb128 and get_sleb128 bounds checking.

Josh Stone jistone at redhat.com
Mon Dec 15 19:34:02 UTC 2014

On 12/14/2014 02:18 PM, Mark Wielaard wrote:
> This finally adds bounds checking to get_[us]leb128 (with two exceptions,
> see below). The performance results are a little puzzling, so I hope
> Josh can take a look how things are for him.
> On one system, with 3.10.0-123.13.1.el7.x86_64, varlocs -k slows down:
> 0.160:       53.65
> master:      52.24
> mjw/pending: 56.35
> But on another, with 3.17.4-301.fc21.x86_64, varlocs -k speeds up:
> 0.160:       69.41
> master:      69.03
> mjw/pending: 68.29
> Output is the same between versions for each system.

These are probably different compilers too, right?  So I suspect the
newer compiler just noticed an optimization opportunity.

AFAICT, the change to __libdw_form_val_len's parameters, pending commit
1a069eb7ae22, makes the bulk of the difference.  But it does seem to be
a bit faster still in the leb128 commit 4f6de27c6043 -- curious!

More information about the elfutils-devel mailing list