I don't have a 64-bit machine, so I can't test the 64-bit host compiler.
I have tested on mingw-w32-bin_i686-mingw_20101003_sezero and 
mingw-w64-bin_i686-mingw_20101003_sezero
it only throws on w32 target.  I actually get an executable with w64.



the source code is attached if you want to test at 
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47596

the bug is not in 4.5.2 or 4.6.0 so the gcc folk are ignoring the issue as 
"worksforme" and said "take it up with the toolchain builder."

perhaps you can come up with a 4.5.2 or 4.6.0 build?  I can't make any progress 
with this bug because the auto builds CAN'T make monolithic executables, I've 
tried the -static-libgcc switch and linking in the library. -l switch doesn't 
work on any of the compilers (broken).


if I could build 4.5.2 myself, I would, but I don't think I'm that smart, and 
MSYS only makes DLL-based executables. :-(



________________________________
From: Ozkan Sezer <[email protected]>
To: Jim Michaels <[email protected]>
Cc: mingw64 <[email protected]>
Sent: Thu, February 3, 2011 2:50:26 AM
Subject: Re: [Mingw-w64-public] compiler throws error in printreg in personal 
build sezero 32-bit target

On Thu, Feb 3, 2011 at 8:31 AM, Jim Michaels <[email protected]> wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47596
>
>
> either I whacked it good, or I found an oops in the compiler...  it's not
> behaving happily.
> this does not occur with 64-bit, it successfully generates an executable.
>
> GNU C++ (GCC) version 4.4.5 20101001 (release) [svn/rev.164871 -
> mingw-w64/oz] (i686-w64-mingw32)
>     compiled by GNU C version 4.4.5 20101001 (release) [svn/rev.164871 -
> mingw-w64/oz], GMP version 4.3.2, MPFR version 2.4.2-p3.
> GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
> Compiler executable checksum: 67b926ffad2570f5a541884eb898e599
> gen-duplicator-batch-files.cpp: In function 'int main(int, char**)':
> gen-duplicator-batch-files.cpp:610: internal compiler error: in print_reg,
> at config/i386/i386.c:10894
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.

Reproduced on linux using cross toolchains.  The assert in i386.c is like:
  gcc_assert (x == pc_rtx
              || (REGNO (x) != ARG_POINTER_REGNUM
                  && REGNO (x) != FRAME_POINTER_REGNUM
                  && REGNO (x) != FLAGS_REG
                  && REGNO (x) != FPSR_REG
                  && REGNO (x) != FPCR_REG));

Can't analyze this further at the moment, though, and I don't think the gcc
guys will pay any attention to this because the compiler is a customized
one.  Does any of the other toolchains have this failure, btw?

>
>
> -------------
> Jim Michaels
> [email protected]
> [email protected]
> http://JimsComputerRepairandWebDesign.com
> http://JesusnJim.com (my personal site, has software)
> http://DoLifeComputers.JesusnJim.com (group which I lead)

--
Ozkan



      
------------------------------------------------------------------------------
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
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to