[PATCH] bfd: Don't check non-thin archive member file size

H.J. Lu hjl.tools@gmail.com
Fri Dec 24 23:46:04 GMT 2021


There is no need to check member file size for thin archive member.

	* bfdio.c (bfd_bread): Don't check non-thin archive member file
	size.
---
 bfd/bfdio.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/bfd/bfdio.c b/bfd/bfdio.c
index 463b3879c52..9aa15c1ffa4 100644
--- a/bfd/bfdio.c
+++ b/bfd/bfdio.c
@@ -231,9 +231,11 @@ bfd_bread (void *ptr, bfd_size_type size, bfd *abfd)
     }
   offset += abfd->origin;
 
-  /* If this is an archive element, don't read past the end of
+  /* If this is a non-thin archive element, don't read past the end of
      this element.  */
-  if (element_bfd->arelt_data != NULL)
+  if (element_bfd->arelt_data != NULL
+      && element_bfd->my_archive != NULL
+      && !bfd_is_thin_archive (element_bfd->my_archive))
     {
       bfd_size_type maxbytes = arelt_size (element_bfd);
 
-- 
2.33.1



More information about the Binutils mailing list