Modify ↓
Ticket #172 (new defect)
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
Note: See
TracTickets for help on using
tickets.

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.