|
|
1.1 ! root 1: / module name malloc ! 2: .alignoff ! 3: ! 4: .text ! 5: newarena: ! 6: enter $4, $0 ! 7: push %esi ! 8: push %edi ! 9: push %ebx ! 10: cmpb .L3, $0 ! 11: je .L4 ! 12: subl %eax, %eax ! 13: jmp .L2 ! 14: .L4: ! 15: push $0 ! 16: call sbrk ! 17: pop %ecx ! 18: andl %eax, $3 ! 19: movl -4(%ebp), %eax ! 20: orl %eax, %eax ! 21: je .L5 ! 22: movl %eax, $4 ! 23: subl %eax, -4(%ebp) ! 24: push %eax ! 25: call sbrk ! 26: pop %ecx ! 27: cmpl %eax, $-1 ! 28: jne .L5 ! 29: movb .L3, $1 ! 30: jmp .L20002 ! 31: .L5: ! 32: movl %eax, 8(%ebp) ! 33: addl %eax, $4104 ! 34: decl %eax ! 35: andl %eax, $-4096 ! 36: movl -4(%ebp), %eax ! 37: cmpl %eax, 8(%ebp) ! 38: jae .L6 ! 39: movl %eax, 8(%ebp) ! 40: movl -4(%ebp), %eax ! 41: .L6: ! 42: movl %eax, __a_first ! 43: movl __a_scanp, %eax ! 44: .L8: ! 45: push -4(%ebp) ! 46: call sbrk ! 47: pop %ecx ! 48: movl %ebx, %eax ! 49: cmpl %eax, $-1 ! 50: jne .L7 ! 51: movb .L3, $1 ! 52: movl %eax, -4(%ebp) ! 53: cmpl %eax, $256 ! 54: jbe .L20002 ! 55: subl -4(%ebp), $256 ! 56: movl %eax, -4(%ebp) ! 57: cmpl %eax, $8 ! 58: jae .L8 ! 59: movl -4(%ebp), $8 ! 60: jmp .L8 ! 61: .L7: ! 62: cmpl __a_top, $0 ! 63: jne .L11 ! 64: movl __a_count, $2 ! 65: movl %eax, %ebx ! 66: movl %edi, %eax ! 67: movl __a_scanp, %eax ! 68: movl __a_first, %eax ! 69: jmp .L12 ! 70: .L11: ! 71: cmpl %ebx, __a_top ! 72: jne .L13 ! 73: subl %ebx, $8 ! 74: addl -4(%ebp), $8 ! 75: movl %edi, 4(%ebx) ! 76: incl __a_count ! 77: jmp .L12 ! 78: .L13: ! 79: movl %eax, __a_top ! 80: subl %eax, $8 ! 81: movl %esi, %eax ! 82: movl %edi, 4(%esi) ! 83: movl 4(%esi), %ebx ! 84: addl __a_count, $2 ! 85: .L12: ! 86: movl %eax, -4(%ebp) ! 87: subl %eax, $8 ! 88: orl %eax, $1 ! 89: movl (%ebx), %eax ! 90: movl %eax, %ebx ! 91: addl %eax, -4(%ebp) ! 92: movl __a_top, %eax ! 93: subl %eax, $8 ! 94: movl %esi, %eax ! 95: movl (%esi), $0 ! 96: movl 4(%esi), %edi ! 97: .L20002: ! 98: movl %eax, $1 ! 99: .L2: ! 100: pop %ebx ! 101: pop %edi ! 102: pop %esi ! 103: leave ! 104: ret ! 105: .align 4 ! 106: .globl malloc ! 107: malloc: ! 108: enter $8, $0 ! 109: push %esi ! 110: push %edi ! 111: push %ebx ! 112: cmpl 8(%ebp), $0 ! 113: jne .L17 ! 114: .L20004: ! 115: subl %eax, %eax ! 116: jmp .L15 ! 117: .L17: ! 118: movl %eax, 8(%ebp) ! 119: addl %eax, $8 ! 120: decl %eax ! 121: andl %eax, $-4 ! 122: movl -4(%ebp), %eax ! 123: cmpl %eax, 8(%ebp) ! 124: jb .L20004 ! 125: .L21: ! 126: subl %esi, %esi ! 127: movl %ebx, __a_scanp ! 128: movl %eax, __a_count ! 129: movl -8(%ebp), %eax ! 130: .L23: ! 131: movl %eax, -8(%ebp) ! 132: decl -8(%ebp) ! 133: orl %eax, %eax ! 134: je .L22 ! 135: movl %ecx, (%ebx) ! 136: movl %edi, %ecx ! 137: testl %ecx, $1 ! 138: jne .L24 ! 139: subl %esi, %esi ! 140: .L25: ! 141: orl %edi, %edi ! 142: je .L10001 ! 143: movl %eax, %edi ! 144: andl %eax, $-2 ! 145: addl %eax, %ebx ! 146: jmp .L10002 ! 147: .L10001: ! 148: movl %eax, 4(%ebx) ! 149: .L10002: ! 150: movl %ebx, %eax ! 151: jmp .L23 ! 152: .L22: ! 153: cmpl %ebx, __a_scanp ! 154: je .L20 ! 155: push $24 ! 156: push $.L16 ! 157: push $2 ! 158: call write ! 159: addl %esp, $12 ! 160: call abort ! 161: .L20: ! 162: push -4(%ebp) ! 163: call newarena ! 164: pop %ecx ! 165: orl %eax, %eax ! 166: jne .L21 ! 167: jmp .L20004 ! 168: .L24: ! 169: orl %esi, %esi ! 170: je .L26 ! 171: movl %ebx, %esi ! 172: movl %eax, %edi ! 173: andl %eax, $-2 ! 174: addl (%ebx), %eax ! 175: movl %eax, (%ebx) ! 176: movl %edi, %eax ! 177: decl __a_count ! 178: .L26: ! 179: cmpl %edi, -4(%ebp) ! 180: jae .L27 ! 181: movl %esi, %ebx ! 182: jmp .L25 ! 183: .L27: ! 184: movl %eax, -4(%ebp) ! 185: subl %edi, %eax ! 186: movl %eax, %edi ! 187: cmpl %eax, $8 ! 188: jae .L29 ! 189: movl %eax, (%ebx) ! 190: andl %eax, $-2 ! 191: movl -4(%ebp), %eax ! 192: movl (%ebx), %eax ! 193: movl %eax, %ebx ! 194: addl %eax, -4(%ebp) ! 195: movl __a_scanp, %eax ! 196: jmp .L30 ! 197: .L29: ! 198: movl %eax, -4(%ebp) ! 199: movl (%ebx), %eax ! 200: movl %eax, %ebx ! 201: addl %eax, -4(%ebp) ! 202: movl __a_scanp, %eax ! 203: movl %ecx, __a_scanp ! 204: movl (%ecx), %edi ! 205: incl __a_count ! 206: .L30: ! 207: lea %eax, 4(%ebx) ! 208: .L15: ! 209: pop %ebx ! 210: pop %edi ! 211: pop %esi ! 212: leave ! 213: ret ! 214: .align 4 ! 215: .globl free ! 216: free: ! 217: push %ebp ! 218: movl %ebp, %esp ! 219: push %esi ! 220: push %edi ! 221: push %ebx ! 222: cmpl 8(%ebp), $0 ! 223: je .L32 ! 224: movl %eax, 8(%ebp) ! 225: subl %eax, $4 ! 226: movl %ebx, %eax ! 227: movl %esi, (%ebx) ! 228: cmpl %esi, $2 ! 229: jae .L34 ! 230: push $22 ! 231: push $.L35 ! 232: push $2 ! 233: call write ! 234: addl %esp, $12 ! 235: call abort ! 236: .L34: ! 237: orl (%ebx), $1 ! 238: movl %edi, %esi ! 239: andl %edi, $-2 ! 240: movl %eax, %ebx ! 241: addl %eax, %edi ! 242: cmpl %eax, __a_scanp ! 243: je .L10003 ! 244: movl %edi, __a_scanp ! 245: testl (%edi), $1 ! 246: jne .L32 ! 247: .L10003: ! 248: movl __a_scanp, %ebx ! 249: .L32: ! 250: pop %ebx ! 251: pop %edi ! 252: pop %esi ! 253: leave ! 254: ret ! 255: .align 4 ! 256: .align 4 ! 257: ! 258: .data ! 259: .align 4 ! 260: .globl __a_scanp ! 261: __a_scanp: ! 262: .long 0 ! 263: .align 4 ! 264: .globl __a_first ! 265: __a_first: ! 266: .long 0 ! 267: .align 4 ! 268: .globl __a_top ! 269: __a_top: ! 270: .long 0 ! 271: .align 4 ! 272: .globl __a_count ! 273: __a_count: ! 274: .long 0 ! 275: .align 1 ! 276: .L3: ! 277: .byte 0 ! 278: .align 1 ! 279: .L16: ! 280: .byte 66 ! 281: .byte 97 ! 282: .byte 100 ! 283: .byte 32 ! 284: .byte 112 ! 285: .byte 111 ! 286: .byte 105 ! 287: .byte 110 ! 288: .byte 116 ! 289: .byte 101 ! 290: .byte 114 ! 291: .byte 32 ! 292: .byte 105 ! 293: .byte 110 ! 294: .byte 32 ! 295: .byte 109 ! 296: .byte 97 ! 297: .byte 108 ! 298: .byte 108 ! 299: .byte 111 ! 300: .byte 99 ! 301: .byte 46 ! 302: .byte 13 ! 303: .byte 10 ! 304: .byte 0 ! 305: .align 1 ! 306: .L35: ! 307: .byte 66 ! 308: .byte 97 ! 309: .byte 100 ! 310: .byte 32 ! 311: .byte 112 ! 312: .byte 111 ! 313: .byte 105 ! 314: .byte 110 ! 315: .byte 116 ! 316: .byte 101 ! 317: .byte 114 ! 318: .byte 32 ! 319: .byte 105 ! 320: .byte 110 ! 321: .byte 32 ! 322: .byte 102 ! 323: .byte 114 ! 324: .byte 101 ! 325: .byte 101 ! 326: .byte 46 ! 327: .byte 13 ! 328: .byte 10 ! 329: .byte 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.