Всем привет. Столкнулся с такой проблемой, что проект без crt не хочет линоковаться clang (ollvm)
Точнее он почему-то вставляет сртишные вызовы _chkstk и memcpy в релизный билд.
Сразу скажу, что не использую конструкции вида
memcpy он пихает в такие конструкции:
__chkstk просто во все функции вставляет
Параметр -fno-builtin не помог.
Так же не помогает добавление аттрибута
Я гуглил насчёт этого всего и нашел только no_builtin и сообщения о том, что это невозможно, "потому что по стандарту так надо!!"
Может есть какой-то вариант переопределить эти функции без особых проблем? Или желательно их вообще отключить.
MSVC отлично компилирует код без этих вставок и при линковке проблем нет, а с clang'ом какая-то проблема(
Точнее он почему-то вставляет сртишные вызовы _chkstk и memcpy в релизный билд.
Сразу скажу, что не использую конструкции вида
struct SomeStruct ss = {0}; или BYTE z[32] = {0};memcpy он пихает в такие конструкции:
C:
BYTE somearray[10][10] = {
{0x0, 0x1, 0x2, 0x3, 0xFF, 0x43, ...},
{0x8, 0x2, 0x5, 0x6, 0xEF, 0x58, ...},
...
}
C:
WCHAR x1[9] = L"\x5a\x5b\x6c\x6d\x7e\x6f\xFb\x21";
WCHAR x2[10] = L"\x5a\x4c\x7b\x6d\x6f\x70\x7b\xFE\x03";
WCHAR x3[12] = L"\x5b\x6e\x7c\x7c\x61\x6d\x6c\x6a\x6d\xFA\x05";
...
__chkstk просто во все функции вставляет
Параметр -fno-builtin не помог.
Так же не помогает добавление аттрибута
void somefn() __attribute__((no_builtin)) {...}Я гуглил насчёт этого всего и нашел только no_builtin и сообщения о том, что это невозможно, "потому что по стандарту так надо!!"
Может есть какой-то вариант переопределить эти функции без особых проблем? Или желательно их вообще отключить.
MSVC отлично компилирует код без этих вставок и при линковке проблем нет, а с clang'ом какая-то проблема(