Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

read/archive: AIX big archive enhancements #473

Merged
merged 1 commit into from
Oct 10, 2022
Merged

Conversation

philipc
Copy link
Contributor

@philipc philipc commented Oct 6, 2022

  • Include magic in AixFileHeader.
  • Move AIX file header parsing into separate function.
  • Use ArchiveMember::parse_aixbig to parse the members for the symbol tables and member index.
  • Add Members enum for ArchiveFile::members instead of overloading the meaning of fields.
  • Fix length of member index count (20 instead of 30).
  • Add AixMemberOffset to simplify member index parsing.
  • Read the entire member index array at once. This avoids some overflow checking.
  • Don't set ArchiveFile::names since it isn't used.

Followup to #467. @ecnelises Can you test and review please?

- Include magic in `AixFileHeader`.
- Move AIX file header parsing into separate function.
- Use `ArchiveMember::parse_aixbig` to parse the members for the symbol
  tables and member index.
- Add `Members` enum for `ArchiveFile::members` instead of overloading
  the meaning of fields.
- Fix length of member index count (20 instead of 30).
- Add `AixMemberOffset` to simplify member index parsing.
- Read the entire member index array at once. This avoids some
  overflow checking.
- Don't set `ArchiveFile::names` since it isn't used.
Copy link
Contributor

@ecnelises ecnelises left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for refactoring! This works on AIX.

@philipc philipc merged commit cdb1300 into gimli-rs:master Oct 10, 2022
@philipc philipc deleted the aix branch October 10, 2022 04:52
mcbegamerxx954 pushed a commit to mcbegamerxx954/object that referenced this pull request Jun 15, 2024
- Include magic in `AixFileHeader`.
- Move AIX file header parsing into separate function.
- Use `ArchiveMember::parse_aixbig` to parse the members for the symbol
  tables and member index.
- Add `Members` enum for `ArchiveFile::members` instead of overloading
  the meaning of fields.
- Fix length of member index count (20 instead of 30).
- Add `AixMemberOffset` to simplify member index parsing.
- Read the entire member index array at once. This avoids some
  overflow checking.
- Don't set `ArchiveFile::names` since it isn't used.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants