Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HPPA (PARISC) Linux support #1927

Open
2 tasks
XVilka opened this issue Nov 2, 2021 · 0 comments
Open
2 tasks

HPPA (PARISC) Linux support #1927

XVilka opened this issue Nov 2, 2021 · 0 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed Linux RzDebug RzUtil

Comments

@XVilka
Copy link
Member

XVilka commented Nov 2, 2021

  • Native debugger support
  • GDB remote connection support (e.g. to QEMU gdbserver)
[116/1726] Compiling C object librz/util/librz_util.so.0.4.0-git.p/file.c.o
../librz/util/file.c: In function ‘file_mmap’:
../librz/util/file.c:918:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  918 |                 m->buf = mmap((void *)m->base,
      |                               ^
rizin@rizin:~/rizin/rizin$ uname -a
Linux rizin 5.14.0-3-parisc #2 SMP Debian 5.14.12-1 (2021-10-16) parisc GNU/Linux
rizin@rizin:~/rizin/rizin$ ninja -C build
ninja: Entering directory `build'
[438/1578] Compiling C object subproje...-c/libtree-sitter-c.a.p/src_parser.c.o
In file included from ../subprojects/tree-sitter-c/src/parser.c:1:
../subprojects/tree-sitter-c/src/parser.c: In function ‘ts_lex_keywords’:
../subprojects/tree-sitter-c/src/tree_sitter/parser.h:135:8: warning: variable ‘eof’ set but not used [-Wunused-but-set-variable]
  135 |   bool eof = false;             \
      |        ^~~
../subprojects/tree-sitter-c/src/parser.c:4147:3: note: in expansion of macro ‘START_LEXER’
 4147 |   START_LEXER();
      |   ^~~~~~~~~~~
[564/1578] Compiling C object librz/bi...rz_bin.so.0.4.0-git.p/format_le_le.c.o
../librz/bin/format/le/le.c: In function ‘rz_bin_le_get_relocs’:
../librz/bin/format/le/le.c:636:39: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  636 |                         rel->addend = (ut64)rz_list_get_n(entries, ordinal - 1);
      |                                       ^
[570/1578] Compiling C object librz/bi....so.0.4.0-git.p/format_mach0_mach0.c.o
In file included from ../librz/include/rz_types_base.h:148,
                 from ../librz/include/rz_types.h:202,
                 from ../librz/bin/format/mach0/mach0.c:6:
../librz/bin/format/mach0/mach0.c: In function ‘walk_exports’:
../librz/bin/format/mach0/mach0.c:2754:41: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 2754 |                 if (UT64_ADD_OVFCHK(tr, (ut64)trie) || tr + (ut64)trie >= (ut64)end) {
      |                                         ^
../librz/include/rz_types_overflow.h:11:52: note: in definition of macro ‘UT64_ADD_OVFCHK’
   11 | #define UT64_ADD_OVFCHK(x, y) ((UT64_MAX - (x)) < (y))
      |                                                    ^
../librz/bin/format/mach0/mach0.c:2754:61: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 2754 |                 if (UT64_ADD_OVFCHK(tr, (ut64)trie) || tr + (ut64)trie >= (ut64)end) {
      |                                                             ^
../librz/bin/format/mach0/mach0.c:2754:75: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 2754 |                 if (UT64_ADD_OVFCHK(tr, (ut64)trie) || tr + (ut64)trie >= (ut64)end) {
      |                                                                           ^
[572/1578] Compiling C object librz/bi...o.0.4.0-git.p/format_mach0_mach064.c.o
In file included from ../librz/include/rz_types_base.h:148,
                 from ../librz/include/rz_types.h:202,
                 from ../librz/bin/format/mach0/mach0.c:6,
                 from ../librz/bin/format/mach0/mach064.c:5:
../librz/bin/format/mach0/mach0.c: In function ‘walk_exports’:
../librz/bin/format/mach0/mach0.c:2754:41: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 2754 |                 if (UT64_ADD_OVFCHK(tr, (ut64)trie) || tr + (ut64)trie >= (ut64)end) {
      |                                         ^
../librz/include/rz_types_overflow.h:11:52: note: in definition of macro ‘UT64_ADD_OVFCHK’
   11 | #define UT64_ADD_OVFCHK(x, y) ((UT64_MAX - (x)) < (y))
      |                                                    ^
In file included from ../librz/bin/format/mach0/mach064.c:5:
../librz/bin/format/mach0/mach0.c:2754:61: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 2754 |                 if (UT64_ADD_OVFCHK(tr, (ut64)trie) || tr + (ut64)trie >= (ut64)end) {
      |                                                             ^
../librz/bin/format/mach0/mach0.c:2754:75: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 2754 |                 if (UT64_ADD_OVFCHK(tr, (ut64)trie) || tr + (ut64)trie >= (ut64)end) {
      |                                                                           ^
[822/1578] Compiling C object librz/an...ibrz_analysis.so.0.4.0-git.p/block.c.o
../librz/analysis/block.c: In function ‘automerge_predecessor_successor_cb’:
../librz/analysis/block.c:859:63: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  859 |         RzAnalysisBlock *pred = ht_up_find(ctx->predecessors, (ut64)block, &found);
      |                                                               ^
../librz/analysis/block.c:863:57: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  863 |                         ht_up_update(ctx->predecessors, (ut64)block, NULL);
      |                                                         ^
../librz/analysis/block.c:867:49: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  867 |                 ht_up_insert(ctx->predecessors, (ut64)block, ctx->cur_pred);
      |                                                 ^
../librz/analysis/block.c: In function ‘automerge_get_predecessors_cb’:
../librz/analysis/block.c:874:41: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
  874 |         const RzAnalysisFunction *fcn = (const RzAnalysisFunction *)k;
      |                                         ^
../librz/analysis/block.c:879:49: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  879 |                 ht_up_find(ctx->visited_blocks, (ut64)block, &already_visited);
      |                                                 ^
../librz/analysis/block.c:886:51: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  886 |                 ht_up_insert(ctx->visited_blocks, (ut64)block, (void *)ctx->cur_succ_count);
      |                                                   ^
../librz/analysis/block.c: In function ‘rz_analysis_block_automerge’:
../librz/analysis/block.c:914:53: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  914 |                         ht_up_insert(relevant_fcns, (ut64)fcn, NULL);
      |                                                     ^
../librz/analysis/block.c:925:77: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  925 |                 RzAnalysisBlock *predecessor = ht_up_find(ctx.predecessors, (ut64)block, NULL);
      |                                                                             ^
../librz/analysis/block.c:929:82: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  929 |                 size_t pred_succs_count = (size_t)ht_up_find(ctx.visited_blocks, (ut64)predecessor, NULL);
      |                                                                                  ^
../librz/analysis/block.c:941:84: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  941 |                         RzAnalysisBlock *fixup_pred = ht_up_find(ctx.predecessors, (ut64)clock, NULL);
      |                                                                                    ^
../librz/analysis/block.c:952:58: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  952 |                         ht_up_update(ctx.visited_blocks, (ut64)predecessor, (void *)ctx.cur_succ_count);
      |                                                          ^
../librz/analysis/block.c:955:64: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
  955 |                                 ht_up_update(ctx.predecessors, (ut64)clock, predecessor);
      |                                                                ^
[1009/1578] Compiling C object librz/d...ebug.so.0.4.0-git.p/p_debug_native.c.o
../librz/debug/p/debug_native.c: In function ‘rz_debug_native_bp’:
../librz/debug/p/debug_native.c:1427:18: warning: unused variable ‘dbg’ [-Wunused-variable]
 1427 |         RzDebug *dbg = bp->user;
      |                  ^~~
./librz/debug/p/debug_native.c:1520:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 1520 |                 num, (void *)addr, size, io_perms_to_prot(perms));
      |                      ^
../librz/debug/p/debug_native.c: At top level:
../librz/debug/p/debug_native.c:1629:2: warning: #warning Unsupported architecture [-Wcpp]
 1629 | #warning Unsupported architecture
      |  ^~~~~~~
[1015/1578] Compiling C object librz/d...0-git.p/p_native_linux_linux_debug.c.o
FAILED: librz/debug/librz_debug.so.0.4.0-git.p/p_native_linux_linux_debug.c.o 
cc -Ilibrz/debug/librz_debug.so.0.4.0-git.p -I. -I.. -I../librz/include -I../librz/bin/format/elf -I../shlr/qnx/include -I../shlr/gdb/include -I../shlr/gdb/include/gdbclient -I../shlr/gdb/include/gdbserver -I../shlr/bochs/include -I../shlr/winkd -Isubprojects/sdb -I../subprojects/sdb -Isubprojects/sdb/src -I../subprojects/sdb/src -I../librz/analysis/arch/gb -I../librz/analysis/arch/hexagon -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O2 -g --std=gnu99 -D_GNU_SOURCE -Werror=sizeof-pointer-memaccess -fvisibility=hidden -fPIC -DRZ_PLUGIN_INCORE=1 -MD -MQ librz/debug/librz_debug.so.0.4.0-git.p/p_native_linux_linux_debug.c.o -MF librz/debug/librz_debug.so.0.4.0-git.p/p_native_linux_linux_debug.c.o.d -o librz/debug/librz_debug.so.0.4.0-git.p/p_native_linux_linux_debug.c.o -c ../librz/debug/p/native/linux/linux_debug.c
../librz/debug/p/native/linux/linux_debug.c: In function ‘linux_reg_profile’:
../librz/debug/p/native/linux/linux_debug.c:61:2: error: #error "Unsupported Linux CPU"
   61 | #error "Unsupported Linux CPU"
      |  ^~~~~
../librz/debug/p/native/linux/linux_debug.c: In function ‘linux_handle_signals’:
../librz/debug/p/native/linux/linux_debug.c:95:33: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   95 |                 dbg->stopaddr = (ut64)siginfo.si_addr;
      |                                 ^
../librz/debug/p/native/linux/linux_debug.c: In function ‘print_fpu’:
../librz/debug/p/native/linux/linux_debug.c:1060:2: warning: #warning print_fpu not implemented for this platform [-Wcpp]
 1060 | #warning print_fpu not implemented for this platform
      |  ^~~~~~~
../librz/debug/p/native/linux/linux_debug.c: In function ‘linux_reg_read’:
../librz/debug/p/native/linux/linux_debug.c:1164:2: warning: #warning getfpregs not implemented for this platform [-Wcpp]
 1164 | #warning getfpregs not implemented for this platform
      |  ^~~~~~~
../librz/debug/p/native/linux/linux_debug.c:1170:17: error: unknown type name ‘RZ_DEBUG_REG_T’; did you mean ‘RZ_DEBUG_H’?
 1170 |                 RZ_DEBUG_REG_T regs;
      |                 ^~~~~~~~~~~~~~
      |                 RZ_DEBUG_H
../librz/debug/p/native/linux/linux_debug.c:1065:14: warning: variable ‘showfpu’ set but not used [-Wunused-but-set-variable]
 1065 |         bool showfpu = false;
      |              ^~~~~~~
At top level:
../librz/debug/p/native/linux/linux_debug.c:969:13: warning: ‘print_fpu’ defined but not used [-Wunused-function]
  969 | static void print_fpu(void *f) {
      |             ^~~~~~~~~
[1020/1578] Compiling C object librz/a.../.._asm_arch_hexagon_hexagon_disas.c.o
ninja: build stopped: subcommand failed.
rizin@rizin:~/rizin/rizin$ 

Readily available QEMU VM is at rizin-debian-11-hppa-qemu-qcow2.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed Linux RzDebug RzUtil
Projects
None yet
Development

No branches or pull requests

1 participant