Linked |
Apr. 8th, 2009|01:12 pm |
Пофиксил баг в "линкере", не везде учел addends, конструкции вроде:
uint32_t s = ((uint32_t)&__code_start + 4095) & 0xfffff000;
С включенной оптимизацией порождают, что-то вроде:
190: c7 45 cc ff 0f 00 00 movl $0xfff,0xffffffcc(%ebp)
193: R_386_32 __code_start
19a: 81 65 cc 00 f0 ff ff andl $0xfffff000,0xffffffcc(%ebp)
Вирус не добавлял 4095 и всё шло к чертям собачьим. Ж-)
А так вроде ничего, вчера выложил на форум второй черновичок. |
|