forked from encounter/decomp-toolkit
-
Notifications
You must be signed in to change notification settings - Fork 5
Merge upstream decomp-toolkit v1.8.0 #9
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
Open
freeqaz
wants to merge
27
commits into
rjkiv:main
Choose a base branch
from
freeqaz:sync-with-v1.8.0
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Also adds support to elf2dol to extract the inner DOL from a BootStage DOL.
…ypes (encounter#119) * Add support for structure types and enums being nested in structure types * Fix formatting
* Add auto extab dtor renaming * Remove whitespace * Update cwextab * Only rename unnamed functions * Create separate name creation function/use is_auto_symbol * Make fmt shut up
The ProDG hack in split_ctors_dtors caused the automated splitting of .ctors to be incorrect for RELs, by stripping relocatable function pointers out of the object. This patch checks for relocations, resolving both of the build failures observed in encounter#125.
This allows configuring the function analyzer to skip certain problematic ranges in the program. Only for exceptional cases that prevents analysis from finishing. When using this feature, ensure that no `function` symbols exist for the affected range in symbols.txt, otherwise CFA will run for the defined functions, regardless of this setting.
* Support type definitions inside functions in dwarf dump Detect subroutine parent class and constness Support nested typedefs * Omit unnecessary/duplicate dwarf info * Move total size to before struct so that clangd picks it up * Subroutine typedefs and subroutine block inner types * Handle override, const, volatile, virtual, static function logic * Omit return type of ctors and dtors * Add back the nested template thing because it's actually useful * Return type omitting bug fix * Add static struct members * Fix formatting * Handle typedef specification attribute * Avoid adding duplicate inline params * Handle non-overriden GCC constructors and destructors * clippy * Cargo fmt * Apply clippy's suggestion * Extract producer and correctly handle MWCC static members * Enable static member function detection only for GCC * Fix bug where function parameter wasn't applied if both names were None * Fix gcc boolean logic and omit __in_chrg * Add parent fallback for PS2 MW * Demangle mangled function names * Have inlines and blocks in the same vec to keep their correct order * Change comment * List member functions inside struct * Remove Inline comment and add a new line before blocks * Fix fmt and check * Support appending static member functions to struct on GCC * Reverse enum members in GCC
* Demangle variable names * Fix small issue
…ump (encounter#133) * Revert my own change that completely messes up array typedefs * Fix formatting
Merges 26 commits from encounter/decomp-toolkit (v1.6.2..v1.8.0). Key upstream changes taken: - skip_cfa_ranges config option - SDA base symbol creation in CFA analysis - Jump table validation improvements (max_block approach) - globalize_symbols parameter for split_obj - Dependency updates (chrono, gnuv2_demangle, objdiff-core 2.2) - Various bug fixes (WindowedFile, REL splitting, auto-split names) Kept deleted: dwarf.rs, elf.rs, elf2dol.rs, rel.rs (GC/Wii-only) Preserved: XEX-specific analysis, powerpc crate, git fork deps
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Conflict resolutions
as u32casts, added upstream's SDA symbol creationmax_blockjump table validationglobalize_symbols: falseto split_obj callsTesting
cargo build --releasesucceedscargo testpassesI'll keep banging on this as I work through my decomp workflows. I've got a whole fork full of stuff that you're welcome to review. Hopefully this is relatively light and helpful though 🙏