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

Mark Wielaard mjw at redhat.com
Mon Dec 15 21:30:45 UTC 2014


On Mon, 2014-12-15 at 11:34 -0800, Josh Stone wrote:
> 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.

Yes they are. The first is 4.8.2, the second is 4.9.2.
If I run the tests with the binary of the second on the first system it
is a little faster. From slightly higher than 55 seconds to slightly
lower than 53 seconds. So GCC 4.9 does indeed produce a little faster
code compared to GCC 4.8.

Cheers,

Mark


More information about the elfutils-devel mailing list