[#104481] [Ruby master Feature#18020] Introduce `IO::Buffer` for fiber scheduler. — samuel@...

Issue #18020 has been reported by ioquatix (Samuel Williams).

31 messages 2021/07/03

[#104492] [Ruby master Bug#18022] Spec errors for rbconfig/unicode_[emoji_]version_spec: Using Ruby 2.7 even when on Ruby 3.1 — duerst@...

Issue #18022 has been reported by duerst (Martin Dst).

8 messages 2021/07/04

[#104552] [Ruby master Feature#18033] Time.new to parse a string — nobu@...

Issue #18033 has been reported by nobu (Nobuyoshi Nakada).

26 messages 2021/07/09

[#104560] [Ruby master Bug#18035] Introduce general module for immutable by default. — samuel@...

Issue #18035 has been reported by ioquatix (Samuel Williams).

41 messages 2021/07/09

[#104629] [Ruby master Misc#18039] DevelopersMeeting20210819Japan — mame@...

Issue #18039 has been reported by mame (Yusuke Endoh).

11 messages 2021/07/16

[#104643] [Ruby master Bug#18040] Why should `foo(1 if true)` be an error? — bughit.github@...

Issue #18040 has been reported by bughit (bug hit).

10 messages 2021/07/19

[#104665] [Ruby master Feature#18042] YARV code optimization — motoroller95@...

Issue #18042 has been reported by motoroller (Iskandar Gohar).

11 messages 2021/07/23

[#104692] [Ruby master Bug#18048] Thread#join can break with fiber scheduler unblock fails or blocks. — samuel@...

Issue #18048 has been reported by ioquatix (Samuel Williams).

10 messages 2021/07/27

[#104723] [Ruby master Bug#18054] No rule to make target 'thread_fd_close.c', needed by 'thread_fd_close.o' — duerst@...

Issue #18054 has been reported by duerst (Martin Dst).

8 messages 2021/07/29

[ruby-core:104527] [Ruby master Feature#18026] Add global variables for instruction information

From: nobu@...
Date: 2021-07-07 06:35:44 UTC
List: ruby-core #104527
Issue #18026 has been updated by nobu (Nobuyoshi Nakada).


https://github.com/ruby/ruby/pull/4633

----------------------------------------
Feature #18026: Add global variables for instruction information
https://bugs.ruby-lang.org/issues/18026#change-92798

* Author: tenderlovemaking (Aaron Patterson)
* Status: Open
* Priority: Normal
----------------------------------------
When I am debugging crashes in Ruby, sometimes it is very convenient to disassemble iseqs in a core file.  For example in Bug #17984, I had a core file from a dead process.  Disassembling the iseqs where the crash occurred helped me to find the cause of the crash.

However, since 72e318f118d5cfde0e66a41acd3a2070fcaf4348, YARV instruction information tables that I need to disassemble the iseqs became static, function local constants.  The problem with function local statics is that the symbol names generated depend on the compiler we use.  For example, [this constant](https://github.com/ruby/ruby/blob/b1b7f997aeb8a09e863f4d6271ab38da179e246d/tool/ruby_vm/views/_insn_name_info.erb#L21-L23), the `x` variable inside the `insn_name` function.  On clang the symbol name is `insn_name.x`:

```
$ nm ./miniruby | grep insn_name.x
00000001002cc7c0 s _insn_name.x
00000001002ce350 s _insn_name.x
00000001002cf310 s _insn_name.x
```

But with gcc the symbol name is `x.SOMENUMBER`:

```
aaron@whiteclaw ~/g/ruby (master)> nm ./miniruby | grep ' x\.'
00000000003016a0 r x.19369
00000000002f9820 r x.51289
00000000002fa520 r x.51305
00000000002ee4e0 r x.51499
00000000002ef2c0 r x.51515
```

Even more complicated is that we have other static variables named `x`, so I have to hunt for the right symbol name via trial and error.

Can we change these symbols to be globals so that debuggers can look for a consistent name?

Thank you!



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next