In perl.git, the branch tonyc/fix-darwin-g++ has been created

<http://perl5.git.perl.org/perl.git/commitdiff/67083b7b2d5c1863032b4a0ebb7156a4249c645a?hp=0000000000000000000000000000000000000000>

        at  67083b7b2d5c1863032b4a0ebb7156a4249c645a (commit)

- Log -----------------------------------------------------------------
commit 67083b7b2d5c1863032b4a0ebb7156a4249c645a
Author: Tony Cook <[email protected]>
Date:   Mon Apr 4 12:03:58 2016 +1000

    avoid mis-mangled name references on threaded C++ builds
    
    g++ on recent darwin appears to be clang++ in disguise, and so
    supports the TSA decorations, but the wrappers we define don't have
    explicit extern "C" linkage (which perlapi.h does have).
    
    Under C++ Time::HiRes wraps its includes in extern "C" { }, and
    so references unmangled names for the perl_tsa_mutex_*() wrappers,
    but since util.c never sees an extern "C" for those functions it
    produces mangled names, causing undefined references in Time::HiRes.
    
    Detected by a smoke run againt a smoke-me branch:
    
    
http://www.nntp.perl.org/group/perl.daily-build.reports/2016/03/msg190183.html
    
    Longer term the TSA decorations should probably be probed for in Configure
    and the wrapper declarations moved to embed.fnc
-----------------------------------------------------------------------

--
Perl5 Master Repository

Reply via email to