diff options
author | Alan Modra <amodra@gmail.com> | 2018-06-13 23:57:17 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2018-06-14 11:32:01 +0930 |
commit | ff91d2f0e20fc91b6b101a0b20cbd38ab2d7fb50 (patch) | |
tree | 84072389f64c95fef1d958196eaa68b0f7a97077 | |
parent | ab89b5a57cff984d1edbcb6ca19c8f4a77c511a8 (diff) | |
download | gdb-ff91d2f0e20fc91b6b101a0b20cbd38ab2d7fb50.zip gdb-ff91d2f0e20fc91b6b101a0b20cbd38ab2d7fb50.tar.gz gdb-ff91d2f0e20fc91b6b101a0b20cbd38ab2d7fb50.tar.bz2 |
PR23282, Reinstate seek optimization
PR 23282
* bfdio.c (bfd_seek): Optimize away seeks to current position.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/bfdio.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8b70682..d9465d5 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2018-06-14 Alan Modra <amodra@gmail.com> + + PR 23282 + * bfdio.c (bfd_seek): Optimize away seeks to current position. + 2018-06-13 Scott Egerton <scott.egerton@imgtec.com> Faraz Shahbazker <Faraz.Shahbazker@mips.com> diff --git a/bfd/bfdio.c b/bfd/bfdio.c index 136fa8b..1f4caca 100644 --- a/bfd/bfdio.c +++ b/bfd/bfdio.c @@ -330,6 +330,10 @@ bfd_seek (bfd *abfd, file_ptr position, int direction) if (direction != SEEK_CUR) position += offset; + if ((direction == SEEK_CUR && position == 0) + || (direction == SEEK_SET && (ufile_ptr) position == abfd->where)) + return 0; + result = abfd->iovec->bseek (abfd, position, direction); if (result != 0) { |