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
bf0dd310e6
Bump version
2023-08-07 20:07:13 -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
771c380129
ci: Pin ziglang / cargo-zigbuild versions
2023-08-05 18:41:18 -04:00
Luke Street
fefe4a36f0
Small dol split output adjustments
2023-08-05 18:35:11 -04:00
Luke Street
2ccb5f7b36
Fix clippy issue & add fmt check
2023-08-04 10:46:02 -04:00
Luke Street
b9fd6e077a
Remove more unused imports
2023-08-03 19:24:47 -04:00
Luke Street
636213fdfd
Remove unused imports
2023-08-03 19:19:05 -04:00
Luke Street
4ee63abea4
Mark autogenerated splits & rework ObjInfo::add_split
2023-08-03 19:18:20 -04:00
Luke Street
43856f1b79
Fix generated extab symbol sizes
2023-08-03 19:12:58 -04:00
Luke Street
5c04800964
Run apply_signatures_post appropriately
2023-08-03 19:05:40 -04:00
Luke Street
6723245ed6
dol split: Write units file
2023-08-03 19:05:00 -04:00
Luke Street
f06a6ffbdd
Ignore ABS symbols in ObjSymbols::for_range
...
- Add ObjSymbols::iter_ordered for all symbols (including ABS)
- Extract duplicated logic into ObjSymbols::for_relocation
2023-08-03 19:04:17 -04:00
Luke Street
8f461b8e0a
Add & use ObjSymbolFlagSet helper functions
2023-08-03 19:00:10 -04:00
Luke Street
26a3021f45
Fix lcf generation for missing .sbss2
2023-08-03 18:57:18 -04:00
Luke Street
bd0422e92a
Migrate argh to argp, topological-sort to petgraph
2023-08-03 18:57:08 -04:00
Luke Street
8660984d40
Improve prologue/epilogue detection
2023-08-03 18:51:15 -04:00
Luke Street
b267b79f7b
Fix string detection overwriting known symbols
2023-08-03 18:50:27 -04:00
Luke Street
6b81faa5e1
dwarf dump: More register names, fix padding handling
2023-08-02 18:29:03 -04:00
Luke Street
08663e8c3e
Remove accidental nightly feature
2023-07-21 18:06:04 -04:00
Luke Street
b958a23396
Minor README.md fix
2023-07-21 18:00:52 -04:00
Luke Street
0fa0aafaea
6 months of occasional work I guess
2023-07-21 17:59:07 -04:00
Luke Street
f1b4afa885
Add `dwarf dump` cmd
2023-02-14 21:50:23 -05:00
Luke Street
36e609eab7
Adjust extern relocation warning
2023-01-28 00:18:39 -05:00
Luke Street
4359ec1fa3
Only warn on extabindex relocations
2023-01-27 23:44:06 -05:00
Luke Street
15546a6880
Merge branch 'main' into experimental
2023-01-27 23:17:36 -05:00
Luke Street
830f7b172f
Reorganize files; start RSO support; config & split updates
2023-01-27 23:15:52 -05:00
Luke Street
e12a43fcd2
ci: Build i686-unknown-linux-musl
2023-01-24 20:09:57 -05:00
Luke Street
827e0806be
gerge branch 'main' into experimental
2023-01-19 12:54:52 -05:00
Luke Street
d864b0e395
Very experimental analyzer, DOL & REL support, function signatures
2023-01-18 12:52:38 -08:00
Luke Street
947874adfd
Version 0.2.3
...
- Fix `ar create` on Windows
- Clippy fixes
2023-01-05 08:51:44 -05:00
Luke Street
d76c554d31
Support duplicate filenames in ELF loader
2022-12-27 18:22:27 -05:00
Luke Street
9f4cc2f542
Add `elf split`; rework asm generation
...
`elf split` allows splitting an ELF
directly into relocatable object files
2022-12-24 03:10:12 -05:00
Luke Street
54f2abd35f
Update README.md
2022-12-14 21:21:04 -05:00
Luke Street
828766b22b
Version 0.2.2
...
- Add `ar create` command for static libraries
- Update `elf fixup` to add an "(asm)" suffix
to object file symbols, for use with progress
tracking.
2022-12-14 20:39:59 -05:00
Luke Street
21c386d1a6
Version 0.2.1
...
- Build static Linux binaries
- Use cargo-zigbuild for cross compilation
2022-12-14 13:20:22 -05:00
Luke Street
141339fcb0
Version 0.2.0
...
- Add `elf disasm` (disassemble an ELF)
- Add `elf fixup` (for GNU assembler)
- Add `map order` (link order deduction)
- Add `map slices` (ppcdis slices.yml, WIP)
- Add `map symbols` (ppcdis symbols.yml, WIP)
- Big speed improvement for map processing
- Minor `elf2dol` cleanup
2022-12-10 01:51:42 -05:00
Luke Street
f6dbe94bac
Add -o option to shasum
2022-11-27 23:43:46 -05:00