[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XEN PATCH] build: Fix x86 build without EFI


  • To: Anthony PERARD <anthony.perard@xxxxxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Tue, 16 Aug 2022 18:29:02 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NVs/y53rm0mlgL4Mu44oEu5R7zJkpHdS6twmZrzZIfc=; b=JRePEkxU+k3Oh56br47L81eN4XbAoCoZuzq8mRUfMndGC0IijzUTaoHUzOQYAI6KOt/XLyoOdsMLHFmebdtyTTdIm2nArIfKVCCHCnA+Ll4cRbHIITLt/G8F9PC83GN3gVojzFEPBzU3Kh2V/79fLEi/XdsmIn/FzT3wfJzmaZJBp0TzAaOdC3dKiAfhgRyhMvuP8KaWz3CUnwYHSIeAd7lMxqW9rNW7PPX3c6GVhJGeh6ObPSPdFgiwJ6uKkdNoAW8d5FfrGtG/cehUiP5HWjx3AyunywJIw7lsz90y7wGmLx+oNvjolbWVcwBtpaImPXjyYeswsIQ4PtpBx0wHGw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SqhHP7rTuHEKjwzHHdJw0eXedByHtbluLbsr7+ljzc8HffiIb4Hwa4jfocBa7aUoGo0HoYG0/Z7YYGYfUgoigXB6LYdQ8p6PEz71WqOR0ptFm3fU1NgNZsIQ1qDg5AUQ08sDMdtbSRjCUEtvq3e7CX7eDADDTePegOBz+y4uVEo8ND7JgXvS+ncvehUxnx6XmUs0qTv0lBKjA5dAvz2HQ4TfB0SwCw+lxyNkTYKbhzBIweXRb+hgG0VJOGjVPxTPyJwEIOWz99+iEE9J2lChSDprzf6qCdMLFsM30NQRyVD/xWI7cBeZQ6F1uN33yFfS8k2aLLbFrxLEugiNt4s0YA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Wei Chen <wei.chen@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Tue, 16 Aug 2022 16:29:16 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 16.08.2022 17:43, Anthony PERARD wrote:
> On Tue, Aug 16, 2022 at 03:02:10PM +0200, Jan Beulich wrote:
>> On 16.08.2022 12:30, Anthony PERARD wrote:
>>> We can't have a source file with the same name that exist in both the
>>> common code and in the arch specific code for efi/. This can lead to
>>> comfusion in make and it can pick up the wrong source file. This issue
>>> lead to a failure to build a pv-shim for x86 out-of-tree, as this is
>>> one example of an x86 build using the efi/stub.c.
>>>
>>> The issue is that in out-of-tree, make might find x86/efi/stub.c via
>>> VPATH, but as the target needs to be rebuilt due to FORCE, make
>>> actually avoid changing the source tree and rebuilt the target with
>>> VPATH ignored, so $@ lead to the build tree where "stub.c" dosen't
>>> exist yet so a link is made to "common/stub.c".
>>>
>>> Rework the new common/stub.c file to have a different name than the
>>> already existing one. And build both *stub.c as two different objects.
>>> This mean we have to move some efi_compat_* aliases which are probably
>>> useless for Arm.
>>
>> These useless aliases want avoiding there imo. Already when the original
>> series was discussed, I requested to avoid introduction of a file named
>> common-stub.c or alike.
> 
> Yeah, I've notice that. This is why the build is broken under
> specific condition.
> 
>> If names need to be different, can't we follow
>> boot.c's model and introduce a per-arch efi/stub.h which stub.c would
>> include at a suitable position (and which right now would be empty for
>> Arm)?
> 
> That seems to be possible. But how is it better than having two
> different source file? The only thing is to avoid exporting the
> efi_compat_* symbol aliases.

As said - I think they're wrong to have in Arm. But if Arm maintainers
don't care about them being there, so be it. As long as they don't
voice a view, I guess as the EFI maintainer I can sensibly ask for
them to be avoided in a reasonably clean way.

> The downside is we would have another weird
> looking not really header which is actually just part of a source file.
> At least, "stub.c" and "stub.h" would be two different names, we just
> change the extension rather than the basename.

Whether that's "weird" is certainly a matter of taste ... To me,
common-stub.c also comes close  to "weird", fwiw. But as I've tried
to express, if I'm the only one disliking common-stub.c, then please
ignore my view and I'll nevertheless ack the resulting patch. (That
said, I view the vpath issue causing the problem as really the one
that would want tackling. There shouldn't be a requirement for
files to have different names as long as they live in different
directories.)

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.