This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Problem with a cross-compiler based on gcc-trunk
On Mon, 23 Mar 2009 18:51:50 +0000, Dave Korn
<dave.korn.cygwin@googlemail.com> wrote:
> Vincent R. wrote:
>
>> vincent@vincent-pc:~/projects$ arm-mingw32ce-gcc -std=gnu99 -save-temps
>> -I/home/vincent/local/wince/include -DNDEBUG -O3 -c cegcc-errno-bug.c
>> -DDLL_EXPORT -DPIC -o libeet_la-eet_lib.o
>> cegcc-errno-bug.c: In function 'eet_close':
>> cegcc-errno-bug.c:134: error: unrecognizable insn:
>> (insn 6 5 7 3 cegcc-errno-bug.c:114 (set (reg/f:SI 138)
>> (symbol_ref:SI ("errno") [flags 0x4c0] <var_decl 0xb7db26e0
>> errno>)) -1 (nil))
>> cegcc-errno-bug.c:134: internal compiler error: in extract_insn, at
>> recog.c:2048
>
>> Of course I could report a bug but since original sources are patched
the
>> bug might be due to one of the modifications.
>> And here is the testcase :
>
> You could probably have cut that down just to the definition of errno,
> Eet_Error and eet_flush2. Which actual definition of EAPI were you
using?
>
>> If I comment the errno variable inside the switch and replace it by 1
for
>> instance, it compiles fine.
>> Where should I start ?
>
> First thing would be to try and figure out why the insn isn't being
> recognized. This is rather odd unless your patch has affected the movsi
> definition in the .md file. Does the error go away if you make sure
there
> is
> no dllimport/export attribute?
>
> cheers,
> DaveK
Yes I think I forgot to apply some patch about dllimport/export.
That's the problem when maintaining something outside gcc trunk.
I will try to add the modification and test again.