thanks, fixed.
update binutils.
~d
On Thursday 19 December 2002 23:47, Oleg Skydan wrote:
> Hello All,
>
> I have found a BUG with loading long long constant:
>
> Here is the source:
>
> void Test(long long l)
> {
> }
>
> int main()
> {
> Test(1);
> }
>
> And here is the GDB disassembly:
>
> - 0x1166 <main>: mov #2560, SP ;#0x0a00
> - 0x116a <main+4>: mov r1, r4 ;
> 9 Test(1);
> - 0x116c <main+6>: mov #1, r12 ;subst r3 with As==01
> - 0x116e <main+8>: clr r13 ;
> - 0x1170 <main+10>: mov #1, r14 ;subst r3 with As==01 should be clr r14 !
> - 0x1172 <main+12>: mov #1, r15 ;subst r3 with As==01 should be clr r15 !
> - 0x1174 <main+14>: call #4416 ;#0x1140
> - 0x1178 <main+18>: br #0x117c ;
>
> I use msp430-gcc win32 build from 11 Dec 2002.
>
> Thanks,
> Oleg.
> P.S. Compiling to assembly gives correct asm listing:
> /***********************
> * Function `main'
> ***********************/
> main:
> .stabn 68,0,8,.LM3-main
> .LM3:
> /* prologue: frame size = 0 */
> .L__FrameSize_main=0x0
> .L__FrameOffset_main=0x0
> mov #(__stack-0), r1
> /* prologue end (size=2) */
> .stabn 68,0,9,.LM4-main
> .LM4:
> mov #llo(1), r12
> mov #lhi(1), r13
> mov #hlo(1), r14
> mov #hhi(1), r15
> call #Test
> .stabn 68,0,10,.LM5-main
> .LM5:
> /* epilogue: frame size=0 */
> br #__stop_progExec__
> /* epilogue end (size=4) */
> /* function main size 12 (6) */
> .Lfe2:
> .size main,.Lfe2-main
> /********* End of function ******/
--
/********************************************************************
("`-''-/").___..--''"`-._ (\ Dimmy the Wild UA1ACZ
`6_ 6 ) `-. ( ).`-.__.`) Enterprise Information Sys
(_Y_.)' ._ ) `._ `. ``-..-' Nevsky prospekt, 20 / 44
_..`--'_..-_/ /--'_.' ,' Saint Petersburg, Russia
(il),-'' (li),' ((!.-' +7 (812) 3468202, 5585314
********************************************************************/