我正在尝试使用m68k-elf为M68000 CPU构建温度控制应用程序
GNU工具链。该应用程序已构建,但由于库例程出现问题而无法运行
在libgcc.a中。例如,一次链接的函数__ltdf2如下:
000166b4<__ltdf2>:
166b4:4e56 0000 linkw%fp,#0
166b8:4878 0001豌豆1<ADD>
166bc:2f2e 0014影片%fp @(20),%sp @-
166c0:2f2e 0010影片%fp @(16),%sp @-
166c4:2f2e 000c影片%fp @(12),%sp @-
166c8:2f2e 0008影片%fp @(8),%sp @-
166cc:61ff bsrs 166cd<__ltdf2+0x19>
166ce:ffff.short 0xffff
166d0:fdb8短0xfdb8
166d2:4e5e unlk%fp
166d4:4e75 rts
0x166cc处的分支不正确。库中存在的此函数如下:
00000000<__ltdf2>:
0:4e56 0000 linkw%fp,#0
4:4878 0001豌豆1<__ltdf2+0x1>
8:2f2e 0014 Movel%fp @(20),%sp @-
c:2f2e 0010 Movel%fp @(16),%sp @-
10:2f2e 000c Movel%fp @(12),%sp @-
14:2f2e 0008 Movel%fp @(8),%sp @-
18:61ff 0000 0000 bsrl 1a<__ltdf2+0x1a>
1e:4e5e卸载%fp
20:4e75 rts
所讨论的分支看起来更现实,但我怀疑应该用分支填充
到某个地方,但我不知道在哪里。
有没有人成功使用libgcc.a中的浮点函数?

问题解决了。 m68k的gcc工具链需要使用--with-cpu = 68000选项进行配置。这将使用正确的函数调用来构建libgcc.a。