Commit graph

762 commits

Author SHA1 Message Date
Riccardo Schirone
9c05850d85 Fix python linter 2021-08-30 17:31:09 +02:00
Anton Kochkov
3c59df7e98
Refactor RzTypes to use structs instead of SDB + New Tree-Sitter based C Parser (#1047)
- Removed oldshell version of `t` (types) commands
- Removed `tk` command because types storage switched to the hashtable
- Added `tfc` command to show the calling convention of the function or set it
- Added `tsl` (RZ_OUTPUT_MODE_LONG) to show structure members' sizes and offsets
- Added `tul` (RZ_OUTPUT_MODE_LONG) to show union members' sizes
- Switched the types storage to the hashtable instead of SDB
- Added load and export from/to SDB for standard type libraries and serialization for Projects
- Changed all `char *type` occurences to the proper `RzType`
- Added `RzCallable` type for the function/class method types
- Changed all function types API to use the `RzCallable` API
- Switched the function types (`RzCallable`) storage to the hashtable instead of SDB
- Added a connection between `RzAnalysisFunction` and `RzCallable` - `rz_analysis_function_derive_type()` API function to derive new `RzCallable` type from the `RzAnalysisFunction` even if it doesn't exist in the RzTypeDB.
- Moved type links to the RzAnalysis where they belong
- Removed TCC and MPC-based parsers
- Added Tree-Sitter-based parser for C grammar (see `librz/type/parser/*`)
- Reworked type databases in `librz/analysis/d/` to be consistent with C standard, libc, platform-specific definitions
- Switched the type links from `char *` to `RzType`
- Switched the type links from SDB to the hashtable
- Added concept of the "type paths", e.g. `a.b[20].c` where `b` is a member of `a` (`a` is either structure or a union) and `c` is a member of `b`, and `b` is an array where we take 20-th element.
- Added concept of the typeclasses (a bit similar to Haskell) for numerical types: `None` (the most generic one), `Num` (includes `Integral` and `Floating`), `Integral` (includes `Signed Integral` and `Unsigned Integral`), `Floating`.
- Added concept of type equality (`rz_types_equal(a, b)` API function)
- Added Doxygen documentation to every API function in the `librz/type/*`.
- Updated the project format from **V2** to **V3**, added migration.
2021-07-20 01:46:45 +08:00
Riccardo Schirone
d6319c0d2c
Few SPDX info addition and REUSE lint to CI (#1274)
* Download missing MS-PL license
* Missing copyrights + some licenses
* Add REUSE linter to CI
* Python linter fixes on cmd_descs_generate.py
* Remove unused MPL-1.1 license
* Use with in check_meson_subproject.py script
2021-07-07 16:09:57 +08:00
JunWei Song
ba1dd1c5ed
Using with for resource-allocating operations ##refactor 2021-06-28 17:24:39 +08:00
Riccardo Schirone
f4304f17f4
Update rizin-shell-parser to tree-sitter 0.19.4 (#928) 2021-03-29 19:14:16 +02:00
Anton Kochkov
b633341344 Remove sdb_version.py as unused 2021-03-29 15:39:31 +08:00
Florian Märkl
820615969a
Make clang-format.py call clang-format just once (#801) 2021-03-09 23:31:58 +08:00
Riccardo Schirone
53bf5c497f SPDX Copyright text for all files based on history
- Add LICENSES directory
- Download additional licenses used
- Add .reuse directory
- Add doc about SPDX/reuse

Co-authored-by: Florian Märkl <info@florianmaerkl.de>
2021-03-05 19:39:15 +08:00
Alexis Ehret
c21a0a624d Fix pylint errors sys/meson_git_wrapper.py 2021-02-15 10:24:46 +01:00
Alexis Ehret
8eae11ae4e Fix coding style python files (black, isort) 2021-02-15 10:24:46 +01:00
Riccardo Schirone
bac12fddc4 Improve sys/check_meson_subproject script
Check that local files for wrap-file and wrap-git are up-to-date with
the versions in subproject/package-files
2021-02-12 11:08:51 +08:00
Alexis Ehret
34f06489d3 Add short flags sys/clang-format.py 2021-02-08 21:44:10 +01:00
Alexis Ehret
49e1874b09 Add flag diff sys/clang-format.py 2021-02-08 21:44:10 +01:00
wargio
a7490e65a7 added -f/--file to clang format for simpler run. 2021-02-08 01:53:32 +01:00
Alexis Ehret
1e7604f325 Add check option to sys/clang-format.py 2021-02-04 07:19:19 -01:00
Riccardo Schirone
f8291ee3c1
Switch to meson subprojects and wraps
* Remove tree-sitter/sdb git submodules and move them to meson subprojects/wraps
* Use meson subprojects/wraps to get capstone
* Remove capstone patches as they are already applied to rizinorg/capstone repository
* Use meson from master branch to create the release tarball, as all released versions so far have a bug that prevent wrap-git to be patched correctly when creating the tarball with meson dist
* Add check_meson_subproject script to do a quick check if the currently downloaded subprojects are updated
* Add subprojects_check meson option to skip the check_meson_subproject script
* Update documentation to remove references to git submodules.
2021-02-03 14:31:11 +01:00
Riccardo Schirone
4198091991 Remove configure.acr and use meson project version 2021-01-28 11:57:28 +01:00
Riccardo Schirone
cee8d470c2 Remove Makefiles and many related scripts 2021-01-28 11:57:28 +01:00
Riccardo Schirone
018c0eaa53
Change how version is reported in -v command flag 2021-01-27 16:42:47 +08:00
Khairul Azhar Kasmiran
687885b6af
Remove sys/clang-format-diff.py (#442)
* Remove sys/clang-format-diff.py

* Update DEVELOPERS.md
2021-01-24 12:27:18 +08:00
Khairul Azhar Kasmiran
8146b73e95
Merge pull request #422 from rizinorg/shorter-clang-format-diff-invocation
clang-format-diff.py invocation: Change master to dev and remove unneeded my-branch
2021-01-22 18:23:24 +08:00
Maijin
48c153ef7f Remove obsolete indent scripts 2021-01-21 16:39:57 +01:00
Anton Kochkov
5830f1cd7e Add clang-format script 2021-01-21 22:05:44 +08:00
Riccardo Schirone
6f41360178
MacOS improvements (#322)
* Ad-hoc sign rizin binary with debugger entitlements on MacOS
* Use re.rizin.rizin and move OSX pkg files in dist/osx
* Use dist/osx/build_osx_package.sh to create OSX pkg with meson
* Mention how to create OSX pkg in doc/PACKAGERS.md
* Remove doc/macos.md
2021-01-11 14:45:38 +01:00
Paul I
b80757382c
Delete create_rz.bat (#331) 2021-01-07 17:15:21 +08:00
Anton Kochkov
e9d91af698 More Rizin renames 2021-01-05 05:21:41 -06:00
Anton Kochkov
f0e5db286c More Rizin renames 2021-01-05 00:45:10 -06:00
Maijin
2886a6f835
Remove unused callback.c (#261)
* Remove unused callback.c
* Remove missing entry from indent-whitelist.sh
* Remove callback.o

Co-authored-by: Maijin <maijin21@gmail.com>
Co-authored-by: Giovanni <561184+wargio@users.noreply.github.com>
2020-12-28 13:19:22 +08:00
Maijin
f61569b8d8
Remove purge.sh (#181)
* Remove purge.sh

* Update Makefile
2020-12-14 16:14:58 +01:00
Anton Kochkov
041d73dce3
Change the "anal" abbreviation to "Analysis" in Code (#117) 2020-12-06 19:25:27 +01:00
Giovanni
35a9ef94c9
Code and comments cleanup (#108) 2020-12-04 18:11:51 +08:00
Riccardo Schirone
7912502149
Fix compilation when python is run through meson runpython (#111)
Multiline scripts had issues on my windows system while building
from `cmd`. I removed some "pre_sdb" scripts used to read symlinks
because there are only two and it's probably easier to just avoid
symlinks for better portability.

Also moved a bunch of inlined script to separate files in sys/.
2020-12-01 09:17:24 +01:00
Anton Kochkov
b5524025c2 Remove sys/meson.py 2020-11-10 12:24:41 +08:00
Anton Kochkov
e1d83487a6 More renames of r2 to rizin 2020-11-10 12:24:41 +08:00
Anton Kochkov
afc45bec46 Rename r2 to rizin 2020-11-06 12:21:54 +08:00
Anton Kochkov
539f60a1a8
Rename radare to rizin (#68)
* Rename radare to rizin

- Rename REvent to RzEvent
- Rename RBreakpoint to RzBreakpoint
- Rename RRune to RzRune

* Remove unnecessary files
2020-11-04 18:56:27 +08:00
Riccardo Schirone
22239a1bfc
Delete some unneded documentation (#59)
* Adjust doxygen documentation on rz_cmd
2020-10-30 16:06:38 +01:00
Hex
afb8b7bd1f Add cfg.json.* encoding options (#17681) ##json 2020-10-30 10:44:38 +01:00
pancake
c46727c762 Fixes and improvements for the Debian packaging scripts ##build (#17825) 2020-10-30 10:44:38 +01:00
Anton Kochkov
1ef15faaee Rename R2DEPS to RZ_DEPS 2020-10-23 15:19:22 +08:00
Anton Kochkov
7416ad9718
Remove outdated and unused files (#35)
* Remove outdated and unused files

* fix
2020-10-20 13:31:39 +02:00
Riccardo Schirone
502e91aff7
Rename R_ and R2_ to RZ_ (#8)
* Rename R2_ -> RZ_
* Rename R_ -> RZ_
* Rename R2R_ -> RZ_TEST_
* Rename R2R defines and types to RZ_TEST/RzTest
* Keep R_ for REIL registers
2020-10-02 16:09:13 +02:00
Anton Kochkov
881058693d
Remove GRUB and librz_fs plugins (#9) 2020-10-02 21:02:00 +08:00
Riccardo Schirone
338e6fe172 Other renames in man and small places
Remove rz link, just keep rizin

Remove r2 link from acr

Fix http test on macos
2020-10-01 17:53:29 +02:00
Riccardo Schirone
721609a17b
Rename to rizin (#2) 2020-10-01 16:13:03 +02:00
GustavoLCR
489538e02b
Add DbgEng based debug backend for Windows ##debug (#17491)
* Rename `windbg` plugin to `winkd` ##debug
* Add DbgEng based debug backend for Windows ##debug
2020-08-24 19:01:10 +08:00
Christopher Hewitt
5f0be49fd1
meson install: Add DESTDIR to sys/create_r2.sh to allow specifying custom install directory (#17490)
* meson install: Add DESTDIR to allow specifying custom install directory
* Drop DESTDIR support on Windows

Co-authored-by: Khairul Azhar Kasmiran <kazarmy@gmail.com>
2020-08-19 19:58:58 +08:00
Khairul Azhar Kasmiran
fb1190d248
meson install: Create shortcut/symlink to radare2 (#17463) 2020-08-18 18:22:17 +08:00
Anton Kochkov
e3504eb0d9
Some DragonFlyBSD build fixes ##port (#17470) 2020-08-17 12:43:10 +08:00
pancake
91f7e91177
Fix sys/sdk.sh after the sdb refactoring (#17452)
Co-authored-by: pancake <pancake@nopcode.org>
2020-08-14 13:19:10 +08:00