From 143a12bd5a5402231bde748cbbdc22bb3984a522 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 28 Apr 2023 11:11:09 +0930 Subject: Re: Keeping track of rs6000-coff archive element pointers Commit de7b90610e9e left a hole in the element checking, explained by the comment added to _bfd_xcoff_openr_next_archived_file. While fixing this, tidy some types used to hold unsigned values so that casts are not needed to avoid signed/unsigned comparison warnings. Also tidy a few things in xcoff.h. bfd/ * coff-rs6000.c (_bfd_xcoff_openr_next_archived_file): Check that we aren't pointing back at the last element. Make filestart a ufile_ptr. Update for xcoff_artdata change. (_bfd_strntol, _bfd_strntoll): Return unsigned values. (_bfd_xcoff_slurp_armap): Make off a ufile_ptr. (add_ranges): Update for xcoff_artdata change. * libbfd-in.h (struct artdata): Make first_file_filepos a ufile_ptr. * libbfd.h: Regenerate. include/ * coff/xcoff.h (struct xcoff_artdata): Replace min_elt with ar_hdr_size. (xcoff_big_format_p): In the !SMALL_ARCHIVE case return true for anything but a small archive. --- bfd/libbfd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bfd/libbfd.h') diff --git a/bfd/libbfd.h b/bfd/libbfd.h index bb7f2f1..aceec4a 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -78,7 +78,7 @@ extern unsigned int _bfd_section_id ATTRIBUTE_HIDDEN; struct artdata { - file_ptr first_file_filepos; + ufile_ptr first_file_filepos; /* Speed up searching the armap */ htab_t cache; carsym *symdefs; /* The symdef entries. */ -- cgit v1.1