Actions
Bug #14192
closedrb_frame_method_id_and_class not exported, breaks ruby-prof and other gems
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.5.0dev (2017-12-16 trunk 61295) [x86_64-darwin16]
Backport:
Description
rb_frame_method_id_and_class is currently available in the header files as deprecated, but the corresponding symbol is not exported from the library.
Witness the following compile and execution log excerpts:
../../../../ext/ruby_prof/ruby_prof.c:209:9: warning: 'rb_frame_method_id_and_class' is deprecated [-Wdeprecated-declarations]
rb_frame_method_id_and_class(&mid, &klass);
^
/Users/stefan.kaes/.rvm/rubies/ruby-head/include/ruby-2.5.0/ruby/backward.h:53:1: note: 'rb_frame_method_id_and_class' has been explicitly marked deprecated here
DEPRECATED(int rb_frame_method_id_and_class(ID *idp, VALUE *klassp));
^
/Users/stefan.kaes/.rvm/rubies/ruby-head/include/ruby-2.5.0/x86_64-darwin16/ruby/config.h:126:39: note: expanded from macro 'DEPRECATED'
....................
dyld: lazy symbol binding failed: Symbol not found: _rb_frame_method_id_and_class
Referenced from: /Users/stefan.kaes/src/ruby-prof/lib/2.5.0/ruby_prof.bundle
Expected in: flat namespace
dyld: Symbol not found: _rb_frame_method_id_and_class
Referenced from: /Users/stefan.kaes/src/ruby-prof/lib/2.5.0/ruby_prof.bundle
Expected in: flat namespace
Updated by k0kubun (Takashi Kokubun) about 7 years ago
- Status changed from Open to Closed
Applied in changeset trunk|r61296.
vm.c: always export rb_frame_method_id_and_class
Functions declared in include/ruby/backward.h is exported only when
the condition !defined RUBY_EXPORT && !defined RUBY_NO_OLD_COMPATIBILITY
is met (i.e. included by include/ruby/ruby.h).
So if it is not the case when ruby is built, this will not be exported.
This was not intentional at r60994.
[Bug #14192]
Updated by k0kubun (Takashi Kokubun) about 7 years ago
- Backport changed from 2.3: UNKNOWN, 2.4: UNKNOWN to 2.3: DONTNEED, 2.4: DONTNEED
Updated by drkaes (Stefan Kaes) about 7 years ago
Assuming the method gets removed with 2.6, how should we replace it?
Can it be replaced now?
I haven't found a replacement for it.
Actions
Like0
Like0Like0Like0Like0