#172 (libyasm.so missing various functions) – The Yasm Modular Assembler Project
Modify

Ticket #172 (new defect)

Opened 15 months ago

Last modified 15 months ago

libyasm.so missing various functions

Reported by: postmodern.mod3@… Owned by:
Priority: P1 Milestone: 0.8.0
Component: Core Version: 0.7.1
Severity: normal Keywords:
Cc:

Description

As I was testing the ruby-ffi bindings for libyasm (github.com/sophsec/yasm-ffi), I noticed certain functions were not visible to me.

$ nm /usr/lib64/libyasm.so | grep yasm_arch
$ nm /usr/lib64/libyasm.so | grep yasm_dv_create_string
$ nm /usr/lib64/libyasm.so | grep yasm_dvs_initialize
$ nm /usr/lib64/libyasm.so | grep yasm_dbgfmt
$ nm /usr/lib64/libyasm.so | grep yasm_error_occurred
$ nm /usr/lib64/libyasm.so | grep yasm_expr_copy
$ nm /usr/lib64/libyasm.so | grep yasm_listfmt
$ nm /usr/lib64/libyasm.so | grep yasm_objfmt
$ nm /usr/lib64/libyasm.so | grep yasm_preproc
$ nm /usr/lib64/libyasm.so | grep yasm_vps_initialize
$ nm /usr/lib64/libyasm.so | grep yasm_vps_append
$ nm /usr/lib64/libyasm.so | grep yasm_vps_first
$ nm /usr/lib64/libyasm.so | grep yasm_vps_next

Since I wrote the bindings based off of the libyasm documentation, I noticed all of these non-visible functions lacked a YASM_LIB_DECL. Are these functions not supposed to be visible, or is this a minor typo?

Attachments

Change History

comment:1 Changed 15 months ago by peter@…

All of these are #defined macros, not actual functions. See libyasm/arch.h for example; all of the yasm_arch_foo() are #defined to look into the yasm_arch_module structure of pointers to functions.

View

Add a comment

Modify Ticket

Action
as new
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.