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
 ********************************************************************/


Reply via email to