Seg Fault in strftime

Michael Enright mike@kmcardiff.com
Mon Aug 17 03:00:00 GMT 2015


On Wed, Aug 5, 2015 at 1:02 AM, Corinna Vinschen  wrote:
> On Aug  3 23:33, Michael Enright wrote:
>> On Mon, Aug 3, 2015 at 9:52 AM, Michael Enright wrote:
>> > I'm interested in a solution at the libmozjs level
>>
>> Is there anything I can do to advance a solution in libmozjs?
>
> You could report the problem upstream, ideally.  Since the behaviour
> is not restricted to Cygwin (at least glibc and OpenBSD both use the
> same way to handle tm_zone/tm_gmtoff in strftime), they should be
> interested in a fix.

Looking at the upstream source it seems that they (mozilla.org) have
done something to allow their configure script to detect tm_zone's
presence. If the related configure variable HAVE_TM_ZONE_TM_GMTOFF is
defined as a result of configure's testing, then some code is enabled
that has the goal of getting those fields populated in the struct tm
that is passed to strftime. The steps are to transfer values from the
pseudo-tm struct they use to a temporary struct tm, call mktime with
that to get a time_t, pass the time_t to localtime_r, and then use the
resulting tm_zone and tm_gmtoffset values in the struct tm that they
pass to strftime. To me this all means that mozilla.org has the proper
code available and machinery to activate it.

I think the only reason there's a crash is because this mozilla.org
code is not enabled in cygwin's libmozjs185 for some reason.

I cloned the git repo that mozilla.org makes available and ran the
configure script. I was not able to build from the resulting setup,
but I was able to confirm that the HAVE_TM_ZONE_TM_GMTOFF macro is
defined. So the mozilla.org configure script does detect the members
on current Cygwin headers. Since that is the case the next step is to
look specifically at how libmozjs185 is built for distribution within
Cygwin.

Is there a possibility that the maintainer of Cygwin's library uses
hand-modified configure output to get around some problem, and that
stuff needs to be tweaked?

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list