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

[BUG] failed to analyze Goldeneye Wii (SJBE52) #56

Open
Coockie1173 opened this issue May 28, 2024 · 2 comments
Open

[BUG] failed to analyze Goldeneye Wii (SJBE52) #56

Coockie1173 opened this issue May 28, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@Coockie1173
Copy link

Repository URL

https://github.com/Coockie1173/Goldeneye-Wii

Game Name

GoldenEye Wii

Game Version

USA

Description

When splitting the game, it throws the following error:

build\tools\dtk.exe dol split config\SJBE52\config.yml build\SJBE52
INFO Loading config\SJBE52\config.yml
INFO Loading and analyzing 1 module (using 1 thread)
WARN module{name=main}: Control flow from 3:0x803AB514 hit known function 3:0x803AB55C (instruction: 3:0x803AB55C)
INFO Initial analysis completed in 0.969s (found 14036 functions)
INFO Rebuilding relocationninja: error: rebuilding 'build.ninja': subcommand failed
s and splitting
Failed: While processing object 'main.dol' (module ID 0)

@Coockie1173 Coockie1173 added the bug Something isn't working label May 28, 2024
encounter added a commit that referenced this issue Jun 4, 2024
Ensures that the analyzer won't
create a function when the target
is already contained within a
function. Useful with manual asm
that would otherwise trip up the
analyzer.

Partial work for #56
@encounter
Copy link
Owner

It turns out this specific failure is because of a tricky linker flag: -code_merging all,aggressive

It causes issues with analysis and splitting, because .ctors entries were merged together, and I'll have to figure out how to automatically un-deduplicate(?) them, which would be required to build a matching DOL.

I sadly don't have an idea on how to accomplish it yet :(

@Coockie1173
Copy link
Author

It turns out this specific failure is because of a tricky linker flag: -code_merging all,aggressive

It causes issues with analysis and splitting, because .ctors entries were merged together, and I'll have to figure out how to automatically un-deduplicate(?) them, which would be required to build a matching DOL.

I sadly don't have an idea on how to accomplish it yet :(

hmm, I guess it's figuring out what the compiler would do in this situation right? If that's the case it might be a good idea to have a barebones project where you compile it twice, once merged and once not merged, to see how it behaves/differs. I'd setup the barebones project myself if I knew how to do it ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants