public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Chao Li" <lichao@loongson.cn>
To: devel@edk2.groups.io, maobibo@loongson.cn
Cc: "WANG Xuerui" <i.qemu@xen0n.name>,
	qemu-devel <qemu-devel@nongnu.org>,
	"Song Gao" <gaosong@loongson.cn>, 杨小娟 <yangxiaojuan@loongson.cn>,
	"Gerd Hoffmann" <kraxel@redhat.com>
Subject: Re: [edk2-devel] On integrating LoongArch EDK2 firmware into QEMU build process
Date: Mon, 3 Apr 2023 18:13:41 +0800	[thread overview]
Message-ID: <aa56f4de-e50e-7a7f-3e0e-39e5fa20df29@loongson.cn> (raw)
In-Reply-To: <acbba848-d770-2d17-f3eb-60b87bfa9447@loongson.cn>

[-- Attachment #1: Type: text/plain, Size: 3141 bytes --]

Hi Bibo,

Thanks for Cc to me.


Hi Gerd,

This problem is because the gcc-12 does not yet to support the option 
'mno-explicit-reloc', this option is used to open the new reloaction 
type for LoongArch, this new feature is very important for LoongArch, 
because it can reduce the binary size and improve code execution 
efficiency, so we turn it on when submitting the code to the EDK2 repo.

gcc-13 will support this new feature, so we expect this issue to be 
resolved when using gcc-13, which may be released at this month.

If Fedora38 does not plan to use gcc-13 now, I suggest that CI can 
download a LoongArch cross gcc-13 when creating a docker image, just 
like EDK2 CI process. You can refer following link for more information: 
https://github.com/tianocore/containers/blob/main/Fedora-37/Dockerfile . 
EDK2 CI uses Fedora35 and Fedora37 docker images for LoongArch,  they 
will download a LoongArch cross gcc-13 when the CI targets is LoongArch.

We are really sorry about that, I think this solution will make more 
work for you, but I think it is the best way for now, and I believe it 
will be solved when Fedora uses gcc-13 in the future.


Thanks,
Chao
在 2023/4/3 16:51, maobibo 写道:
> Cc to Chao Li who is maintainer of edk2 about LoongArch support.
>
> Hi Chao,
>
> Fedora38 is used to build edk2 binary in qemu CI, cross gcc-12 is
> integrated on Fedora38. There is one issue when gcc-12 is used to
> build edk2 loongarch like this:
>> ... but when trying to use them to compile the loongarch firmware gcc
>> throws errors:
>>
>> loongarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-mno-explicit-reloc
> what is your option about this issue?
>
> Regards
> Bibo, Mao
>
> 在 2023/4/1 13:11, maobibo 写道:
>>
>> On 2023/3/31 20:12, Gerd Hoffmann wrote:
>>> On Fri, Mar 31, 2023 at 08:54:16AM +0800, maobibo wrote:
>>>> Xuerui,
>>>>
>>>> Thanks for your mail, it is a good suggestion. Now we are planing to
>>>> move LoongArch uefi bios from edk2-platform to edk2 repo, so that uefi
>>>> bios supporting LoongArch can be auto compiled and uploaded to qemu
>>>> repo. Only that process is somwhat slow since lacking of hands,
>>>> however we are doing this.
>>> Good, so I think it makes sense for qemu to just wait for that to
>>> happen.
>>>
>>> Related question:  What are the requirements to build the firmware?
>>> Fedora 38 ships cross compiler packages ...
>>>
>>>     binutils-loongarch64-linux-gnu-2.39-3.fc38.x86_64
>>>     gcc-loongarch64-linux-gnu-12.2.1-5.fc38.x86_64
>>>
>>> ... but when trying to use them to compile the loongarch firmware gcc
>>> throws errors:
>>>
>>> loongarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-mno-explicit-relocs’
>>>
>>> I suspect gcc-12 is just too old?
>> There is a little different about relocation between gcc-12 and gcc-13 on LoongArch, gcc-13 is required for edk2 compiler now.
>>
>> However I think it is actually is one issue if gcc-12 can not be used and gcc-12 is popular latest compiler for all architectures. We will solve this problem.
>>
>> Regards
>> Bibo, Mao
>>
>>
>>> take care,
>>>     Gerd
>>>
>
>
> 
>

[-- Attachment #2: Type: text/html, Size: 4867 bytes --]

  reply	other threads:[~2023-04-03 10:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1f1d3d9f-c3df-4f29-df66-886410994cc3@xen0n.name>
     [not found] ` <67517424-0f32-09f8-6446-53f71ebd59b5@loongson.cn>
     [not found]   ` <x5vbhjcyc3jl5u3qdjg2dq2znwhdq7ordmbjm6s2hftwyusqp2@r6smasorrjor>
     [not found]     ` <317e3008-e2bd-8af6-2cf5-dad49d98cb8d@loongson.cn>
2023-04-03  8:51       ` On integrating LoongArch EDK2 firmware into QEMU build process maobibo
2023-04-03 10:13         ` Chao Li [this message]
2023-04-03 10:29           ` [edk2-devel] " Michael Brown
2023-04-03 11:04             ` Gerd Hoffmann
2023-04-04  2:24               ` Chao Li
2023-04-03 10:58           ` Gerd Hoffmann

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-list 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=aa56f4de-e50e-7a7f-3e0e-39e5fa20df29@loongson.cn \
    --to=devel@edk2.groups.io \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox