[devel] Не могу понять, почему при сборке в p10 не собирается palemoon
Ilya Kurdyukov
ilyakurdyukov на basealt.ru
Пт Окт 28 06:08:33 MSK 2022
Во первых это не ассемблерная вставка, это код jit.
Функция spew где-то определена со специальным атрибутом-подсказкой для
компилятора, что аргументы похожи на формат аргументов printf().
Эта версия компилятора считает что передача NULL для %s это безусловная
ошибка. Хотя даже printf печатает NULL как (null), то есть обрабатывает
корректно. Так и тут это может быть намеренным (но нужно разбираться).
Разница с p10 может быть версия компилятора.
Попробуйте отключить эту -Werror, и проверить работоспособность после
сборки.
On 10/28/22 09:28, P X wrote:
> Всем привет ;-)
>
> Подскажите в какую сторону копать и как можно поправить.
>
> При сборке в Сизиф palemoon не имеет проблем, но при попытке сборки в
> p10, сборка вываливается с руганью на то, что в ассемблерной вставке
> не определён один из операндов.
>
> Чем это может быть вызвано, и в какую сторону надо патчить код (или
> менять сборочную среду). Я уже и yasm менял на sasm, и код
> разглядывал, не пойму как лечить.
>
> Пример неудачной сборки
> https://git.altlinux.org/tasks/308526/build/500/x86_64/log
>
> В конце логов можно найти подобное :
>
> "
> /usr/src/RPM/BUILD/palemoon-31.3.1/palemoon/obj-x86_64/dist/include/mozilla/PodOperations.h:
> In instantiation of 'void mozilla::PodZero(T*) [with T =
> js::jit::BaseIndex]':
> /usr/src/RPM/BUILD/palemoon-31.3.1/palemoon/platform/js/src/jit/shared/Assembler-shared.h:304:40:
> required from here
> /usr/src/RPM/BUILD/palemoon-31.3.1/palemoon/obj-x86_64/dist/include/mozilla/PodOperations.h:31:9:
> warning: 'void* memset(void*, int, size_t)' clearing an object of
> non-trivial type 'struct js::jit::BaseIndex'; use assignment or value-in
> itialization instead [-Wclass-memaccess]
> 31 | memset(aT, 0, sizeof(T));
> | ~~~~~~^~~~~~~~~~~~~~~~~~
> ....
> usr/src/RPM/BUILD/palemoon-31.3.1/palemoon/platform/js/src/jit/shared/Assembler-shared.h:293:8:
> note: 'struct js::jit::BaseIndex' declared here
> 293 | struct BaseIndex
> ....
>
>
> /usr/src/RPM/BUILD/palemoon-31.3.1/palemoon/obj-x86_64/dist/include/js/Value.h:303:32:
> note: 'class JS::Value' declared here
> 303 | class MOZ_NON_PARAM alignas(8) Value
> | ^~~~~
> ....
> /usr/src/RPM/BUILD/palemoon-31.3.1/palemoon/platform/js/src/jit/x86-shared/AssemblerBuffer-x86-shared.h:
> In member function 'void js::jit::Assembler::movq.constprop(const
> js::jit::Operand&, js::jit::Register)':
> /usr/src/RPM/BUILD/palemoon-31.3.1/palemoon/platform/js/src/jit/x86-shared/AssemblerBuffer-x86-shared.h:45:32:
> note: format string is defined here
> 45 | #define MEM_obs MEM_o "(%s,%s,%d)"
> | ^~
> cc1plus: some warnings being treated as errors
> make[5]: ***
> [/usr/src/RPM/BUILD/palemoon-31.3.1/palemoon/platform/config/rules.mk:884:
> Unified_cpp_js_src8.o] Error 1
> make[5]: Leaving directory
> '/usr/src/RPM/BUILD/palemoon-31.3.1/palemoon/obj-x86_64/js/src'
> make[5]: *** Waiting for unfinished jobs....
> "
>
>
> При сборке в Сизиф такого нет
>
> PS вот написал письмо, и заинтересовался предупреждениями о memset ;-)
>
> ---
> С уважением, Хихин Руслан
>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
Подробная информация о списке рассылки Devel