Project

General

Profile

Actions

Bug #9665

closed

Ruby 2.1.1 fails to build on PowerPC darwin, due to __builtin_unreachable

Added by mistydemeo (Misty De Meo) over 10 years ago. Updated over 10 years ago.

Status:
Closed
Assignee:
Target version:
ruby -v:
ruby 2.1.1p76 (2014-02-24 revision 45161) [powerpc-darwin8.0]
[ruby-core:61647]

Description

Ruby 2.1.1 (and possibly a few older versions) fails to build on PowerPC Darwin using Apple-provided GCCs. When linking miniruby, the build fails due to:

/usr/libexec/gcc/powerpc-apple-darwin8/4.2.1/ld: Undefined symbols:
___builtin_unreachable

This occurs with Apple GCC 4.0 and 4.2, on Mac OS X 10.4 and 10.5 PowerPC. The issue does not occur using newer FSF GCCs (for instance, 4.8.2) on the same OS X versions. While I'm unable to test on 10.5 Intel, I can confirm that newer Intel OS X versions work fine using Apple GCC 4.2.

Verbose build logs, from Mac OS X 10.4 with Apple GCC 4.2, are attached.

While I suspect this was possibly introduced by r34784, as removing the check from configure allows the build to succeed, that revision is 2 years old and I only noticed these build failures beginning relatively recently.


Files

01.configure (18.7 KB) 01.configure Configure output mistydemeo (Misty De Meo), 03/23/2014 09:47 PM
02.make (38.7 KB) 02.make Make output mistydemeo (Misty De Meo), 03/23/2014 09:47 PM
config.log (1.12 MB) config.log mistydemeo (Misty De Meo), 03/23/2014 09:47 PM

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

  • Description updated (diff)
  • Target version set to 2.2.0
  • Backport set to 2.0.0: REQUIRED, 2.1: REQUIRED

With MacPorts apple-gcc42, __builtin_unreachable seems detected as no, successfully.

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

Applied in changeset r45716.


configure.in: refine __builtin_unreachable check

  • configure.in (rb_cv_func___builtin_unreachable): try with an
    external variable not only by a warning, which might not be
    shown due to the optimization. [ruby-core:61647] [Bug #9665]

Updated by usa (Usaku NAKAMURA) over 10 years ago

  • Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED to 2.0.0: DONE, 2.1: REQUIRED

backported into ruby_2_0_0 at r46201.

Updated by nagachika (Tomoyuki Chikanaga) over 10 years ago

  • Backport changed from 2.0.0: DONE, 2.1: REQUIRED to 2.0.0: DONE, 2.1: DONE

r45716 was backported into ruby_2_1 branch at r46215.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0