splat64 0.35.0__tar.gz → 0.35.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {splat64-0.35.0 → splat64-0.35.2}/CHANGELOG.md +14 -0
- {splat64-0.35.0 → splat64-0.35.2}/PKG-INFO +4 -4
- {splat64-0.35.0 → splat64-0.35.2}/README.md +1 -1
- {splat64-0.35.0 → splat64-0.35.2}/docs/Segments.md +4 -4
- {splat64-0.35.0 → splat64-0.35.2}/pyproject.toml +2 -2
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/__init__.py +1 -1
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/file_presets.py +35 -12
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/include/labels.inc +2 -1
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/include/macro.inc +7 -1
- {splat64-0.35.0 → splat64-0.35.2}/.gitattributes +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/.github/workflows/black.yml +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/.github/workflows/mypy.yml +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/.github/workflows/publish_docs_to_wiki.yml +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/.github/workflows/pypi.yml +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/.github/workflows/test_lib.yml +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/.github/workflows/unit_tests.yml +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/.gitignore +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/LICENSE +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/create_config.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/docs/Adding-Symbols.md +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/docs/Advanced-Reloc.md +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/docs/Advanced.md +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/docs/Configuration.md +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/docs/Examples.md +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/docs/General-Workflow.md +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/docs/Home.md +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/docs/Quickstart.md +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/docs/VramClasses.md +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/mypy.ini +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/requirements.txt +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/split.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/__main__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/disassembler/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/disassembler/disassembler.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/disassembler/disassembler_instance.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/disassembler/disassembler_section.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/disassembler/null_disassembler.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/disassembler/spimdisasm_disassembler.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/platforms/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/platforms/n64.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/platforms/ps2.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/platforms/psp.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/platforms/psx.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/py.typed +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/scripts/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/scripts/capy.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/scripts/create_config.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/scripts/split.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/asm.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/asmtu.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/bin.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/bss.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/c.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/code.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/codesubsegment.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/cpp.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/data.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/databin.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/eh_frame.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/gcc_except_table.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/group.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/hasm.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/header.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/lib.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/linker_offset.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/pad.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/rdata.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/rodata.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/rodatabin.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/sbss.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/sdata.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/segment.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/common/textbin.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/linker_entry.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/ci.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/ci4.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/ci8.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/decompressor.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/gfx.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/header.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/i1.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/i4.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/i8.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/ia16.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/ia4.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/ia8.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/img.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/ipl3.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/mio0.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/palette.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/rgba16.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/rgba32.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/rsp.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/vtx.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/n64/yay0.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/ps2/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/ps2/ctor.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/ps2/lit4.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/ps2/lit8.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/ps2/vtables.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/psp/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/psx/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/psx/header.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/segtypes/segment.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/cache_handler.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/color.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/compiler.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/conf.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/log.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/n64/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/n64/find_code_length.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/n64/rominfo.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/options.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/palettes.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/progress_bar.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/psx/__init__.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/psx/psxexeinfo.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/relocs.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/statistics.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/symbols.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/utils.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/src/splat/util/vram_classes.py +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/Dockerfile +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/README.md +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/.gitignore +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/Makefile +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/build/basic_app.bin +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/dummy_ipl3.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/.splache +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/data/main.bss.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/data/main.data.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/data/main.rodata.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/handwritten.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/header.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/main.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/nonmatchings/main/D_80000510.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/nonmatchings/main/func_80000400.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/nonmatchings/main/func_800004A0.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/assets/dummy_ipl3.bin +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/basic_app.d +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/build/test/basic_app/split/src/main.asmproc.d +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/include/include_asm.h +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/src/main.c +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/undefined_funcs_auto.txt +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/undefined_syms_auto.txt +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/handwritten.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/header.s +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/basic_app/main.c +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test/test_gen_expected.sh +0 -0
- {splat64-0.35.0 → splat64-0.35.2}/test.py +0 -0
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# splat Release Notes
|
|
2
2
|
|
|
3
|
+
### 0.35.2
|
|
4
|
+
|
|
5
|
+
* Miscellaneous updates to generated macro labels.
|
|
6
|
+
* `jlabel`s in `labels.inc` are now explicitly marked as local.
|
|
7
|
+
* `jlabel`s in `macro.inc` no longer are marked as `@function` type.
|
|
8
|
+
* `macro.inc` now has include guards.
|
|
9
|
+
* `labels.inc` does not have them because no old assembler seem to properly support them.
|
|
10
|
+
* Fix splat not respecting when `generate_asm_macros_files` was being turned off.
|
|
11
|
+
|
|
12
|
+
### 0.35.1
|
|
13
|
+
|
|
14
|
+
* Fixes issues in the generated `macro.inc` and `labels.inc` files on psx projects.
|
|
15
|
+
* Change `jlabel`s to be global if the user has turned off rodata migration to functions.
|
|
16
|
+
|
|
3
17
|
### 0.35.0
|
|
4
18
|
|
|
5
19
|
* Add `pair_segment` option to segments.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: splat64
|
|
3
|
-
Version: 0.35.
|
|
3
|
+
Version: 0.35.2
|
|
4
4
|
Summary: A binary splitting tool to assist with decompilation and modding projects
|
|
5
5
|
Project-URL: Repository, https://github.com/ethteck/splat
|
|
6
6
|
Project-URL: Issues, https://github.com/ethteck/splat/issues
|
|
@@ -42,7 +42,7 @@ Requires-Dist: mypy; extra == 'dev'
|
|
|
42
42
|
Requires-Dist: n64img>=0.3.3; extra == 'dev'
|
|
43
43
|
Requires-Dist: pygfxd; extra == 'dev'
|
|
44
44
|
Requires-Dist: rabbitizer<2.0.0,>=1.12.0; extra == 'dev'
|
|
45
|
-
Requires-Dist: spimdisasm<2.0.0,>=1.
|
|
45
|
+
Requires-Dist: spimdisasm<2.0.0,>=1.36.0; extra == 'dev'
|
|
46
46
|
Requires-Dist: types-colorama; extra == 'dev'
|
|
47
47
|
Requires-Dist: types-pyyaml; extra == 'dev'
|
|
48
48
|
Provides-Extra: mips
|
|
@@ -50,7 +50,7 @@ Requires-Dist: crunch64<1.0.0,>=0.5.1; extra == 'mips'
|
|
|
50
50
|
Requires-Dist: n64img>=0.3.3; extra == 'mips'
|
|
51
51
|
Requires-Dist: pygfxd; extra == 'mips'
|
|
52
52
|
Requires-Dist: rabbitizer<2.0.0,>=1.12.0; extra == 'mips'
|
|
53
|
-
Requires-Dist: spimdisasm<2.0.0,>=1.
|
|
53
|
+
Requires-Dist: spimdisasm<2.0.0,>=1.36.0; extra == 'mips'
|
|
54
54
|
Description-Content-Type: text/markdown
|
|
55
55
|
|
|
56
56
|
# splat
|
|
@@ -76,7 +76,7 @@ The brackets corresponds to the optional dependencies to install while installin
|
|
|
76
76
|
If you use a `requirements.txt` file in your repository, then you can add this library with the following line:
|
|
77
77
|
|
|
78
78
|
```txt
|
|
79
|
-
splat64[mips]>=0.35.
|
|
79
|
+
splat64[mips]>=0.35.2,<1.0.0
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
### Optional dependencies
|
|
@@ -21,7 +21,7 @@ The brackets corresponds to the optional dependencies to install while installin
|
|
|
21
21
|
If you use a `requirements.txt` file in your repository, then you can add this library with the following line:
|
|
22
22
|
|
|
23
23
|
```txt
|
|
24
|
-
splat64[mips]>=0.35.
|
|
24
|
+
splat64[mips]>=0.35.2,<1.0.0
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
### Optional dependencies
|
|
@@ -189,9 +189,9 @@ Data located in the ROM that is linked from a C file. Use the `.data` segment to
|
|
|
189
189
|
|
|
190
190
|
**NOTE:** `splat` will not generate any `.data.s` files for these `.` (dot) sections.
|
|
191
191
|
|
|
192
|
-
## `.sdata`
|
|
192
|
+
## `sdata` / `.sdata`
|
|
193
193
|
|
|
194
|
-
The `.sdata`
|
|
194
|
+
The `sdata` and `.sdata` segments behaves the same as the `data` and `.data` segments, but supports "small data" linker sections.
|
|
195
195
|
|
|
196
196
|
## `rodata`
|
|
197
197
|
|
|
@@ -263,9 +263,9 @@ Links the `.bss` section of the associated `c` file.
|
|
|
263
263
|
- { start: 0x7D1AD0, type: .bss, name: filepath, vram: 0x803C0420 }
|
|
264
264
|
```
|
|
265
265
|
|
|
266
|
-
## `.sbss`
|
|
266
|
+
## `sbss` / `.sbss`
|
|
267
267
|
|
|
268
|
-
The `.sbss`
|
|
268
|
+
The `sbss` and `.sbss` segments behaves the same as the `bss` and `.bss` segments, but supports "small bss" linker sections.
|
|
269
269
|
|
|
270
270
|
## `lib`
|
|
271
271
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "splat64"
|
|
3
3
|
# Should be synced with src/splat/__init__.py
|
|
4
|
-
version = "0.35.
|
|
4
|
+
version = "0.35.2"
|
|
5
5
|
description = "A binary splitting tool to assist with decompilation and modding projects"
|
|
6
6
|
readme = "README.md"
|
|
7
7
|
license = {file = "LICENSE"}
|
|
@@ -20,7 +20,7 @@ dependencies = [
|
|
|
20
20
|
|
|
21
21
|
[project.optional-dependencies]
|
|
22
22
|
mips = [
|
|
23
|
-
"spimdisasm>=1.
|
|
23
|
+
"spimdisasm>=1.36.0,<2.0.0", # This value should be keep in sync with the version listed on disassembler/spimdisasm_disassembler.py
|
|
24
24
|
"rabbitizer>=1.12.0,<2.0.0",
|
|
25
25
|
"pygfxd",
|
|
26
26
|
"n64img>=0.3.3",
|
|
@@ -14,6 +14,9 @@ from . import options, log
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
def write_all_files():
|
|
17
|
+
if not options.opts.generate_asm_macros_files:
|
|
18
|
+
return
|
|
19
|
+
|
|
17
20
|
write_include_asm_h()
|
|
18
21
|
write_assembly_inc_files()
|
|
19
22
|
|
|
@@ -122,20 +125,26 @@ def write_assembly_inc_files():
|
|
|
122
125
|
options.opts.asm_jtbl_label_macro != ""
|
|
123
126
|
and options.opts.asm_jtbl_label_macro != options.opts.asm_function_macro
|
|
124
127
|
):
|
|
125
|
-
|
|
128
|
+
jlabel_macro_macroinc = f"""
|
|
126
129
|
# A label referenced by a jumptable.
|
|
127
130
|
.macro {options.opts.asm_jtbl_label_macro} label, visibility=global
|
|
131
|
+
.\\visibility \\label
|
|
128
132
|
\\label:
|
|
129
133
|
.endm
|
|
130
134
|
"""
|
|
131
|
-
|
|
135
|
+
if options.opts.migrate_rodata_to_functions:
|
|
136
|
+
jlabel_macro_labelsinc = f"""
|
|
132
137
|
# A label referenced by a jumptable.
|
|
133
|
-
.macro {options.opts.asm_jtbl_label_macro} label, visibility=
|
|
138
|
+
.macro {options.opts.asm_jtbl_label_macro} label, visibility=local
|
|
134
139
|
.\\visibility \\label
|
|
135
|
-
.type \\label, @function
|
|
136
140
|
\\label:
|
|
137
141
|
.endm
|
|
138
142
|
"""
|
|
143
|
+
else:
|
|
144
|
+
# If the user doesn't migrate rodata, like jumptables, to functions
|
|
145
|
+
# then the user will need jlabels to be global instead of local,
|
|
146
|
+
# so we just reuse the definition from macro.inc
|
|
147
|
+
jlabel_macro_labelsinc = jlabel_macro_macroinc
|
|
139
148
|
|
|
140
149
|
data_macros = ""
|
|
141
150
|
if (
|
|
@@ -170,12 +179,6 @@ def write_assembly_inc_files():
|
|
|
170
179
|
.endm
|
|
171
180
|
"""
|
|
172
181
|
|
|
173
|
-
labels_inc = f"""\
|
|
174
|
-
{func_macros}
|
|
175
|
-
{jlabel_macro_labelsinc}
|
|
176
|
-
{data_macros}
|
|
177
|
-
{nm_macros}\
|
|
178
|
-
"""
|
|
179
182
|
macros_inc = f"""\
|
|
180
183
|
{func_macros}
|
|
181
184
|
{jlabel_macro_macroinc}
|
|
@@ -186,7 +189,18 @@ def write_assembly_inc_files():
|
|
|
186
189
|
if options.opts.compiler.uses_include_asm:
|
|
187
190
|
# File used by original assembler
|
|
188
191
|
preamble = "# This file is used by the original compiler/assembler.\n# Defines the expected assembly macros.\n"
|
|
189
|
-
|
|
192
|
+
|
|
193
|
+
if options.opts.platform == "psx":
|
|
194
|
+
preamble += '\n.include "gte_macros.inc"\n'
|
|
195
|
+
|
|
196
|
+
labels_inc = f"""\
|
|
197
|
+
{preamble}
|
|
198
|
+
{func_macros}
|
|
199
|
+
{jlabel_macro_labelsinc}
|
|
200
|
+
{data_macros}
|
|
201
|
+
{nm_macros}\
|
|
202
|
+
"""
|
|
203
|
+
_write("include/labels.inc", labels_inc)
|
|
190
204
|
|
|
191
205
|
if options.opts.platform in {"n64", "psx"}:
|
|
192
206
|
gas = macros_inc
|
|
@@ -275,7 +289,7 @@ def write_assembly_inc_files():
|
|
|
275
289
|
.set $fs5f, $f31
|
|
276
290
|
"""
|
|
277
291
|
elif options.opts.platform == "psx":
|
|
278
|
-
gas += '\
|
|
292
|
+
gas += '\n.include "gte_macros.inc"\n'
|
|
279
293
|
write_gte_macros()
|
|
280
294
|
|
|
281
295
|
if options.opts.generated_macro_inc_content is not None:
|
|
@@ -285,6 +299,15 @@ def write_assembly_inc_files():
|
|
|
285
299
|
preamble = (
|
|
286
300
|
"# This file is used by modern gas.\n# Defines the expected assembly macros\n"
|
|
287
301
|
)
|
|
302
|
+
gas = f"""\
|
|
303
|
+
# Evaluate this file only once in case it's included more than once
|
|
304
|
+
.ifndef _MACRO_INC_GUARD
|
|
305
|
+
.internal _MACRO_INC_GUARD
|
|
306
|
+
.set _MACRO_INC_GUARD, 1
|
|
307
|
+
|
|
308
|
+
{gas}
|
|
309
|
+
.endif
|
|
310
|
+
"""
|
|
288
311
|
_write("include/macro.inc", f"{preamble}\n{gas}")
|
|
289
312
|
|
|
290
313
|
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# This file is used by modern gas.
|
|
2
2
|
# Defines the expected assembly macros
|
|
3
3
|
|
|
4
|
+
# Evaluate this file only once in case it's included more than once
|
|
5
|
+
.ifndef _MACRO_INC_GUARD
|
|
6
|
+
.internal _MACRO_INC_GUARD
|
|
7
|
+
.set _MACRO_INC_GUARD, 1
|
|
8
|
+
|
|
4
9
|
# A function symbol.
|
|
5
10
|
.macro glabel label, visibility=global
|
|
6
11
|
.\visibility \label
|
|
@@ -33,7 +38,6 @@
|
|
|
33
38
|
# A label referenced by a jumptable.
|
|
34
39
|
.macro jlabel label, visibility=global
|
|
35
40
|
.\visibility \label
|
|
36
|
-
.type \label, @function
|
|
37
41
|
\label:
|
|
38
42
|
.endm
|
|
39
43
|
|
|
@@ -128,3 +132,5 @@
|
|
|
128
132
|
.set $fs4f, $f29
|
|
129
133
|
.set $fs5, $f30
|
|
130
134
|
.set $fs5f, $f31
|
|
135
|
+
|
|
136
|
+
.endif
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/nonmatchings/main/D_80000510.s
RENAMED
|
File without changes
|
{splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/nonmatchings/main/func_80000400.s
RENAMED
|
File without changes
|
{splat64-0.35.0 → splat64-0.35.2}/test/basic_app/expected/asm/nonmatchings/main/func_800004A0.s
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|