From: Roman Kapl Date: Sat, 29 Nov 2025 11:45:27 +0000 (+0100) Subject: bfd: fix potential missing seek X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2fbe667884bc37e710f12937ded1b355be42fa56;p=thirdparty%2Fbinutils-gdb.git bfd: fix potential missing seek If a file was closed by cache and then bfd_open_file was called followed by e.g. bfd_seek to the original position, the seek would be optimized out while the real file position was still zero (as fopened). I added `bfd_io_force` to force the seek at next IO occasion. This could lead e.g. to appearence of a corrupted object in ld: symbol number 0 uses unsupported binding of 6 or invalid string offset #X >= #Y for section Signed-off-by: Roman Kapl --- diff --git a/bfd/cache.c b/bfd/cache.c index 3bf9c9449a4..3342e2d5008 100644 --- a/bfd/cache.c +++ b/bfd/cache.c @@ -177,6 +177,7 @@ bfd_cache_delete (bfd *abfd) BFD_ASSERT (open_files > 0); --open_files; abfd->flags |= BFD_CLOSED_BY_CACHE; + abfd->last_io = bfd_io_force; return ret; }