Anonymous
Это мож в линковку добавить
Dmitry
да, добавь
Dmitry
особенно первое
Dmitry
:)
Anonymous
ничего
Dmitry
не помогло что ли?
Anonymous
-
Anonymous
😕
Dmitry
хм
Dmitry
PAGE_SIZE = 4*1024
align 16
__chkstk_ms:
push rcx
push rax
cmp rax, PAGE_SIZE
lea rcx, [rsp + 24]
jb ._LessThanAPage
._MoreThanAPage:
sub rcx, PAGE_SIZE
or byte[rcx], 0
sub rax, PAGE_SIZE
cmp rax, PAGE_SIZE
ja ._MoreThanAPage
._LessThanAPage:
sub rcx, rax
or byte[rcx], 0
pop rax
pop rcx
ret
Dmitry
хм
Dmitry
но это для фасма
Dmitry
а в gcc gas :)
Dmitry
а у тебя mingw или mingw-w64?
Anonymous
mingw
Dmitry
-ffreestanding пробовал?
Anonymous
тоже самое
Anonymous
суть такова
Dmitry
тогда погоди
Anonymous
Anonymous
если я закомечу этот код то все ок
Anonymous
если раскоменчу что ошибка
Dmitry
сейчас, секунду
⸙ꠋꠋk̹̺ Seymøur
А посмотри что тягает за собой ReadFile
⸙ꠋꠋk̹̺ Seymøur
Наверняка либа какая еще
Dmitry
Dmitry
лови
Dmitry
и слинкуй с ним.
Anonymous
куда пихать
Dmitry
хммммм, вот был бы у меня шлакоблокс, я бы тебе сказал, а так... хм
Dmitry
есть там linker dependencies? или типа того
Anonymous
ну все
Dmitry
или просто добавить как файл к проекту
Anonymous
толку 0
Dmitry
а
Dmitry
добавил?
Dmitry
а как?
Dmitry
Add the object-file to "Build options... -> Linker settings -> Other linker options:"
⸙ꠋꠋk̹̺ Seymøur
В папку к коду
Dmitry
вот как
Anonymous
Dmitry
да, правильно
Dmitry
что выдает?
Anonymous
||=== Build: Release in test (compiler: GNU GCC Compiler) ===|
obj\Release\main.o:main.c|| undefined reference to `__chkstk_ms'|
||error: ld returned 1 exit status|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Anonymous
😕
Dmitry
хммммм
Dmitry
о
Dmitry
Dmitry
вот так попробуй
Anonymous
воо
Anonymous
сук
Anonymous
сука
Anonymous
на хую вертел
Dmitry
дык что произошло?
Dmitry
все то же самое?
Anonymous
запахало
Dmitry
заебись!
Anonymous
пздц
Anonymous
спс
Dmitry
ну вот, заебись. я на фасме накатал этот chkstk и скомпилил фасмом же
Anonymous
а почему он так не ел чект стека?
Dmitry
format MS COFF
section '.text' code readable executable
public ___chkstk_ms
___chkstk_ms:
push ecx
push eax
lea ecx, [esp + 12]
cmp eax, 4096
jl .l_LessThanAPage
.l_MoreThanAPage:
sub ecx, 4096
test [ecx], eax
sub eax, 4096
cmp eax, 4096
jge .l_MoreThanAPage
.l_LessThanAPage:
sub ecx, eax
test [ecx], eax
pop eax
pop ecx
ret
Dmitry
а потому что он хочет чтобы ты с CRT линковался, вот почему :)))
Anonymous
а хуй ему там
Anonymous
👍👍😂
Anonymous
пойду спать спокойно
Anonymous
теперь
Anonymous
уже думал сносить все
Anonymous
😕😕
Dmitry
ага, спокойной ночи
Anonymous
давай спокойной
South Port
Спокночи
void *
так у тебя на этапе линковки ошибка, это не ошибка синтаксиса
Dmitry
устранили же уже
Dmitry
он линкуется без CRT
void *
а, прочитал
Dmitry
а gcc автоматом добавляет вызов __chkstk_ms для проверки стека
Anonymous
угу.. заставил отказаться от CRT и вот он чек стека вызывал...
я чесно сказать с этим 1й раз столкнулся и в сети толкового не нашел ничего..
Anonymous
сначала думал что все проблема в копиле
Anonymous
тестировал на gcc 4/3/3 5/3/0