55 Commits

Author SHA1 Message Date
Luke Street 933edcfb19 Clippy fixes 2023-08-15 22:47:35 -04:00
Luke Street 23a156a6d5 Add selfile option & load in dol split 2023-08-15 22:45:23 -04:00
Luke Street 908e3bb037 Check functions at start of code sections in detect_functions 2023-08-15 22:44:48 -04:00
Luke Street a394dfc88c Improved sanity checks in asm write_data 2023-08-15 22:44:06 -04:00
Luke Street 2c2ee8bf08 Validate splits don't overlap symbols (or each other)
Use DoubleEndedIterator::next_back instead of Iterator::last to avoid unnecessary iteration.
2023-08-15 09:47:00 -04:00
Luke Street d272b5dce8 Write common symbol align in asm 2023-08-15 09:36:45 -04:00
Luke Street 522909907c Add quick_analysis option & disable auto_force_files by default 2023-08-10 00:05:33 -04:00
Luke Street 33a026d0c7 Support module hash in config.yml 2023-08-10 00:04:35 -04:00
Luke Street 5272f90991 Read symbol alignment from .comment 2023-08-10 00:03:44 -04:00
Luke Street 265e26ee40 Guess section alignment & write __ArenaHi in .lcf 2023-08-10 00:03:14 -04:00
Luke Street 98ab89a1de Don't relocate against linker symbols for certain relocations 2023-08-10 00:02:28 -04:00
Luke Street cf328b8707 Only create relocations for direct branches 2023-08-09 23:59:26 -04:00
Luke Street 457ee10a42 Emit FORCEACTIVE in LCF & various fixes 2023-08-09 01:24:23 -04:00
Luke Street d9e1ae2777 MW 2.7 LD compatibility fixes & more
- More robust .comment section handling
- Auto-create .comment section for objects with common symbols (MW 2.7+ hack)
- Support loading REL modules in `dol split` (currently only for references)
- Add `dol diff` for quick diffing between linked ELF and expected symbols
- Add `dol apply` for applying linked ELF symbols to symbol config file
2023-08-08 23:34:00 -04:00
Luke Street 5bdffa94c4 Generated TU name adjustments 2023-08-08 01:54:01 -04:00
Luke Street 46801939a3 Fix up .comment section writing & support symbol force_active 2023-08-08 01:53:47 -04:00
Luke Street 40786587e3 Support common BSS in update_splits & resolve_link_order 2023-08-07 20:05:57 -04:00
Luke Street c9eb824034 Emit __init_cpp_exceptions_reference symbols as global 2023-08-07 20:05:19 -04:00
Luke Street 9684701d5b Include common symbols in ObjSymbols::for_range 2023-08-07 20:05:00 -04:00
Luke Street e215b6d843 Fix write_elf for common symbols & only write filename in file symbol 2023-08-07 20:04:40 -04:00
Luke Street e802b61001 Fix autogenerated unit output in config.json 2023-08-07 20:03:58 -04:00
Luke Street c07826e57f Output common/rename in write_split 2023-08-07 20:03:34 -04:00
Luke Street a046bf9a66 Updates for build system integration
- Use a config file as input to `dol split`
- Add depfile output
- Adjust splits config writing
2023-08-06 15:46:51 -04:00
Luke Street 4b6e317d0b Adjustments for use with ninja build 2023-08-05 20:27:05 -04:00
Luke Street fefe4a36f0 Small dol split output adjustments 2023-08-05 18:35:11 -04:00