ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Ilya Kurdyukov <ilyakurdyukov@basealt.ru>
To: devel@lists.altlinux.org
Subject: Re: [devel] Не могу понять, почему при сборке в p10 не собирается palemoon
Date: Fri, 28 Oct 2022 10:08:33 +0700
Message-ID: <471c572b-89c0-229c-935b-bfd3dfc1fb2a@basealt.ru> (raw)
In-Reply-To: <7fed3a99-01af-b466-88ef-df7a39476bfd@gmail.com>

Во первых это не ассемблерная вставка, это код 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


  reply	other threads:[~2022-10-28  3:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-28  2:28 P X
2022-10-28  3:08 ` Ilya Kurdyukov [this message]
2022-10-28  4:48   ` P X

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=471c572b-89c0-229c-935b-bfd3dfc1fb2a@basealt.ru \
    --to=ilyakurdyukov@basealt.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git