public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* [BUG ?] Failed to rebuild Cygwin
@ 2013-07-31 10:14 Pavel Fedin
  2013-07-31 10:27 ` Corinna Vinschen
  2013-07-31 10:47 ` Corinna Vinschen
  0 siblings, 2 replies; 13+ messages in thread
From: Pavel Fedin @ 2013-07-31 10:14 UTC (permalink / raw)
  To: cygwin

 Hello!

 I have occasionally found a little problem in path check code. Attempt to
reference thing like '/..' fails, however at least under Linux this resolves
to root, and you can actually attempt to go past-root as many times as you
want, e. g. '/../../../..'. The bug was occasionally revealed by 'make' test
suite.
 I wanted to fix it, but cannot rebuild Cygwin DLL. The build ends up in:
--- cut ---
x86_64-w64-mingw32-g++  -o strace.exe strace.o path.o -L/usr/lib/w32api
-static -lntdll
/usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o: In function
`__tmainCRTStartup':
/usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/crt/crtexe.c:285:
undefined reference to `_set_invalid_parameter_handler'
/usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/libmingwex.a(lib64_libming
wex_a-mingw_pformat.o): In function `__pformat_exponent_digits':
/usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/stdio/mingw_pformat.c:1
76: undefined reference to `_get_output_format'
collect2: error: ld returned 1 exit status
Makefile:143: recipe for target `cygwin-console-helper.exe' failed
make[3]: *** [cygwin-console-helper.exe] Error 1
--- cut ---
 Likely some MinGW CRT bug ?

 P.S. I suggest that the way to fix the described path check bug is to undo
your small optimization and move back setting check_parent flag to:
--- cut ---
      /* Strip runs of /'s.  */
      if (!isslash (*src))
        {
	  *tail++ = *src++;
	  check_parent = true;
	}
--- cut ---
 The idea behind this is that the check will take place only if we have
actually got something to check (at least one non-slash character). In case
of '/..' the first 'isslash(*src)' returns TRUE, consequently the loop will
not run at all.
 An alternative is to add a check against 'dst' being empty around the
actual check:
--- cut ---
		      path_conv head (dst);
		      if (!head.isdir())
		        return ENOENT;
--- cut ---

 A test case for this problem is being able to execute 'ls /../../..' and
get listing of '/'.

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia




--
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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [BUG ?] Failed to rebuild Cygwin
  2013-07-31 10:14 [BUG ?] Failed to rebuild Cygwin Pavel Fedin
@ 2013-07-31 10:27 ` Corinna Vinschen
  2013-07-31 10:28   ` JonY
  2013-07-31 10:47 ` Corinna Vinschen
  1 sibling, 1 reply; 13+ messages in thread
From: Corinna Vinschen @ 2013-07-31 10:27 UTC (permalink / raw)
  To: cygwin; +Cc: JonY

On Jul 31 12:55, Pavel Fedin wrote:
>  Hello!
> 
>  I have occasionally found a little problem in path check code. Attempt to
> reference thing like '/..' fails, however at least under Linux this resolves
> to root, and you can actually attempt to go past-root as many times as you
> want, e. g. '/../../../..'. The bug was occasionally revealed by 'make' test
> suite.
>  I wanted to fix it, but cannot rebuild Cygwin DLL. The build ends up in:
> --- cut ---
> x86_64-w64-mingw32-g++  -o strace.exe strace.o path.o -L/usr/lib/w32api
> -static -lntdll
> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o: In function
> `__tmainCRTStartup':
> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/crt/crtexe.c:285:
> undefined reference to `_set_invalid_parameter_handler'
> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/libmingwex.a(lib64_libming
> wex_a-mingw_pformat.o): In function `__pformat_exponent_digits':
> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/stdio/mingw_pformat.c:1
> 76: undefined reference to `_get_output_format'
> collect2: error: ld returned 1 exit status
> Makefile:143: recipe for target `cygwin-console-helper.exe' failed
> make[3]: *** [cygwin-console-helper.exe] Error 1
> --- cut ---
>  Likely some MinGW CRT bug ?

This also occurs on Fedora right now.

AFAICS, the culprit is that the latest Cygwin w32api package doesn't
match the files from mingw-crt for some reason.

The build uses -L/usr/lib/w32api (-L/usr/i686-pc-cygwin/lib/w32api when
cross building on Fedora), so the libs are taken from the w32api-runtime
package.  However, the compiler uses the default crt file
/usr/i686-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o which is provided
by the mingw-crt package.

This is a bug in Cygwin's Makefile since you should never use the w32api
stuff for mingw executables, only for Cygwin executables, but still...

JonY, do you have an idea why the mingw-crt differs that much from the
w32api stuff that the above error occurs?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [BUG ?] Failed to rebuild Cygwin
  2013-07-31 10:27 ` Corinna Vinschen
@ 2013-07-31 10:28   ` JonY
  2013-07-31 11:23     ` Corinna Vinschen
  0 siblings, 1 reply; 13+ messages in thread
From: JonY @ 2013-07-31 10:28 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 2431 bytes --]

On 7/31/2013 17:59, Corinna Vinschen wrote:
> On Jul 31 12:55, Pavel Fedin wrote:
>>  Hello!
>>
>>  I have occasionally found a little problem in path check code. Attempt to
>> reference thing like '/..' fails, however at least under Linux this resolves
>> to root, and you can actually attempt to go past-root as many times as you
>> want, e. g. '/../../../..'. The bug was occasionally revealed by 'make' test
>> suite.
>>  I wanted to fix it, but cannot rebuild Cygwin DLL. The build ends up in:
>> --- cut ---
>> x86_64-w64-mingw32-g++  -o strace.exe strace.o path.o -L/usr/lib/w32api
>> -static -lntdll
>> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o: In function
>> `__tmainCRTStartup':
>> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/crt/crtexe.c:285:
>> undefined reference to `_set_invalid_parameter_handler'
>> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/libmingwex.a(lib64_libming
>> wex_a-mingw_pformat.o): In function `__pformat_exponent_digits':
>> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/stdio/mingw_pformat.c:1
>> 76: undefined reference to `_get_output_format'
>> collect2: error: ld returned 1 exit status
>> Makefile:143: recipe for target `cygwin-console-helper.exe' failed
>> make[3]: *** [cygwin-console-helper.exe] Error 1
>> --- cut ---
>>  Likely some MinGW CRT bug ?
> 
> This also occurs on Fedora right now.
> 
> AFAICS, the culprit is that the latest Cygwin w32api package doesn't
> match the files from mingw-crt for some reason.
> 
> The build uses -L/usr/lib/w32api (-L/usr/i686-pc-cygwin/lib/w32api when
> cross building on Fedora), so the libs are taken from the w32api-runtime
> package.  However, the compiler uses the default crt file
> /usr/i686-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o which is provided
> by the mingw-crt package.
> 
> This is a bug in Cygwin's Makefile since you should never use the w32api
> stuff for mingw executables, only for Cygwin executables, but still...
> 
> JonY, do you have an idea why the mingw-crt differs that much from the
> w32api stuff that the above error occurs?
> 

Likely, because _set_invalid_parameter_handler was a stub in mingwex
that loads msvcrt.dll, it was disabled as a quickfix, as it was using
mingw-w64 stdlib.h directly. I did not think Cygwin win32api might need it.

The build should be fixed on trunk, I will roll out a new release soon.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 834 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [BUG ?] Failed to rebuild Cygwin
  2013-07-31 10:14 [BUG ?] Failed to rebuild Cygwin Pavel Fedin
  2013-07-31 10:27 ` Corinna Vinschen
@ 2013-07-31 10:47 ` Corinna Vinschen
  2013-07-31 12:06   ` Pavel Fedin
  1 sibling, 1 reply; 13+ messages in thread
From: Corinna Vinschen @ 2013-07-31 10:47 UTC (permalink / raw)
  To: cygwin

On Jul 31 12:55, Pavel Fedin wrote:
>  Hello!
> 
>  I have occasionally found a little problem in path check code. Attempt to
> reference thing like '/..' fails, however at least under Linux this resolves
> to root, and you can actually attempt to go past-root as many times as you
> want, e. g. '/../../../..'. The bug was occasionally revealed by 'make' test
> suite.
>  [...]
>  P.S. I suggest that the way to fix the described path check bug is to undo
> your small optimization and move back setting check_parent flag to:
> --- cut ---
>       /* Strip runs of /'s.  */
>       if (!isslash (*src))
>         {
> 	  *tail++ = *src++;
> 	  check_parent = true;
> 	}
> --- cut ---

This works, but what bugs me a bit is setting a variable to true for
each non-slash character.  That happens a lot of time.

>  The idea behind this is that the check will take place only if we have
> actually got something to check (at least one non-slash character). In case
> of '/..' the first 'isslash(*src)' returns TRUE, consequently the loop will
> not run at all.
>  An alternative is to add a check against 'dst' being empty around the
> actual check:
> --- cut ---
> 		      path_conv head (dst);
> 		      if (!head.isdir())
> 		        return ENOENT;
> --- cut ---

I applied a patch which skips testing / or // when a /.. or //.. has
been encountered.  Can you please give it a try?


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [BUG ?] Failed to rebuild Cygwin
  2013-07-31 10:28   ` JonY
@ 2013-07-31 11:23     ` Corinna Vinschen
  2013-07-31 11:32       ` Corinna Vinschen
  0 siblings, 1 reply; 13+ messages in thread
From: Corinna Vinschen @ 2013-07-31 11:23 UTC (permalink / raw)
  To: cygwin

On Jul 31 18:13, JonY wrote:
> On 7/31/2013 17:59, Corinna Vinschen wrote:
> > On Jul 31 12:55, Pavel Fedin wrote:
> >>  Hello!
> >>
> >>  I have occasionally found a little problem in path check code. Attempt to
> >> reference thing like '/..' fails, however at least under Linux this resolves
> >> to root, and you can actually attempt to go past-root as many times as you
> >> want, e. g. '/../../../..'. The bug was occasionally revealed by 'make' test
> >> suite.
> >>  I wanted to fix it, but cannot rebuild Cygwin DLL. The build ends up in:
> >> --- cut ---
> >> x86_64-w64-mingw32-g++  -o strace.exe strace.o path.o -L/usr/lib/w32api
> >> -static -lntdll
> >> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o: In function
> >> `__tmainCRTStartup':
> >> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/crt/crtexe.c:285:
> >> undefined reference to `_set_invalid_parameter_handler'
> >> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/libmingwex.a(lib64_libming
> >> wex_a-mingw_pformat.o): In function `__pformat_exponent_digits':
> >> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/stdio/mingw_pformat.c:1
> >> 76: undefined reference to `_get_output_format'
> >> collect2: error: ld returned 1 exit status
> >> Makefile:143: recipe for target `cygwin-console-helper.exe' failed
> >> make[3]: *** [cygwin-console-helper.exe] Error 1
> >> --- cut ---
> >>  Likely some MinGW CRT bug ?
> > 
> > This also occurs on Fedora right now.
> > 
> > AFAICS, the culprit is that the latest Cygwin w32api package doesn't
> > match the files from mingw-crt for some reason.
> > 
> > The build uses -L/usr/lib/w32api (-L/usr/i686-pc-cygwin/lib/w32api when
> > cross building on Fedora), so the libs are taken from the w32api-runtime
> > package.  However, the compiler uses the default crt file
> > /usr/i686-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o which is provided
> > by the mingw-crt package.
> > 
> > This is a bug in Cygwin's Makefile since you should never use the w32api
> > stuff for mingw executables, only for Cygwin executables, but still...
> > 
> > JonY, do you have an idea why the mingw-crt differs that much from the
> > w32api stuff that the above error occurs?
> > 
> 
> Likely, because _set_invalid_parameter_handler was a stub in mingwex
> that loads msvcrt.dll, it was disabled as a quickfix, as it was using
> mingw-w64 stdlib.h directly. I did not think Cygwin win32api might need it.
> 
> The build should be fixed on trunk, I will roll out a new release soon.

Cool, thanks!


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [BUG ?] Failed to rebuild Cygwin
  2013-07-31 11:23     ` Corinna Vinschen
@ 2013-07-31 11:32       ` Corinna Vinschen
  2013-07-31 12:02         ` JonY
  0 siblings, 1 reply; 13+ messages in thread
From: Corinna Vinschen @ 2013-07-31 11:32 UTC (permalink / raw)
  To: cygwin

On Jul 31 12:28, Corinna Vinschen wrote:
> On Jul 31 18:13, JonY wrote:
> > On 7/31/2013 17:59, Corinna Vinschen wrote:
> > > On Jul 31 12:55, Pavel Fedin wrote:
> > >> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o: In function
> > >> `__tmainCRTStartup':
> > >> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/crt/crtexe.c:285:
> > >> undefined reference to `_set_invalid_parameter_handler'
> > >> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/libmingwex.a(lib64_libming
> > >> wex_a-mingw_pformat.o): In function `__pformat_exponent_digits':
> > >> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/stdio/mingw_pformat.c:1
> > >> 76: undefined reference to `_get_output_format'
> > >> collect2: error: ld returned 1 exit status
> > >> Makefile:143: recipe for target `cygwin-console-helper.exe' failed
> > >> make[3]: *** [cygwin-console-helper.exe] Error 1
> > >> --- cut ---
> > >>  Likely some MinGW CRT bug ?
> > > 
> > > This also occurs on Fedora right now.
> > > 
> > > AFAICS, the culprit is that the latest Cygwin w32api package doesn't
> > > match the files from mingw-crt for some reason.
> > > 
> > > The build uses -L/usr/lib/w32api (-L/usr/i686-pc-cygwin/lib/w32api when
> > > cross building on Fedora), so the libs are taken from the w32api-runtime
> > > package.  However, the compiler uses the default crt file
> > > /usr/i686-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o which is provided
> > > by the mingw-crt package.
> > > 
> > > This is a bug in Cygwin's Makefile since you should never use the w32api
> > > stuff for mingw executables, only for Cygwin executables, but still...
> > > 
> > > JonY, do you have an idea why the mingw-crt differs that much from the
> > > w32api stuff that the above error occurs?
> > > 
> > 
> > Likely, because _set_invalid_parameter_handler was a stub in mingwex
> > that loads msvcrt.dll, it was disabled as a quickfix, as it was using
> > mingw-w64 stdlib.h directly. I did not think Cygwin win32api might need it.
> > 
> > The build should be fixed on trunk, I will roll out a new release soon.
> 
> Cool, thanks!

Erm... hang on.  On second thought, I'm not sure that this is a bug.
The actual bug here was clearly in the Cygwin utils Makefile.

In fact, since w32api should only be used by Cygwin executables, why
should w32api provide libmingwex.a at all?  Linking a Cygwin executable
against libmingwex doesn't sound like the right thing to do.  Shouldn't
rather libmingwex.a just go from w32api?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [BUG ?] Failed to rebuild Cygwin
  2013-07-31 11:32       ` Corinna Vinschen
@ 2013-07-31 12:02         ` JonY
  2013-07-31 12:06           ` Corinna Vinschen
  0 siblings, 1 reply; 13+ messages in thread
From: JonY @ 2013-07-31 12:02 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 2831 bytes --]

On 7/31/2013 18:47, Corinna Vinschen wrote:
> On Jul 31 12:28, Corinna Vinschen wrote:
>> On Jul 31 18:13, JonY wrote:
>>> On 7/31/2013 17:59, Corinna Vinschen wrote:
>>>> On Jul 31 12:55, Pavel Fedin wrote:
>>>>> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o: In function
>>>>> `__tmainCRTStartup':
>>>>> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/crt/crtexe.c:285:
>>>>> undefined reference to `_set_invalid_parameter_handler'
>>>>> /usr/x86_64-w64-mingw32/sys-root/mingw/lib/../lib/libmingwex.a(lib64_libming
>>>>> wex_a-mingw_pformat.o): In function `__pformat_exponent_digits':
>>>>> /usr/src/debug/mingw64-x86_64-runtime-3.0b_svn5935-1/stdio/mingw_pformat.c:1
>>>>> 76: undefined reference to `_get_output_format'
>>>>> collect2: error: ld returned 1 exit status
>>>>> Makefile:143: recipe for target `cygwin-console-helper.exe' failed
>>>>> make[3]: *** [cygwin-console-helper.exe] Error 1
>>>>> --- cut ---
>>>>>  Likely some MinGW CRT bug ?
>>>>
>>>> This also occurs on Fedora right now.
>>>>
>>>> AFAICS, the culprit is that the latest Cygwin w32api package doesn't
>>>> match the files from mingw-crt for some reason.
>>>>
>>>> The build uses -L/usr/lib/w32api (-L/usr/i686-pc-cygwin/lib/w32api when
>>>> cross building on Fedora), so the libs are taken from the w32api-runtime
>>>> package.  However, the compiler uses the default crt file
>>>> /usr/i686-w64-mingw32/sys-root/mingw/lib/../lib/crt2.o which is provided
>>>> by the mingw-crt package.
>>>>
>>>> This is a bug in Cygwin's Makefile since you should never use the w32api
>>>> stuff for mingw executables, only for Cygwin executables, but still...
>>>>
>>>> JonY, do you have an idea why the mingw-crt differs that much from the
>>>> w32api stuff that the above error occurs?
>>>>
>>>
>>> Likely, because _set_invalid_parameter_handler was a stub in mingwex
>>> that loads msvcrt.dll, it was disabled as a quickfix, as it was using
>>> mingw-w64 stdlib.h directly. I did not think Cygwin win32api might need it.
>>>
>>> The build should be fixed on trunk, I will roll out a new release soon.
>>
>> Cool, thanks!
> 
> Erm... hang on.  On second thought, I'm not sure that this is a bug.
> The actual bug here was clearly in the Cygwin utils Makefile.
> 
> In fact, since w32api should only be used by Cygwin executables, why
> should w32api provide libmingwex.a at all?  Linking a Cygwin executable
> against libmingwex doesn't sound like the right thing to do.  Shouldn't
> rather libmingwex.a just go from w32api?
> 

Can you see what happens if libmingwex.a was replaced by the empty libm.a?

It is only _get_output_format require stuff from msvcrt,
_set_invalid_parameter_handler just uses some typedef declaration.

I'm starting to wonder if this require a deeper fix.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 834 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [BUG ?] Failed to rebuild Cygwin
  2013-07-31 10:47 ` Corinna Vinschen
@ 2013-07-31 12:06   ` Pavel Fedin
  2013-07-31 12:49     ` Corinna Vinschen
  0 siblings, 1 reply; 13+ messages in thread
From: Pavel Fedin @ 2013-07-31 12:06 UTC (permalink / raw)
  To: cygwin

 Hello!

> I applied a patch which skips testing / or // when a /.. or //.. has
> been encountered.  Can you please give it a try?

 Where can i get it ? In svn ? I cannot rebuild the library...

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia



--
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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [BUG ?] Failed to rebuild Cygwin
  2013-07-31 12:02         ` JonY
@ 2013-07-31 12:06           ` Corinna Vinschen
  2013-07-31 12:57             ` JonY
  0 siblings, 1 reply; 13+ messages in thread
From: Corinna Vinschen @ 2013-07-31 12:06 UTC (permalink / raw)
  To: cygwin

On Jul 31 19:31, JonY wrote:
> On 7/31/2013 18:47, Corinna Vinschen wrote:
> > Erm... hang on.  On second thought, I'm not sure that this is a bug.
> > The actual bug here was clearly in the Cygwin utils Makefile.
> > 
> > In fact, since w32api should only be used by Cygwin executables, why
> > should w32api provide libmingwex.a at all?  Linking a Cygwin executable
> > against libmingwex doesn't sound like the right thing to do.  Shouldn't
> > rather libmingwex.a just go from w32api?
> > 

I just realize that libmingw*.a is not packed with w32api-runtime
anyway, so my question doesn't make sense.

> Can you see what happens if libmingwex.a was replaced by the empty libm.a?

I don't understand what you mean.  Can you rephrase the question?

> It is only _get_output_format require stuff from msvcrt,
> _set_invalid_parameter_handler just uses some typedef declaration.
> 
> I'm starting to wonder if this require a deeper fix.

Not sure, but the problem here was clearly that the crt2.o from
mingw-crt didn't match with what is provided by w32api-runtime.
However, there's no point linking against mingw-crt crt2.o but then use
the libs from w32api, so this isn't really a problem in w32api-runtime.

So, bottom line is, I'm not sure there's anything to fix in
w32api-runtime at all.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [BUG ?] Failed to rebuild Cygwin
  2013-07-31 12:06   ` Pavel Fedin
@ 2013-07-31 12:49     ` Corinna Vinschen
  2013-07-31 14:12       ` Going back beyond the root (was: [BUG ?] Failed to rebuild Cygwin) Pavel Fedin
  0 siblings, 1 reply; 13+ messages in thread
From: Corinna Vinschen @ 2013-07-31 12:49 UTC (permalink / raw)
  To: cygwin

On Jul 31 16:02, Pavel Fedin wrote:
>  Hello!
> 
> > I applied a patch which skips testing / or // when a /.. or //.. has
> > been encountered.  Can you please give it a try?
> 
>  Where can i get it ? In svn ? I cannot rebuild the library...

s/svn/cvs/

You can rebuild the lib, just update to the latest.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [BUG ?] Failed to rebuild Cygwin
  2013-07-31 12:06           ` Corinna Vinschen
@ 2013-07-31 12:57             ` JonY
  0 siblings, 0 replies; 13+ messages in thread
From: JonY @ 2013-07-31 12:57 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 1577 bytes --]

On 7/31/2013 19:49, Corinna Vinschen wrote:
> On Jul 31 19:31, JonY wrote:
>> On 7/31/2013 18:47, Corinna Vinschen wrote:
>>> Erm... hang on.  On second thought, I'm not sure that this is a bug.
>>> The actual bug here was clearly in the Cygwin utils Makefile.
>>>
>>> In fact, since w32api should only be used by Cygwin executables, why
>>> should w32api provide libmingwex.a at all?  Linking a Cygwin executable
>>> against libmingwex doesn't sound like the right thing to do.  Shouldn't
>>> rather libmingwex.a just go from w32api?
>>>
> 
> I just realize that libmingw*.a is not packed with w32api-runtime
> anyway, so my question doesn't make sense.
> 
>> Can you see what happens if libmingwex.a was replaced by the empty libm.a?
> 
> I don't understand what you mean.  Can you rephrase the question?
> 

Sorry, I was confused, I now see user was using the cross compiler, not
native gcc.

>> It is only _get_output_format require stuff from msvcrt,
>> _set_invalid_parameter_handler just uses some typedef declaration.
>>
>> I'm starting to wonder if this require a deeper fix.
> 
> Not sure, but the problem here was clearly that the crt2.o from
> mingw-crt didn't match with what is provided by w32api-runtime.
> However, there's no point linking against mingw-crt crt2.o but then use
> the libs from w32api, so this isn't really a problem in w32api-runtime.
> 
> So, bottom line is, I'm not sure there's anything to fix in
> w32api-runtime at all.
> 

Nope, not related after all. I'm still trying to figure out the error.




[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 834 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Going back beyond the root (was: [BUG ?] Failed to rebuild Cygwin)
  2013-07-31 12:49     ` Corinna Vinschen
@ 2013-07-31 14:12       ` Pavel Fedin
  2013-07-31 14:24         ` Corinna Vinschen
  0 siblings, 1 reply; 13+ messages in thread
From: Pavel Fedin @ 2013-07-31 14:12 UTC (permalink / raw)
  To: cygwin

Hello!

> s/svn/cvs/
> 
> You can rebuild the lib, just update to the latest.

 Thank you, tested and works fine. Testing included:

1. Accessing existing directories then ..
2. Accessing nonexistent directories then ..
3. Going beyond the root multiple times (/../../../../../..)
4. The same, but with UNC. (3) in this context attempts to access '//', which on my machine waits for a while then ends up in "Permission denied". 'NET VIEW' in native Windows console behaves similar, reporting "List of servers is not currently available". So - passed.
5. Running make test suite. abspath works fine now.

Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia



--
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

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Going back beyond the root (was: [BUG ?] Failed to rebuild Cygwin)
  2013-07-31 14:12       ` Going back beyond the root (was: [BUG ?] Failed to rebuild Cygwin) Pavel Fedin
@ 2013-07-31 14:24         ` Corinna Vinschen
  0 siblings, 0 replies; 13+ messages in thread
From: Corinna Vinschen @ 2013-07-31 14:24 UTC (permalink / raw)
  To: cygwin

On Jul 31 17:26, Pavel Fedin wrote:
> Hello!
> 
> > s/svn/cvs/
> > 
> > You can rebuild the lib, just update to the latest.
> 
>  Thank you, tested and works fine. Testing included:
> 
> 1. Accessing existing directories then ..
> 2. Accessing nonexistent directories then ..
> 3. Going beyond the root multiple times (/../../../../../..)
> 4. The same, but with UNC. (3) in this context attempts to access '//', which on my machine waits for a while then ends up in "Permission denied". 'NET VIEW' in native Windows console behaves similar, reporting "List of servers is not currently available". So - passed.

Apparently smb browsing is switched off on your machine.  I tested this
myself with some extra debugging output.  Should work the same as /..,
just that you're back in // instead of /.

> 5. Running make test suite. abspath works fine now.

Thanks for testing,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
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

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2013-07-31 14:12 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-31 10:14 [BUG ?] Failed to rebuild Cygwin Pavel Fedin
2013-07-31 10:27 ` Corinna Vinschen
2013-07-31 10:28   ` JonY
2013-07-31 11:23     ` Corinna Vinschen
2013-07-31 11:32       ` Corinna Vinschen
2013-07-31 12:02         ` JonY
2013-07-31 12:06           ` Corinna Vinschen
2013-07-31 12:57             ` JonY
2013-07-31 10:47 ` Corinna Vinschen
2013-07-31 12:06   ` Pavel Fedin
2013-07-31 12:49     ` Corinna Vinschen
2013-07-31 14:12       ` Going back beyond the root (was: [BUG ?] Failed to rebuild Cygwin) Pavel Fedin
2013-07-31 14:24         ` Corinna Vinschen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).