Bug 14555 - libffi/m68k lacks non-fpu and ColdFire support
Summary: libffi/m68k lacks non-fpu and ColdFire support
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: libffi (show other bugs)
Version: 4.0.0
: P2 enhancement
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-03-12 14:19 UTC by corsepiu
Modified: 2011-02-08 19:22 UTC (History)
5 users (show)

See Also:
Host:
Target: m68k-rtems
Build:
Known to work:
Known to fail:
Last reconfirmed: 2006-01-05 14:23:21


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description corsepiu 2004-03-12 14:19:27 UTC
libffi/src/m68k lacks support for non-fpu m68k's.

Trying to build libffi standalone for m68k-rtems (a variant of m68k-elf) with a
modified libffi/configure.in:

# m68k-rtems4.7-gcc -m68000 -I.
-I/usr/local/src/packages/gcc/subversions/gcc/libffi/include -Iinclude
-I/usr/local/src/packages/gcc/subversions/gcc/libffi/src -g -O2 -c
/usr/local/src/packages/gcc/subversions/gcc/libffi/src/m68k/sysv.S -o
src/m68k/sysv.o
/usr/local/src/packages/gcc/subversions/gcc/libffi/src/m68k/sysv.S: Assembler
messages:
/usr/local/src/packages/gcc/subversions/gcc/libffi/src/m68k/sysv.S:47: Error:
operands mismatch -- statement `tst.l %a1' ignored
/usr/local/src/packages/gcc/subversions/gcc/libffi/src/m68k/sysv.S:65: Error:
invalid instruction for this architecture; needs fpu (68040, 68060 or
68881/68882) -- statement `fmove.s %fp0,(%a1)' ignored
/usr/local/src/packages/gcc/subversions/gcc/libffi/src/m68k/sysv.S:71: Error:
invalid instruction for this architecture; needs fpu (68040, 68060 or
68881/68882) -- statement `fmove.d %fp0,(%a1)' ignored
/usr/local/src/packages/gcc/subversions/gcc/libffi/src/m68k/sysv.S:77: Error:
invalid instruction for this architecture; needs fpu (68040, 68060 or
68881/68882) -- statement `fmove.x %fp0,(%a1)' ignored
/usr/local/src/packages/gcc/subversions/gcc/libffi/src/m68k/sysv.S:90: Error:
invalid instruction for this architecture; needs 68020 or higher -- statement
`bfins %d0,(%a1){#0,%d2}' ignored
make[6]: *** [src/m68k/sysv.lo] Error 1

FYI: m68k-rtems is supposed to support these multilib variants:
# m68k-rtems4.7-gcc --print-multi-lib
.;
m68000;@m68000
m5200;@m5200
mcpu32;@mcpu32
m68030;@m68030
m68040;@m68040
m68060;@m68060
msoft-float;@msoft-float
m68030/msoft-float;@m68030@msoft-float
m68040/msoft-float;@m68040@msoft-float
m68060/msoft-float;@m68060@msoft-float
Comment 1 Joel Sherrill 2011-02-08 19:22:13 UTC
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47442

Patch reviewed by libffi maintainers and committed to SVN head.