Changeset 144492


Ignore:
Timestamp:
Jan 10, 2016, 5:56:47 AM (3 years ago)
Author:
ionic@…
Message:

pth: work around bug on PPC-platforms leading to programs using pth looping endlessly. Fixes: #49790.

Switch to sigsetjmp/siglongjmp instead of makecontext/setcontext when
detecting a PPC build. For universal builds, x86(_64) will equally be
using ssj/slj, but no functionality will be lost.

Note that dependent software should be revbumped after this change.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dports/devel/pth/Portfile

    r144491 r144492  
    66name                pth
    77version             2.0.7
     8revision            1
    89categories          devel
    910license             LGPL-2.1+
     
    3334use_parallel_build  no
    3435
     36platform darwin {
     37    # makecontext/setcontext (the default) is leading to infinite loops in programs on PPC-platforms.
     38    # Switch to setjmp/longjmp when building for one of these platforms.
     39    # Latter should work equally well on x86(_64).
     40    if {![variant_isset universal]} {
     41        if {[lsearch ${build_arch} ppc*] != -1} {
     42            configure.args-append --with-mctx-mth=sjlj --with-mctx-dsp=ssjlj --with-mctx-stk=sas
     43        }
     44    }
     45
     46    variant universal {
     47        if {[lsearch ${universal_archs} ppc*] != -1} {
     48            configure.args-append --with-mctx-mth=sjlj --with-mctx-dsp=ssjlj --with-mctx-stk=sas
     49        }
     50    }
     51}
     52
    3553post-destroot {
    3654    reinplace -E {s|-arch [a-z0-9_]+||g} \
Note: See TracChangeset for help on using the changeset viewer.