Just updated cygutils and cygstart no longer works
Takashi Yano
takashi.yano@nifty.ne.jp
Sat Aug 14 03:28:10 GMT 2021
On Fri, 13 Aug 2021 20:17:58 -0700
Mark Geisert wrote:
> Brian Inglis wrote:
> > On 2021-08-13 19:54, Takashi Yano via Cygwin wrote:
> >> On Fri, 13 Aug 2021 15:20:40 -0700, Mark Geisert wrote:
> >>> Jay Abel via Cygwin wrote:
> >>>> On Fri, Aug 13, 2021 at 10:27 AM Jay Abel <jay.abel@gmail.com> wrote:
> >
> >>>> Sorry, more information. I'm running Windows 10, 64-bit, AMD.
> >>>>
> >>>> I've reverted cygutils back to 1.4.16-2 and the problem is resolved.
> >
> >>>>> Run cygstart with anything and no window opens. I've tried URLS cygstart
> >>>>> http://www.cygwin.com, directories cygstart . and cygstart ./ as well as
> >>>>> pdf files cygstart example.pdf.
> >>>>> None of these seems to do anything anymore.
> >
> >>> I have the same setup as you but all seems well here. With 1.4.16-3 installed all
> >>> four of your testcases work for me. I don't know what to suggest.
> >>> When you have a chance, what does 'echo $?' say at the prompt after cygstart
> >>> finishes one of your testcases? 0 means successful, 1 (or something else) means
> >>> failure.
> >
> >> I have the same issue with cygstart in cygutils 1.4.16-3.
> >> "cygstart .; echo $?" says 0.
> >> This issue only happens in 64bit cygwin and cygstart in 32bit cygwin works.
> >> To look into this problem, I tried to build cygutils from source,
> >> however, it fails in the link stage of getclip with the error:
> >> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld:
> >> src/clip/getclip.o: in function `getclip':
> >> /usr/src/debug/cygutils-1.4.16-3/src/clip/getclip.c:431: undefined reference to
> >> `__imp_RtlUnicodeToUTF8N'
> >> It seems that -lntdll flag is required to build it. Doesn't this error
> >> happen in your environment?
> >> So I modified Makefile.am to:
> >> src_clip_getclip_LDADD = -lpopt -lntdll
> >> src_clip_putclip_LDADD = -lpopt -lntdll
> >> and tried to build again and succeeded.
> >> The cygstart built locally works fine.
> >> So I tried to debug cygstart using gdb and it says:
> >> Thread 1 received signal SIGILL, Illegal instruction.
> >> The disassembling result at $rip is:
> >> => 0x0000000100401c15 <+389>: vmovdqa 0x18c3(%rip),%xmm0 # 0x1004034e0
> >> This is a AVX instruction.
> >> My CPU is Core i7-870, which does not support AVX.
> >> Then I ran cygstart in another machine whose CPU is Core i7-4790
> >> and it works without the issue.
> >> Conclusion:
> >> cygstart in cygutils 1.4.16-3 is compiled with AVX extentions,
> >> therefore it can not run in old machine.
> >
> > Any chance this could have been built with test gcc 11 using non-standard values
> > instead of defaults -march=x86-64/i686 -mtune=generic?
>
> No, gcc 10.2.0 was used with those defaults.
In my environment:
$ objdump -d /usr/bin/cygstart |grep vmovdqa
100401c15: c5 f9 6f 05 c3 18 00 vmovdqa 0x18c3(%rip),%xmm0 # 0x1004034e0
100401c21: c5 f9 6f 0d c7 18 00 vmovdqa 0x18c7(%rip),%xmm1 # 0x1004034f0
100401c2e: c5 f9 6f 15 ca 18 00 vmovdqa 0x18ca(%rip),%xmm2 # 0x100403500
100401c3b: c5 f9 6f 1d cd 18 00 vmovdqa 0x18cd(%rip),%xmm3 # 0x100403510
$ objdump -d cygutils-1.4.16-3.src/cygutils-1.4.16-3.x86_64/inst/usr/bin/cygstart | grep vmovdqa
$
--
Takashi Yano <takashi.yano@nifty.ne.jp>
More information about the Cygwin
mailing list