Opened 11 years ago

Last modified 11 years ago

#38732 closed defect

gcc48 is broken by configure-timespec.patch — at Version 2

Reported by: howarth@… Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc: jeremyhu@…
Port: gcc48

Description (last modified by larryv (Lawrence Velázquez))

Please see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56835. It appears that the unnecessary patch libstdc++-configure-timespec.patch is breaking std::promise on darwin.

The alternative fix of http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=192335 was checked in to achieve the goal of using nanosleep in c++11.

Note that the fix I checked in for gcc 4.8.0 defaults darwin to --enable-libstdcxx-time so neither that option nor your hack needs to be applied. The g++-fsf-4.8 compiler on fink doesn't fail the test case reported in PR56835 but has nanosleep declared in the object file...

% cd /sw/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/x86_64-apple-darwin12.3.0/libstdc++-v3/src/c++11[[BR]]
% nm thread.o | grep nanosleep[[BR]]
                 U _nanosleep[[BR]]

Change History (2)

comment:1 Changed 11 years ago by howarth@…

Also see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54847 which contains a discussion of why your approach was rejected by the FSF gcc maintainers.
They explicitly rejected idea of claiming POSIX timers on darwin when we only have partial support for _POSIX_TIMERS.

comment:2 Changed 11 years ago by larryv (Lawrence Velázquez)

Cc: jeremyhu@… added
Description: modified (diff)
Owner: changed from macports-tickets@… to mww@…
Note: See TracTickets for help on using tickets.