From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14372 invoked by alias); 23 Aug 2017 18:59:56 -0000 Mailing-List: contact newlib-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: newlib-owner@sourceware.org Received: (qmail 11975 invoked by uid 89); 23 Aug 2017 18:59:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.4 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=doh, Attached X-HELO: smtp-out-so.shaw.ca Received: from smtp-out-so.shaw.ca (HELO smtp-out-so.shaw.ca) (64.59.136.137) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 23 Aug 2017 18:59:54 +0000 Received: from [192.168.1.100] ([24.64.240.204]) by shaw.ca with SMTP id kasZd2zqODJTWkasadmvlc; Wed, 23 Aug 2017 12:59:52 -0600 X-Authority-Analysis: v=2.2 cv=B4DJ6KlM c=1 sm=1 tr=0 a=MVEHjbUiAHxQW0jfcDq5EA==:117 a=MVEHjbUiAHxQW0jfcDq5EA==:17 a=r77TgQKjGQsHNAKrUKIA:9 a=paNNiz8OIgkd8HavKv4A:9 a=QEXdDO2ut3YA:10 a=7vT8eNxyAAAA:8 a=3aB4mLzFzoJxBdMkICkA:9 a=CdiWusdWvyIA:10 a=Mzmg39azMnTNyelF985k:22 Reply-To: Brian.Inglis@SystematicSw.ab.ca Subject: [PATCH] newlib/libc/time/strptime.c(strptime_l) add strptime %F %s References: <20170725185206.GE14419@calimero.vinschen.de> <9c38bcee-fbb0-9a30-0c28-58629f54aa0e@SystematicSw.ab.ca> <20170726104918.GF14419@calimero.vinschen.de> <6ae417fd-e109-4549-f005-5cfa7b6fdb62@SystematicSw.ab.ca> <20170726193443.GD30367@calimero.vinschen.de> <20170731095532.GK24013@calimero.vinschen.de> <09a4309f-a47c-5056-16bf-fe81e9ad483a@SystematicSw.ab.ca> <20170821090124.GF16422@calimero.vinschen.de> To: newlib@sourceware.org From: Brian Inglis Message-ID: Date: Thu, 24 Aug 2017 02:14:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20170821090124.GF16422@calimero.vinschen.de> Content-Type: multipart/mixed; boundary="------------23471E823D035C6038218902" X-CMAE-Envelope: MS4wfJFXmiV/owD2FwULmwTppsNLRG+0Ra9e7u4ak0dEiNip/YrOyLxttOzp9Zdhcu5cEFVwOvUB9BFd+VaRStOlAoZz+Xu7OdYQOFZcuqvHY5fdgNUouHBV Wg1LixfmKR8Qe5hDR+j7tYw0GjbRicLuNx9QEcxyzhSRW0T8UuFdxJN4l78iB6JgRPqBOUIchmNBhg== X-IsSubscribed: yes X-SW-Source: 2017/txt/msg00855.txt.bz2 This is a multi-part message in MIME format. --------------23471E823D035C6038218902 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-length: 3375 On 2017-08-21 03:01, Corinna Vinschen wrote: > On Aug 19 14:53, Brian Inglis wrote: >> On 2017-08-18 14:00, Brian Inglis wrote: >>> On 2017-07-31 03:55, Corinna Vinschen wrote: >>>> On Jul 28 14:50, Brian Inglis wrote: >>>>> On 2017-07-26 13:34, Corinna Vinschen wrote: >>>>>> On Jul 26 11:27, Brian Inglis wrote: >>>>>>> On 2017-07-26 04:49, Corinna Vinschen wrote: >>>>>>>> On Jul 25 14:13, Brian Inglis wrote: >>>>>>>>> On 2017-07-25 12:52, Corinna Vinschen wrote: >>>>>>>>>> Well... on *third* thought, targets may redefine time_t via redefining >>>>>>>>>> _TIME_T_. Targets not doing that will get long, so yeah, you're right. >>>>>>>>>> Maybe it is safer to use always strtoll_l and just break this down to >>>>>>>>>> time_t on the way. >>>>>>>>> >>>>>>>>> My concern has always been do all newlib RTEMS targets support long >>>>>>>>> long, even if same as long, and stroll_l? >>>>>>>> >>>>>>>> Yes. The long long functions are not excluded like we do with long >>>>>>>> double stuff. >>>>>>>> >>>>>>>>> Trying to build standalone or combined STC for this with changed strptime.c >>>>>>>>> ld/collect2 fails to resolve ...global_locale. >>>>>>>> >>>>>>>> Yeah, it's an internal function to newlib. You need to include >>>>>>>> libc/locale/setlocale.h somehow to accomplish that. STC from Cygwin >>>>>>>> userspace will do. >>>>>>> >>>>>>> Not doing it for me: that's why I asked if there were undistributed locale >>>>>>> changes in the tree, and maybe in a dev snapshot? >>>>>> >>>>>> No, it's an *internal* function, it doesn't get exported. There's no >>>>>> (easy) way to build strptime.c outside the newlib tree as part of the >>>>>> lib. That's why I said a userspace STC is enough. Don't try to build >>>>>> strptime.c as standalone. Just build it as part of newlib/Cygwin and >>>>>> test it from userspace by calling it. >>>>> >>>>> Finally got all the prereqs installed and a clean build. >>>>> My configure uses the default prefix /usr/local, which is at the head of my >>>>> personal path. >>>>> Is that enough for a test build, and how do I do that, or do I have to replace >>>>> the current release, with configure --prefix=/, make install into /bin/? >>>> >>>> The configured paths don't matter for the Cygwin DLL itself, and your >>>> patch doesn't change any headers or entry points of the lib. So just exit >>>> from Cygwin, replace the DLL in Explorer, start a shell and go ahead. >>> >>> Test still won't run as expected after DLL replacement, nor coreutils strptime. >>> Aren't there lib import files or maps or anything I also have to move? >>> Attached slightly redacted build config and make logs. >>> >>> Resending without attachments to see if this makes it to the list. >> >> Doh! Cygwin has its own strptime.cc whereas it uses strftime.c from newlib. >> Guess I should also patch Cygwin strptime.cc in a similar manner. > > Oh, right! I forget about it *blush* Attached patch to support %F and %s in newlib libc time strptime.c strptime_l(). In case the issue comes up, if the user wants to support %s as in date(1) with a preceding @ flag, they just have to include that verbatim before the format as in "@%s". Is there any way to test this newlib function on a Cygwin platform? I don't have access to a supported platform. Similar patch submitted for Cygwin %s. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada --------------23471E823D035C6038218902 Content-Type: text/plain; charset=UTF-8; name="0001-newlib-libc-time-strptime.c-strptime_l-add-strptime-.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-newlib-libc-time-strptime.c-strptime_l-add-strptime-.pa"; filename*1="tch" Content-length: 3177 RnJvbSA4OTEzZWI5OTI4NTkxNWZlZjk0NTc2NzM0MGIyMjYwMDJhNGM5NTAy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCcmlhbiBJbmdsaXMg PEJyaWFuLkluZ2xpc0BTeXN0ZW1hdGljU1cuYWIuY2E+CkRhdGU6IFR1ZSwg MjIgQXVnIDIwMTcgMTU6MDY6MDIgLTA2MDAKU3ViamVjdDogW1BBVENIXSBu ZXdsaWIvbGliYy90aW1lL3N0cnB0aW1lLmMoc3RycHRpbWVfbCkgYWRkIHN0 cnB0aW1lICVGICVzCgotLS0KIG5ld2xpYi9saWJjL3RpbWUvc3RycHRpbWUu YyB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAx IGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9uZXdsaWIvbGliYy90aW1lL3N0cnB0aW1lLmMg Yi9uZXdsaWIvbGliYy90aW1lL3N0cnB0aW1lLmMKaW5kZXggYzA4NjFlYjg3 Li4yMzM2NTg0MDYgMTAwNjQ0Ci0tLSBhL25ld2xpYi9saWJjL3RpbWUvc3Ry cHRpbWUuYworKysgYi9uZXdsaWIvbGliYy90aW1lL3N0cnB0aW1lLmMKQEAg LTM4LDYgKzM4LDkgQEAKICNpbmNsdWRlIDxzdHJpbmdzLmg+CiAjaW5jbHVk ZSA8Y3R5cGUuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxl cnJuby5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8bGlt aXRzLmg+CiAjaW5jbHVkZSAiLi4vbG9jYWxlL3NldGxvY2FsZS5oIgogCiAj ZGVmaW5lIF9jdGxvYyh4KSAoX0N1cnJlbnRUaW1lTG9jYWxlLT54KQpAQCAt MjMwLDggKzIzMywxNyBAQCBzdHJwdGltZV9sIChjb25zdCBjaGFyICpidWYs IGNvbnN0IGNoYXIgKmZvcm1hdCwgc3RydWN0IHRtICp0aW1lcHRyLAogCQli dWYgPSBzOwogCQl5bWQgfD0gU0VUX01EQVk7CiAJCWJyZWFrOworCSAgICBj YXNlICdGJyA6CQkvKiAlWS0lbS0lZCAtIEdOVSBleHRlbnNpb24gKi8KKwkJ ZnByaW50Ziggc3RkZXJyLCAiZm10ICVzIGJ1ZiAlc1xuIiwgZm9ybWF0LCBi dWYpOworCQlzID0gc3RycHRpbWVfbCAoYnVmLCAiJVktJW0tJWQiLCB0aW1l cHRyLCBsb2NhbGUpOworCQlmcHJpbnRmKCBzdGRlcnIsICJmbXQgJXMgYnVm ICVzIHMgJXNcbiIsIGZvcm1hdCwgYnVmLCBzKTsKKwkJaWYgKHMgPT0gTlVM TCB8fCBzID09IGJ1ZikKKwkJICAgIHJldHVybiBOVUxMOworCQlidWYgPSBz OworCQl5bWQgfD0gU0VUX1lNRDsKKwkJYnJlYWs7CiAJICAgIGNhc2UgJ0gn IDoKLQkgICAgY2FzZSAnaycgOgorCSAgICBjYXNlICdrJyA6CQkvKiBob3Vy IHdpdGggbGVhZGluZyBzcGFjZSAtIEdOVSBleHRlbnNpb24gKi8KIAkJcmV0 ID0gc3RydG9sX2wgKGJ1ZiwgJnMsIDEwLCBsb2NhbGUpOwogCQlpZiAocyA9 PSBidWYpCiAJCSAgICByZXR1cm4gTlVMTDsKQEAgLTIzOSw3ICsyNTEsNyBA QCBzdHJwdGltZV9sIChjb25zdCBjaGFyICpidWYsIGNvbnN0IGNoYXIgKmZv cm1hdCwgc3RydWN0IHRtICp0aW1lcHRyLAogCQlidWYgPSBzOwogCQlicmVh azsKIAkgICAgY2FzZSAnSScgOgotCSAgICBjYXNlICdsJyA6CisJICAgIGNh c2UgJ2wnIDoJCS8qIGhvdXIgd2l0aCBsZWFkaW5nIHNwYWNlIC0gR05VIGV4 dGVuc2lvbiAqLwogCQlyZXQgPSBzdHJ0b2xfbCAoYnVmLCAmcywgMTAsIGxv Y2FsZSk7CiAJCWlmIChzID09IGJ1ZikKIAkJICAgIHJldHVybiBOVUxMOwpA QCAtMzAwLDYgKzMxMiwyNSBAQCBzdHJwdGltZV9sIChjb25zdCBjaGFyICpi dWYsIGNvbnN0IGNoYXIgKmZvcm1hdCwgc3RydWN0IHRtICp0aW1lcHRyLAog CQkgICAgcmV0dXJuIE5VTEw7CiAJCWJ1ZiA9IHM7CiAJCWJyZWFrOworCSAg ICBjYXNlICdzJyA6IHsJLyogc2Vjb25kcyBzaW5jZSBVbml4IGVwb2NoIC0g R05VIGV4dGVuc2lvbiAqLworCQkgICAgbG9uZyBsb25nIHNlYzsKKwkJICAg IHRpbWVfdCB0OworCQkgICAgaW50IGVycm5vX3NhdmU7CisKKwkJICAgIGVy cm5vX3NhdmUgPSBlcnJubzsKKwkJICAgIGVycm5vID0gMDsKKwkJICAgIHNl YyA9IHN0cnRvbGxfbCAoYnVmLCAmcywgMTAsIGxvY2FsZSk7CisJCSAgICB0 ID0gc2VjOworCQkgICAgaWYgKHMgPT0gYnVmCisJCQl8fCBlcnJubyAhPSAw CisJCQl8fCB0ICE9IHNlYworCQkJfHwgbG9jYWx0aW1lX3IgKCZ0LCB0aW1l cHRyKSAhPSB0aW1lcHRyKQorCQkJcmV0dXJuIE5VTEw7CisJCSAgICBlcnJu byA9IGVycm5vX3NhdmU7CisJCSAgICBidWYgPSBzOworCQkgICAgeW1kIHw9 IFNFVF9ZREFZIHwgU0VUX1dEQVkgfCBTRVRfWU1EOworCQkgICAgYnJlYWs7 CisJCX0KIAkgICAgY2FzZSAnUycgOgogCQlyZXQgPSBzdHJ0b2xfbCAoYnVm LCAmcywgMTAsIGxvY2FsZSk7CiAJCWlmIChzID09IGJ1ZikKLS0gCjIuMTQu MAoK --------------23471E823D035C6038218902--