Fix linting on changelog.md

This commit is contained in:
angie 2023-09-22 15:01:26 -03:00
parent 11b079b601
commit b2da8e3ed5
2 changed files with 86 additions and 36 deletions

14
.markdownlint.jsonc Normal file
View File

@ -0,0 +1,14 @@
{
// https://github.com/DavidAnson/markdownlint/blob/main/doc/md024.md
// MD024 - Multiple headings with the same content
"MD024": {
"siblings_only": true
},
// https://github.com/DavidAnson/markdownlint/blob/main/doc/md013.md
// MD013 - Line length
"MD013": {
"code_block_line_length": 120,
"headings": false
}
}

View File

@ -1,3 +1,10 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.7.9] - 2023-09-18
@ -5,17 +12,18 @@
### Uncategorized
- Don't attempt disassembling R5900's `vclipw` / `vsqrt` in gnu mode (#44)
- Thanks @ethteck
- Thanks @ethteck
## [1.7.8] - 2023-09-13
### Uncategorized
- Consider `syscall` as an instruction that isn't emitted by compilers
- Fix size calculation required for the buffer of the disassembled instruction for a few edge cases
- Fix size calculation required for the buffer of the disassembled instruction
for a few edge cases
- Properly implement r5900's `vcallms` operands
- Add `$` to special PS2 regs (#41)
- Thanks @ethteck
- Thanks @ethteck
- The `treatJAsUnconditionalBranch` option is no longer deprecated
## [1.7.7] - 2023-08-27
@ -35,8 +43,11 @@
### Uncategorized
- Fix bug where the buffer size for a decoded instruction would be computed wrongly if the passed `extraLJust` parameter plus the global `opcodeLJust` option resulted in a negative value.
- Catch more errors and raise Python exceptions on them in the instruction disassembly binding
- Fix bug where the buffer size for a decoded instruction would be computed
wrongly if the passed `extraLJust` parameter plus the global `opcodeLJust`
option resulted in a negative value.
- Catch more errors and raise Python exceptions on them in the instruction
disassembly binding
## [1.7.4] - 2023-06-13
@ -45,7 +56,9 @@
- Fix R5900 vf registers not using the `$vf` prefix in numeric register mode.
Misc:
- Provide macros to allow using gte instructions in both assembly and C. Those are provided under the `docs` folder of the repository
- Provide macros to allow using gte instructions in both assembly and C. Those
are provided under the `docs` folder of the repository
## [1.7.3] - 2023-06-10
@ -74,9 +87,10 @@ General cleanups in the codebase. Not actual features or fixes were made
### Uncategorized
- Support for R3000 GTE instructions (a.k.a. the PS1 specific instructions)
- PR #31
- PR #31
Meta:
- Add CI for checking the repo is always formatted
- Add CI for checking the tables have been regenerated
- Only run the CI that builds the python bindings for every machine on new releases.
@ -87,30 +101,37 @@ Meta:
### Uncategorized
- Fix `getInstrIndexAsVram` taking the upper 8 bits instead of 4 bits for the vram calculation
- Fix `getInstrIndexAsVram` taking the upper 8 bits instead of 4 bits for the
vram calculation
## [1.6.1] - 2023-04-18
### Uncategorized
- Fix `Instruction`'s `vram` parameter not initialized if it was not passed to the constructor on the Python binding.
- Fix `Instruction`'s `vram` parameter not initialized if it was not passed to
the constructor on the Python binding.
- Expose `fs`, `ft` and `fd` registers to Python bindings.
- Add enums for `RegCop1O32`, `RegCop1N32` and `RegCop1N64` registers for Python bindings
- Add enums for `RegCop1O32`, `RegCop1N32` and `RegCop1N64` registers for
Python bindings
## [1.6.0] - 2023-04-17
### Uncategorized
- Adds `gnuMode` to the configuration.
- Toggles various tweaks to allow building and matching with GNU `as`, which original compiler will not like.
- Toggles various tweaks to allow building and matching with GNU `as`, which
original compiler will not like.
- Enabled by default.
- Turning this mode off makes the `div $0, ` pseudo instruction to not be used
- Removed special treatment for R5900's `trunc.w.s`.
- Turning this mode off makes the `div $0,` pseudo instruction to not be used
- Removed special treatment for R5900's `trunc.w.s`.
- `cvt.w.s` and `trunc.w.s` will be decoded as-is when `gnuMode` is turned off.
- If `gnuMode` is turned on this instruction those two instructions are decoded as `.word`s
- R5900's special operands `I`, `Q`, `R` and `ACC` will not longer be decoded with a `$` prefix
- If `gnuMode` is turned on this instruction those two instructions are
decoded as `.word`s
- R5900's special operands `I`, `Q`, `R` and `ACC` will not longer be decoded
with a `$` prefix
Repo-meta changes
- All autogenerated files are added the `linguist-generated` attribute.
## [1.5.11] - 2023-04-02
@ -143,7 +164,6 @@ Repo-meta changes
- New `modifiesF*` and `readsF*`properties in the InstructionDescriptor
- Column limit for C files has been changed to 120
## [1.5.7] - 2022-12-20
### Uncategorized
@ -156,7 +176,8 @@ Repo-meta changes
- Introduce `RegisterDescriptor`
- Fix some typos in Rust bindings
- `jalr_rd` has been removed. Its old conditional behavior is now handled with the new `cpu_maybe_rd_rs` operand
- `jalr_rd` has been removed. Its old conditional behavior is now handled with
the new `cpu_maybe_rd_rs` operand
- `outputsToGprZero` method
## [1.5.5] - 2022-12-19
@ -198,19 +219,24 @@ Attempt to fix Rust crate publishing
### Uncategorized
- Adds Rust bindings
- The table-macro-hell has been changed a little to include pre-processed versions of all the tables in the repository. This change should be more friendly to IDEs
- The table-macro-hell has been changed a little to include pre-processed
versions of all the tables in the repository. This change should be more
friendly to IDEs
## [1.4.0] - 2022-12-16
### Uncategorized
- 3 non-existent RSP instructions where removed (`rsp_cache`, `rsp_lwc1` and `rsp_swc1`)
- New methods to know if an instruction reads the value of a GPR: `.readsRs`, `.readsRd` and `.readsRt`
- 3 non-existent RSP instructions where removed (`rsp_cache`, `rsp_lwc1` and
`rsp_swc1`)
- New methods to know if an instruction reads the value of a GPR: `.readsRs`,
`.readsRd` and `.readsRt`
- Many descriptor information where corrected
- Deprecate `isJrRa()`, prefer new `isReturn()` method
- Deprecate `isJrNotRa()`, prefer new `isJumptableJump()` method
Meta:
- Remove `setup.cfg` and move all the info to `pyproject.toml`
- Descriptor logic errors are now checked in CI
@ -225,7 +251,7 @@ Meta:
### Uncategorized
- Fixed RSP using CPU cop0 .inc file instead of RSP cop0 and cop2 files #13
- Fixed RSP using CPU cop0 .inc file instead of RSP cop0 and cop2 files #13
- Thanks to @Mr-Wiseguy
- Check for `_INVALID` unique ids in `isValid`
@ -244,15 +270,19 @@ Removes signedness from `AccessType`
- Fix buffer size calculation for disassembly
- Deprecated functions/methods:
- `Instruction#getImmediate()`: Use `Instruction#getProcessedImmediate()` instead
- `Instruction#getGenericBranchOffset()`: Use `Instruction#getBranchOffsetGeneric()` instead
- `Instruction#getGenericBranchOffset()`: Use
`Instruction#getBranchOffsetGeneric()` instead
- `Instruction#mapInstrToType()`: Use `Instruction#getAccessType()` instead
- `Instruction#isUnknownType()`
- `Instruction#isJType()`: Use `Instruction#isJumpWithAddress()` instead
- `Instruction#isIType()`: Use `Instruction#hasOperandAlias(OperandType.cpu_immediate)` instead
- `Instruction#isIType()`: Use
`Instruction#hasOperandAlias(OperandType.cpu_immediate)` instead
- `Instruction#isRType()`
- `Instruction#isRegimmType()`
- New functions/methods:
- `Instruction#getBranchOffsetGeneric()`: Like `Instruction#getGenericBranchOffset()`, but does not require the `currentVram` parameter
- `Instruction#getBranchOffsetGeneric()`: Like
`Instruction#getGenericBranchOffset()`, but does not require the
`currentVram` parameter
- `Instruction#getBranchVramGeneric()`
- `Instruction#getDestinationGpr()`
- `Instruction#hasOperandAlias()`
@ -264,7 +294,7 @@ Removes signedness from `AccessType`
- `Instruction#getAccessType()`
- `InstrCategory#fromStr()`
- New enums:
- `OperandType`
- `OperandType`
- `AccessType`
## [1.2.2] - 2022-10-09
@ -274,7 +304,8 @@ Removes signedness from `AccessType`
### Uncategorized
- Add `bal` support
- Use special notation for branches which should produce matching instructions even when no `immOverride` was passed
- Use special notation for branches which should produce matching instructions
even when no `immOverride` was passed
- Escape `\` -> `\\`
- Add `extern "C"` in every header
@ -296,9 +327,10 @@ Removes signedness from `AccessType`
### Uncategorized
- New methods in `RegistersTracker` to support tracking `%got` accesses
- `processGpLoad`, which works similar to `processLui`
- `processGpLoad`, which works similar to `processLui`
- `preprocessLoAndGetInfo`, which replaces the now deprecated `getLuiOffsetForLo`
- Move operand types to the table format. Operands were also renamed to a more concise name.
- Move operand types to the table format. Operands were also renamed to a more
concise name.
- Fix the wrong returned value on `Utils.From2Complement` when `bits` equals 32.
## [1.1.0] - 2022-08-27
@ -324,18 +356,24 @@ Removes signedness from `AccessType`
### Uncategorized
- New classes:
- `RegistersTracker`: Intended to facilitate tracking the state of the general purpose registers.
- `RegistersTracker`: Intended to facilitate tracking the state of the general
purpose registers.
- New enums:
- `RegGprO32` and ``RegGprN32``
- `RegGprO32` and `RegGprN32`
- New configurations:
- `misc_omit0XOnSmallImm`: If `True` then the leading `0x` of immediates in the [-9, 9] range is omitted. Defaults to `False`.
- `misc_upperCaseImm`: If `True` then immediates are outputted in uppercase. Defaults to `True`.
- `misc_omit0XOnSmallImm`: If `True` then the leading `0x` of immediates in
the [-9, 9] range is omitted. Defaults to `False`.
- `misc_upperCaseImm`: If `True` then immediates are outputted in uppercase.
Defaults to `True`.
- `Instruction` changes:
- Constructor can accept `vram` and `category` parameters.
- `isHiPair` renamed to `canBeHi`.
- `isLoPair` renamed to `canBeLo`.
- Added `doesLoad`, `doesStore`, `maybeIsMove`, `isPseudo` and `architectureVersion` to `InstrDescriptor`.
- Python API: `Instruction#rs`, `Instruction#rt` and ``Instruction#rd` now return an enum gpr type and will raise an exception if the instruction does not reference the corresponding register.
- Added `doesLoad`, `doesStore`, `maybeIsMove`, `isPseudo` and
`architectureVersion` to `InstrDescriptor`.
- Python API: `Instruction#rs`, `Instruction#rt` and ``Instruction#rd` now
return an enum gpr type and will raise an exception if the instruction does
not reference the corresponding register.
- New methods: `getOpcodeName`, `getProcessedImmediate`, `hasDelaySlot` and `isValid`.
- Added `__reduce__` method to allow pickling the object.
- Many code cleanups
@ -344,8 +382,6 @@ Removes signedness from `AccessType`
### Uncategorized
[unreleased]: https://github.com/Decompollaborate/rabbitizer/compare/master...develop
[1.7.9]: https://github.com/Decompollaborate/rabbitizer/compare/1.7.8...1.7.9
[1.7.8]: https://github.com/Decompollaborate/rabbitizer/compare/1.7.7...1.7.8