Rebuilding cygwin1.dll - error: "TRANSACTION_ALL_ACCESS" redefined [-Werror]
Corinna Vinschen
corinna-cygwin@cygwin.com
Sat Oct 26 10:00:00 GMT 2013
On Oct 26 02:25, Christopher Faylor wrote:
> On Sat, Oct 26, 2013 at 10:14:01AM +0400, Alexey Pavlov wrote:
> >/usr/include/w32api/winnt.h:3541:20: error: previous definition of
> >?struct _EXCEPTION_REGISTRATION_RECORD?
> > typedef struct _EXCEPTION_REGISTRATION_RECORD {
> > ^
> >In file included from /work/Cygwin/winsup/cygwin/exception.h:15:0,
> > from /work/Cygwin/winsup/cygwin/cygtls.cc:20:
> >/work/Cygwin/winsup/cygwin/include/exceptions.h:109:17: error: invalid
> >type in declaration before ?;? token
> > } exception_list;
> > ^
> >/work/Cygwin/winsup/cygwin/../Makefile.common:43: recipe for target
> >'cygtls.o' failed
> >make[3]: *** [cygtls.o] Error 1
>
> Feel free to provide patches. Simple compilation issues do not
> require copyright assignment.
I applied a patch. The redefinition of _exception_list to
_EXCEPTION_REGISTRATION_RECORD for x86_64 was cruft from a very early
"just build, goddammit" porting stage. Later on it turned out that
x86_64 doesn't use frame based exception handling anyway so all the
code using _exception_list is unused on x86_64 anyway.
I also changed the public header <exceptions.h> so that it only
applies if !x86_64.
That leads to a question:
Why on earth do we have a *public* header exposing the exception
handling on a certain CPU? This isn't a standard header, neither POSIX
nor Linux nor BSD systems have it.
If there isn't a compelling reason to keep the header, I would opt
for folding the content into the private Cygwin header exception.h
and drop the public header entirely.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20131026/05875de5/attachment.sig>
More information about the Cygwin
mailing list