Hello,

On Fri, 04 Feb 2011 18:42:12 +0100
Mauro Ziliani <mauro.zili...@ngi.it> wrote:

> Oh sorry.
> I sent the email with the attachment by the list kill it because it
> was too big.
> 
> I reattach the file zipping it.
> 
> It is the preprocessed output.
> 
> About the testing program.
> I try a small main program but it works well.
> The problem is compiling qt.
> 
> 
> 
> Il 04/02/2011 18.23, Paul Sokolovsky ha scritto:
> > Hello,
> >
> > On Fri, 04 Feb 2011 17:51:10 +0100
> > Mauro Ziliani<mauro.zili...@ngi.it>  wrote:
> >
> > []
> >
> >> In function 'int (HINSTANCE__*, HINSTANCE__*, WCHAR*, int)':
> >> qtmain_win.cpp:140: error: unrecognizable insn: (insn 9 8 10 3
> >> ../../include/QtCore/../../src/corelib/tools/qbytearray.h:364 (set
> >> (reg/f:SI 214)
> >>            (symbol_ref:SI ("_ZN10QByteArray11shared_nullE") [flags
> >> 0x4c0]<var_decl 0x7ff97b68 shared_null>)) -1 (nil))
> >> qtmain_win.cpp:140: internal compiler error: in extract_insn, at
> >> recog.c:2048

Ok, so the matter is not at qtmain_win.cpp:140 (end of program), but
where _ZN10QByteArray11shared_nullE is accessed.

And that's:
--------------
class __attribute__((dllimport)) QByteArray
{
    inline QByteArray();
...
    static Data shared_null;
...
};

inline QByteArray::QByteArray(): d(&shared_null) { d->ref.ref(); }
----------------

So, there's issue with accessing static members in dllimported class.
And static members and dllimport already a peculiar area, see for
example
http://stackoverflow.com/questions/3491990/c-definition-of-dllimport-static-data-member

Definition of shared_null doesn't happen here, but maybe GCC mixes up
something and mistreats static/dllimport combo which gives result
unexpected to itself. Or maybe it's instead the most obvious
explanation: taking an address of dllimported static field is not
implemented for arm-pe target. So the next step would be trying to
compile it with win32's mingw32, to see how x86-pe handles it, then try
to compare machine definitions for x86 and arm.


> >> Please submit a full bug report,
> >> with preprocessed source if appropriate.
> >> See<http://gcc.gnu.org/bugs.html>  for instructions.
> >> mingw32-make[2]: *** [tmp/obj/release_shared/qtmain_win.o] Error 1
> >> mingw32-make[2]: Leaving directory
> >> `C:/qt/qt-embedded-wince-opensource-src-4.4.0/src/winmain'
> >> mingw32-make[1]: *** [release] Error 2
> >> mingw32-make[1]: Leaving directory
> >> `C:/qt/qt-embedded-wince-opensource-src-4.4.0/src/winmain'
> >> mingw32-make: *** [sub-winmain-make_default-ordered] Error 2
> >>
> >> I attach the qtmain_win.ii completeness
> > Attachment didn't get thru. If you actually attached it, then maybe
> > list is configured to remove them. Try pasting lines where error
> > happens directly into mail then. And to make steps towards resolving
> > it, a standalone test program would be likely needed.
> >
> >> Any idea?
> >>
> >> MZ
> 





-- 
Best regards,
 Paul                          mailto:pmis...@gmail.com

------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world? 
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to