Files
unicorn/bindings/ruby
Levente Polyak 1aad423fe5 bindings: ruby: fix unexpected uc_query result pointer type (#1962)
uc_query expects a size_t *, while we are passing uc_arch *. This has
been working for a while as gcc just warned about this, however with
latest gcc this changed into an error:

unicorn.c:122:34: error: passing argument 3 of ‘uc_query’ from incompatible pointer type [-Wincompatible-pointer-types]
  206 |     uc_query(_uc, UC_QUERY_ARCH, &arch);
unicorn.h:689:60: note: expected ‘size_t *’ {aka ‘long unsigned int *’} but argument is of type ‘uc_arch *’
  689 | uc_err uc_query(uc_engine *uc, uc_query_type type, size_t *result);

Fix this issue by querying the result into a size_t and later downcast
the result into an uc_arch enum.
2025-04-05 06:05:43 +08:00
..
2024-09-26 18:44:51 +08:00
2016-03-22 12:26:12 +01:00

Installation

Software requirements

Linux

  • ruby >= 1.9.3
  • rubygems
  • make
  • gcc

Mac OS

  • ruby >= 1.9.3
  • rubygems
  • make
  • XCode

Install unicorn

  • cd path_to_unicorn
  • ./make.sh install

Install ruby binding

  • cd bindings/ruby
  • make install