Commit graph

19 commits

Author SHA1 Message Date
Dean
59b38e6efa
Add /*<type>*/ comments everywhere (#2986)
Adds /*<type>*/ comments and a linter check from rz-bindgen to enforce
their existence and consistency

Also includes the following fixes made when adding the annotations:
* removed unused intern_table arguments in pyc_dis.c, pyc_dis.h, asm_pyc.c
* removed unused classes argument from place_nodes in agraph.c
* removed unused recurse and recurse_bb functions in canalysis.c
* removed unused vars field from RzPrint struct
* removed unused RzAnalysisType* structs from rz_analysis.h
* removed unused list field from RzEgg struct
* fixed bug in bp_plugin.c where duplication-checking logic iterates over the wrong list
* removed unused q_regs field from RzDebug struct
* removed unused backtrace field from RzDebugPlugin struct
* removed unused classes_list field from RzBinNXOObj struct
* removed unused methods_list and classes_list fields from RzBinZimgObj struct
2022-09-11 13:04:53 +08:00
GustavoLCR
125b89ab2f Syscall: Fix loading sysreg in rz_syscall_setup
* Remove unnecessary call to `rz_sysreg_set_arch` from the `asm.arch`
  callback
2022-06-19 17:29:42 +08:00
Paul I
5b11e88736
Fix several memleaks (#2143) 2021-12-27 18:19:34 +01:00
Riccardo Schirone
64469f2811
Changes in how paths are handled (#1997)
* Remove `RIZIN_EXTRAS` because useless

Extras plugin should be treated as any other regular plugin, they should
not have their own directory. I believe we did not have anyway any
plugin using that directory.

* Do not use `<version>` in `/usr/share`

Users can only install one version of Rizin at a time anyway, thus
splitting the `/usr/share/rizin` directories does not really bring
multi-version install possible. At the same time, we stick to what's
common for other tools, which do not use version in `/usr/share`

* Move plugin directory to `/usr/lib64/rizin/plugins`
* Remove `RZ_HOME_BIN` env var because not useful anymore
* Introduce `rz_util/rz_path` to provide rizin paths
* Use `rz_path_system_sdb_types` whenever it makes sense
* Use some others `rz_path_*` functions instead of custom ones
* Use `rz_path` APIs for themes, fortunes and signatures
* Remove `rz_sys_prefix`
* Reduce the number of defines needed to handle home and system paths
* Reduce the number of `rz_path` functions
* Make the lib debug depending on log level and `RZ_LOG_DEBUG`
* Refactor a bit how directory of plugins are loaded
* Keep supporting old plugins directory for at least 0.4.0
2021-11-30 13:36:38 +08:00
Anton Kochkov
91ef6da7ad
Various memleak fixes (#1893)
* Fix CID 361180
* Fix CID 359879
* Fix CID 358574
* Fix CID 358570
* Fix CID 358569
* Fix CID 358559
* Fix CID 354016
* Fix CID 352581
* Fix CID 352498
* Fix CID 352484
* Fix CID 352451
* Fix CID 348953
* Fix CID 348937
* Fix CID 348935
* Fix CID 344518
* Fix CID 316930

Co-authored-by: Riccardo Schirone <ret2libc@users.noreply.github.com>
2021-10-27 16:32:45 +08:00
Aswin C
dafa52b48b
RzArch: Fix clang-ci and Coverity warnings (#1302) 2021-07-13 10:15:11 +02:00
Giovanni
4e3bbf1d9d
Fix compiler warnings gnu/arc*.c syscall.c print.c debug_gdb.c (#1227)
* Fixed memory leak in rz_syscall

* Fixed warning of null format on sprintf

* Fixed warning of null fmt on printf

* fixed array subscript 5 is above array bounds of ‘char[5]’
2021-06-20 21:49:08 +08:00
Aswin C
873ac64247
Refactor rz_arch_profile_add_flag_every_io to not let it depend on RzCore (#1215)
* Refactor `rz_arch_profile_add_flag_every_io` to not let it depend on `RzCore`
* Remove the definition of `RzCore` from  `rz.arch.h`
* Fix Coverity scan errors
* Resource leak (overwriting) in L169 of `cpu_name`
	- Fixed by defining it inside the loop
* Check for `NULL` for `cpu_name`
* Check for `NULL` for asmcpu in cconfig
* Fix overwriting by freeing `path` before assigning again
* Cast `RzFlag` while parsing the hashtables
* Move the `arch`'s check for `NULL` to the beginning of the function
* Rename the APIs which load the SDBs for RzSysregsDB and RzArchTarget
* Use `RZ_SYS_DIR` for creating the path in `rz_arch_profiles_init`
2021-06-16 10:22:46 +02:00
Aswin C
c7ae12e654
Introduce RzArchProfile and add support for CPU profiles (#1193)
* Introduce `RzArchProfile` and add the CPU profiles
* Create `rz_arch.h` and `arch_profile.c`
* Add the CPU Profile's SDB files
* Add the `meson.build` for compiling SDB files
* Add the hashtables and the flagspaces
* Add a test and compare the `type` in `rz_sysreg_get`
* Update the list of AVR CPUs in `asm_avr`
* Run clang-format and include rz_arch.h in rz_analysis.h
* Fix the install directory of the compiled SDB files
* Introduce `RzArchTarget` which houses `RzArchProfile`
* Support for loading a new profile when `asm.cpu` is changed
* Change the variables names to lowercase and add tests
* Add a test for loading a new CPU profile when CPU is changed
* Add Doxygen documentation, run `clang-format` and correct the requested changes
* Remove unnecessary zero-initializations and other improvements
* Reversed a condition while creating the path in `rz_arch_profiles_init`
* Fixed four tests: three regarding printing the flagspaces and one from printing flags after analysis in AVR
* Free the required pointers and check for `NULL`
* Free the pointers that was allocated previously, before returning `NULL`
* Free the pointer in `rz_sysregs_db_new`
* Support for adding a fallback profile for unsupported CPUs
2021-06-11 20:29:12 +08:00
Aswin C
92b5783fa1
Deprecate RzSyscallPort and move the existing sysregs to SDB (#1160) 2021-06-02 02:01:51 +08:00
Khairul Azhar Kasmiran
d658843a0c
Update syscall sdb namespace on asm.arch/bits/os change (#867) 2021-03-21 10:10:01 +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
Riccardo Schirone
53b4537160 Introduce portable build option to use relative paths
`portable` makes rizin use paths relative to the executable binary path,
so that all resource files (e.g. SDB files) can be retrieved without
having an hard-coded prefix in the binary. By doing so, rizin
installation directory can be moved from location to location and still
work. This is useful when having a static rizin that you want to execute
on another system.

It makes sure that all PATHs defined in rz_userconf.h are just relative
to the prefix and that, in the code, the prefix is prepended to all
these paths.
2021-02-25 19:41:38 +08:00
Khairul Azhar Kasmiran
e5a2f129f5
syscall.c: Redo openDatabase and rename it to load_sdb (#532)
* syscall.c: Redo openDatabase and rename it to load_sdb
* Add fix for FreeBSD
2021-02-07 12:44:22 +08:00
Anton Kochkov
a0be4e2e64 Run clang-format 2021-01-21 22:05:44 +08:00
Khairul Azhar Kasmiran
ea73a9c2fa
Clear syscall and sysregs sdbs if their files are not found (#379)
* Clear syscall and sysregs sdbs if their files are not found
* "Fix" cmd_k tests

Co-authored-by: Riccardo Schirone <ret2libc@users.noreply.github.com>
2021-01-18 17:09:47 +08:00
Florian Märkl
6572b63794
Use Standard SPDX Header Comments (#51) 2020-10-27 09:04:11 +01: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
Riccardo Schirone
721609a17b
Rename to rizin (#2) 2020-10-01 16:13:03 +02:00
Renamed from libr/syscall/syscall.c (Browse further)