Linking libgcc for M68K improperly?
Holland, Alexander MHX
HollaA@HPD.Abbott.com
Fri Feb 2 18:13:00 GMT 2001
Hi,
I built an image for an M68K-COFF target using GCC 2.95.2 hosted under
Cygwin. The following libgcc.a functions from my image were obtained using
objdump. Note line a311c: According to my 68k instruction manual, the bsrl
instruction results in pc + 0x00000022 -> pc, which by my calculations is
a313e and not a3140 as it should be. Does anyone have any
theories/explanations what might be going on?
000a3110 <__modsi3>:
a3110: 222f 0008 movel %sp@(8),%d1
a3114: 202f 0004 movel %sp@(4),%d0
a3118: 2f01 movel %d1,%sp@-
a311a: 2f00 movel %d0,%sp@-
a311c: 61ff 0000 0022 bsrl a3140 <__divsi3>
a3122: 508f addql #8,%sp
a3124: 222f 0008 movel %sp@(8),%d1
a3128: 2f01 movel %d1,%sp@-
a312a: 2f00 movel %d0,%sp@-
a312c: 61ff ffff ffbe bsrl a30ec <__mulsi3>
a3132: 508f addql #8,%sp
a3134: 222f 0004 movel %sp@(4),%d1
a3138: 9280 subl %d0,%d1
a313a: 2001 movel %d1,%d0
a313c: 4e75 rts
...
000a3140 <__divsi3>:
a3140: 2f02 movel %d2,%sp@-
a3142: 7401 moveq #1,%d2
a3144: 222f 000c movel %sp@(12),%d1
a3148: 6a04 bpls a314e <L1>
a314a: 4481 negl %d1
a314c: 4402 negb %d2
Thanks,
Alex
------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
More information about the crossgcc
mailing list