Project

General

Profile

Bug #15826

Haiku LIBC_SO and LIBM_SO support for test/fiddle/helper.rb

Added by extrowerk (Zoltán Mizsei) 4 months ago. Updated 3 months ago.

Status:
Third Party's Issue
Priority:
Normal
Target version:
-
ruby -v:
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-haiku]
[ruby-core:92553]

Description

This is required for the tests.

Haiku comes currently in 2 different flavour: 32 and 64 bit.
64 bit have only one toolchain, so it is easy, but 32 bit comes with 2 different (GCC2 primary and GCC7 secondary). Ruby built with GCC7 on Haiku, so it needs to pick the secondary arch libroot.so.
libroot.so is a complex lib which provides the libm and libc functionality, and probably much more.


Files

ruby_test_fix.patch (692 Bytes) ruby_test_fix.patch extrowerk (Zoltán Mizsei), 05/05/2019 03:43 PM

History

Updated by mrkn (Kenta Murata) 3 months ago

Could you please make a pull-request for ruby/fiddle repository?

Updated by mrkn (Kenta Murata) 3 months ago

  • Assignee set to mrkn (Kenta Murata)
  • Status changed from Open to Third Party's Issue

Updated by nobu (Nobuyoshi Nakada) 3 months ago

Off topic a little, I think this code is wrong.

  case [0].pack('L!').size
  when 4
    # 32-bit ruby
  when 8
    # 64-bit ruby
  end

This selects the platform by the size of long, but it may differ from the address bus size, e.g., mswin/mingw.
The size should be [0].pack('J').size (2.3 or later) or [""].pack('p').size,
or, much better, RbConfig::CONFIG['void*'].

Also available in: Atom PDF