All pastes #398213 Raw Edit

Stuff

public c v1 · immutable
·published 2007-03-17 01:17 UTC
rendered paste body
#include <stdarg.h>#include <stdio.h>void foo(int a, ...){    va_list vl;    va_start(vl, a);    while (1) {        int b = va_arg(vl, int);    }    va_end(vl);}int main(){    foo(1, 2, 3, 0);    return 0;}// ASM CODE:10000464 <foo>:10000464:	94 21 ff 70 	stwu    r1,-144(r1)10000468:	93 e1 00 8c 	stw     r31,140(r1)1000046c:	7c 3f 0b 78 	mr      r31,r110000470:	90 9f 00 1c 	stw     r4,28(r31)10000474:	90 bf 00 20 	stw     r5,32(r31)10000478:	90 df 00 24 	stw     r6,36(r31)1000047c:	90 ff 00 28 	stw     r7,40(r31)10000480:	91 1f 00 2c 	stw     r8,44(r31)10000484:	91 3f 00 30 	stw     r9,48(r31)10000488:	91 5f 00 34 	stw     r10,52(r31)1000048c:	40 86 00 24 	bne-    cr1,100004b0 <foo+0x4c>10000490:	d8 3f 00 38 	stfd    f1,56(r31)10000494:	d8 5f 00 40 	stfd    f2,64(r31)10000498:	d8 7f 00 48 	stfd    f3,72(r31)1000049c:	d8 9f 00 50 	stfd    f4,80(r31)100004a0:	d8 bf 00 58 	stfd    f5,88(r31)100004a4:	d8 df 00 60 	stfd    f6,96(r31)100004a8:	d8 ff 00 68 	stfd    f7,104(r31)100004ac:	d9 1f 00 70 	stfd    f8,112(r31)100004b0:	90 7f 00 78 	stw     r3,120(r31)100004b4:	38 00 00 01 	li      r0,1100004b8:	98 1f 00 0c 	stb     r0,12(r31)100004bc:	38 00 00 00 	li      r0,0100004c0:	98 1f 00 0d 	stb     r0,13(r31)100004c4:	38 1f 00 98 	addi    r0,r31,152100004c8:	90 1f 00 10 	stw     r0,16(r31)100004cc:	38 1f 00 18 	addi    r0,r31,24100004d0:	90 1f 00 14 	stw     r0,20(r31)100004d4:	88 1f 00 0c 	lbz     r0,12(r31)100004d8:	54 00 06 3e 	clrlwi  r0,r0,24100004dc:	2b 80 00 08 	cmplwi  cr7,r0,8100004e0:	40 9c 00 30 	bge-    cr7,10000510 <foo+0xac>100004e4:	81 7f 00 14 	lwz     r11,20(r31)100004e8:	88 1f 00 0c 	lbz     r0,12(r31)100004ec:	54 09 06 3e 	clrlwi  r9,r0,24100004f0:	7d 20 4b 78 	mr      r0,r9100004f4:	54 00 10 3a 	rlwinm  r0,r0,2,0,29100004f8:	7d 6b 02 14 	add     r11,r11,r0100004fc:	91 7f 00 7c 	stw     r11,124(r31)10000500:	38 09 00 01 	addi    r0,r9,110000504:	54 00 06 3e 	clrlwi  r0,r0,2410000508:	98 1f 00 0c 	stb     r0,12(r31)1000050c:	48 00 00 14 	b       10000520 <foo+0xbc>10000510:	81 3f 00 10 	lwz     r9,16(r31)10000514:	91 3f 00 7c 	stw     r9,124(r31)10000518:	38 09 00 04 	addi    r0,r9,41000051c:	90 1f 00 10 	stw     r0,16(r31)10000520:	81 3f 00 7c 	lwz     r9,124(r31)10000524:	80 09 00 00 	lwz     r0,0(r9)10000528:	90 1f 00 08 	stw     r0,8(r31)1000052c:	4b ff ff a8 	b       100004d4 <foo+0x70>10000530 <main>:10000530:	94 21 ff f0 	stwu    r1,-16(r1)10000534:	7c 08 02 a6 	mflr    r010000538:	93 e1 00 0c 	stw     r31,12(r1)1000053c:	90 01 00 14 	stw     r0,20(r1)10000540:	7c 3f 0b 78 	mr      r31,r110000544:	38 60 00 01 	li      r3,110000548:	38 80 00 02 	li      r4,21000054c:	38 a0 00 03 	li      r5,310000550:	38 c0 00 00 	li      r6,010000554:	4c c6 31 82 	crclr   4*cr1+eq10000558:	4b ff ff 0d 	bl      10000464 <foo>1000055c:	38 00 00 00 	li      r0,010000560:	7c 03 03 78 	mr      r3,r010000564:	81 61 00 00 	lwz     r11,0(r1)10000568:	80 0b 00 04 	lwz     r0,4(r11)1000056c:	7c 08 03 a6 	mtlr    r010000570:	83 eb ff fc 	lwz     r31,-4(r11)10000574:	7d 61 5b 78 	mr      r1,r1110000578:	4e 80 00 20 	blr1000057c:	00 01 83 a0 	.long 0x183a0