From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) by mx.groups.io with SMTP id smtpd.web08.1034.1611857815701275931 for ; Thu, 28 Jan 2021 10:16:56 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@broadcom.com header.s=google header.b=KJ9zEbKR; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: broadcom.com, ip: 209.85.218.45, mailfrom: abhishek.shah@broadcom.com) Received: by mail-ej1-f45.google.com with SMTP id w1so9160081ejf.11 for ; Thu, 28 Jan 2021 10:16:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=XPZbseBotmfkIMYsVY63CqJwH9y3QS6iE2oVqn8EVXo=; b=KJ9zEbKRhy5dFXtRj6nOQZQ5Nu+e9C/lcapZ9kqIElwMtimOFAxPkbsuN0l8chE9f7 Y4ut4OkhxJzVrni6QsXA3pA2D/I8RwI6TTW8kC6722+s/BGQPJjqwy73VdGAI+uTPicV ndBFmW2LSO9/Yjco1pQG0iQ/UonxDBcKdCxZU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=XPZbseBotmfkIMYsVY63CqJwH9y3QS6iE2oVqn8EVXo=; b=b1rhZoNrWH1LMwGRuvjYy0q9y6SbJD82iZY7IJTauJ/jZfkZwC3iLMycisrzvhv/Ew 47V+RwqQScvGuQpb9EkCNn0wicxYXkU61g5MwdpiNX2WLcAhfDcn35lh5ZbK8UlHjpVp BcyGPAYGpgbqEGF5FLPJP4SRt9eGQU9RRyY4847gCWEZftUnd7Cj6ihISefrhTwPqXLd +9Y/OqltGdbUlDvn9rsgJcqtaEhGrqzYOTrhlrhye0RoKT/EdMyv4yxpBaCb3I/uXRKW rfBqJJO8EkXtgjPsVyw0oaipY6QoFI2Wl9ZpL7SxdWoY7UZtzv8o0p92iIeq7Qcltdtq tbzg== X-Gm-Message-State: AOAM533+vLLCn+wKcbKNoh692tkyXSk1lyAWJhtLO8D1n0fFSvh6OcK2 /bEz+XtyjCx058JuspCLJZeWJUd3uRgkA8yu4NVG1Svc6uY1OTyq X-Google-Smtp-Source: ABdhPJyN6UV/a5xeB8FWsbg6gjewhKw4i87pLN7pnJEubzbZjA8KDOa9dqSvMzSmiHKcNen3PkaOozBq6NruldtsQOg= X-Received: by 2002:a17:906:a082:: with SMTP id q2mr638201ejy.483.1611857813568; Thu, 28 Jan 2021 10:16:53 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: "Abhishek Shah" Date: Thu, 28 Jan 2021 23:46:37 +0530 Message-ID: Subject: Re: Question: module compilation failure with less number of files To: devel@edk2.groups.io Cc: Vladimir Olovyannikov X-Groupsio-MsgNum: 70859 Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="00000000000071d3d805b9f9e411" --00000000000071d3d805b9f9e411 Content-Type: multipart/alternative; boundary="0000000000006864fa05b9f9e47d" --0000000000006864fa05b9f9e47d Content-Type: text/plain; charset="UTF-8" I got an answer based on the other question I had posted. I think "Rule" provided for given inf (using RuleOverride) forces certain files to be present: [Rule.Common.USER_DEFINED.ACPITABLE] FILE FREEFORM = $(NAMED_GUID) { RAW ACPI |.acpi RAW ASL |.aml } So, in this case, for given inf module, if either of .acpi or .aml file is not generated, then below kind of error shows up: : error F003: Output file for RAW section could not be found for Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf Regards, Abhishek On Thu, Jan 28, 2021 at 5:47 PM Abhishek Shah wrote: > Hi All, > > I am trying to compile some ACPI tables, and I observed that > if I specify less minimal tables/asl as Sources for ACPI tables module INF > file > (resulting in less size of overall module), compilation fails with below > error: > > build.py... > : error F003: Output file for RAW section could not be found for > Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > > To reproduce this issue, > 1) Apply below patch (just keeping Fadt.c here as example; > Other ways: just keep ASL file after removing some objects to reduce file > size; or keep combination of .c and .asl files - **as long as these files > are small**): > > -------------------------------------------------------------------------------- > diff --git a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > index f140febc4a..1a489a0a8a 100644 > --- a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > +++ b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > @@ -16,13 +16,8 @@ > VERSION_STRING = 1.0 > > [Sources] > - Dsdt.asl > - Dbg2.aslc > - Spcr.aslc > Fadt.aslc > - Gtdt.aslc > Madt.aslc > - AcpiSsdtRootPci.asl # Juno R1 specific > > [Packages] > ArmPkg/ArmPkg.dec > > -------------------------------------------------------------------------------- > > 2) Now compile the module: > export PACKAGES_PATH=`pwd`/edk2-platforms/ > > -------------------------------------------------------------------------------- > build -a AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc -m > Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > > Processing meta-data . > Architecture(s) = AARCH64 > Build target = DEBUG > Toolchain = GCC5 > > Active Platform = > /projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.dsc > Active Module = > /projects/uefi/edk2-platforms/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > ... > > build.py... > : error F003: Output file for RAW section could not be found for > Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf > > - Failed - > Build end time: 17:44:14, Jan.28 2021 > Build total time: 00:00:04 > > -------------------------------------------------------------------------------- > > Can anyone help understand this behavior? > > Regards, > Abhishek > --0000000000006864fa05b9f9e47d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I got an answer based on the other question I had posted.<= div>I think "Rule" provided for given=C2=A0inf (using RuleOverrid= e) forces certain files to be present:

[Rule.Commo= n.USER_DEFINED.ACPITABLE]
=C2=A0 FILE FREEFORM =3D $(NAMED_GUID) {
= =C2=A0 =C2=A0 RAW ACPI =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |.a= cpi
=C2=A0 =C2=A0 RAW ASL =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0|.aml
=C2=A0 }

So, in this case, = for given inf module, if either of .acpi or .aml file is not generated,
then below kind of error shows=C2=A0up:

: e= rror F003: Output file for RAW section could not be found for Platform/ARM/= JunoPkg/AcpiTables/AcpiTables.inf=C2=A0=C2=A0

= Regards,
Abhishek

On Thu, Jan 28, 2021 at 5:47 PM Abhishek S= hah <abhishek.shah@broadco= m.com> wrote:
Hi All,

I am trying to compile som= e ACPI tables, and I observed that
if I specify=C2=A0less minimal= tables/asl as Sources for ACPI tables module INF file
(resulting= in less size of overall module), compilation fails with below error:
=

build.py...
=C2=A0: error F003: Output file for RAW = section could not be found for Platform/ARM/JunoPkg/AcpiTables/AcpiTables.i= nf

To reproduce this issue,
1) Apply= below patch (just keeping Fadt.c here as example;
Other ways: ju= st keep ASL file after removing some objects to reduce file size; or keep c= ombination of .c and .asl files - **as long as these files are small**):
-------------------------------------------------------------------= -------------
diff --git a/Platform/ARM/JunoPkg/AcpiTables/AcpiTa= bles.inf b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
index f140febc= 4a..1a489a0a8a 100644
--- a/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.i= nf
+++ b/Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf
@@ -16,13 +16= ,8 @@
=C2=A0 =C2=A0VERSION_STRING =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =3D 1.0

=C2=A0[Sources]
- =C2=A0Dsdt.asl
- = =C2=A0Dbg2.aslc
- =C2=A0Spcr.aslc
=C2=A0 =C2=A0Fadt.aslc
- =C2=A0G= tdt.aslc
=C2=A0 =C2=A0Madt.aslc
- =C2=A0AcpiSsdtRootPci.asl =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0# Juno R1 specific

=C2=A0[Packages]
= =C2=A0 =C2=A0ArmPkg/ArmPkg.dec
-------------------------= -------------------------------------------------------

2) Now compile the module:
export PACKAGES= _PATH=3D`pwd`/edk2-platforms/
--------------------------= ------------------------------------------------------
build =C2=A0 -a AARCH64 -t GCC5 -p Platform/ARM/JunoPkg/ArmJuno.dsc = -m Platform/ARM/JunoPkg/AcpiTables/AcpiTables.inf

<= div>Processing meta-data .
Architecture(s) =C2=A0=3D AARCH64
Build ta= rget =C2=A0 =C2=A0 =3D DEBUG
Toolchain =C2=A0 =C2=A0 =C2=A0 =C2=A0=3D GC= C5

Active Platform =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=3D /projects/u= efi/edk2-platforms/Platform/ARM/JunoPkg/ArmJuno.dsc
Active Module =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=3D /projects/uefi/edk2-platforms/Platfo= rm/ARM/JunoPkg/AcpiTables/AcpiTables.inf
...

build.py...
=C2= =A0: error F003: Output file for RAW section could not be found for Platfor= m/ARM/JunoPkg/AcpiTables/AcpiTables.inf

- Failed -
Build end time= : 17:44:14, Jan.28 2021
Build total time: 00:00:04
--= ---------------------------------------------------------------------------= ---

Can anyone help understand th= is behavior?

Regards,
Abhishek
--0000000000006864fa05b9f9e47d-- --00000000000071d3d805b9f9e411 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 M7Vaut+UXunuHwgFlhRih5h2e1Dr2OwuYUXWkN09iPdM6+JA/4cVPuinzr948YIceiE2pcJiPyfH D5I6NS7GLMj1zhUCAwEAAaOCAdEwggHNMA4GA1UdDwEB/wQEAwIFoDCBngYIKwYBBQUHAQEEgZEw gY4wTQYIKwYBBQUHMAKGQWh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L2dzcGVy c29uYWxzaWduMnNoYTJnM29jc3AuY3J0MD0GCCsGAQUFBzABhjFodHRwOi8vb2NzcDIuZ2xvYmFs c2lnbi5jb20vZ3NwZXJzb25hbHNpZ24yc2hhMmczME0GA1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0 MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAJBgNV HRMEAjAAMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vZ3NwZXJz b25hbHNpZ24yc2hhMmczLmNybDAlBgNVHREEHjAcgRphYmhpc2hlay5zaGFoQGJyb2FkY29tLmNv bTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSMEGDAWgBRpcoJiMWeVRIV3kYDEBDZJnXsLYTAd BgNVHQ4EFgQUL1Bmef1NYc2ByvAWuscM95nT5QUwDQYJKoZIhvcNAQELBQADggEBAKoKiOsLQ0U4 iFc5Dm/OO+CVgvvZbciVP+tOqG7AtLjHylL6LhJh6JXP/3cGF+ThU92TtbjYHIry/s0ECLgrr2f3 o4Vzf+lxln1v0UcGxgHAkJWtbjRMETe1wVo5AB/kj3VDiYafPD6a1lkyCWBkMEClMBLc13xDmBkL m/wOAkeaBCuD2Kr2DhXuOhsDBCSHsfdwNM9UQSEYry6hPAykMKSzIye7WI9JQetBjqdM0qNAGAD1 y/07yhxw0I6R8lFPelqa6cq9bHsiXFQniQaE82GzW4gcOVZd9PbCyv2Ep9C4CvofW2aDKtF1bkWA c+g1CDjZLZyYfHxH+9ama6/w2JExggJvMIICawIBATBtMF0xCzAJBgNVBAYTAkJFMRkwFwYDVQQK ExBHbG9iYWxTaWduIG52LXNhMTMwMQYDVQQDEypHbG9iYWxTaWduIFBlcnNvbmFsU2lnbiAyIENB IC0gU0hBMjU2IC0gRzMCDDfvKH00dmhJn8JVVzANBglghkgBZQMEAgEFAKCB1DAvBgkqhkiG9w0B CQQxIgQggFT1kvgGN6ri2RHUGUx4jw/zdCensLVHAYOJHWEclvswGAYJKoZIhvcNAQkDMQsGCSqG SIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjEwMTI4MTgxNjU0WjBpBgkqhkiG9w0BCQ8xXDBaMAsG CWCGSAFlAwQBKjALBglghkgBZQMEARYwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMAsGCSqGSIb3 DQEBCjALBgkqhkiG9w0BAQcwCwYJYIZIAWUDBAIBMA0GCSqGSIb3DQEBAQUABIIBADzGqM75KnbY fDVsjvsVmLcgFCPLsQo3xhrq61GrY5x4q5H61xDHbWVLqd7bJGx8yuSClvcYdAtgSdGDRjGnp2Ug eOMSlNRa3++OqJpbwVWY1Ei56MpIOb2tZ5RiCXPSaR2LsdCIh7NqSJaZwF1KzgKPy8QJepimUNA8 iXfO6WlILfSkrf0pWUsXoqXDVGVuGDp96BND7tGEnrVHTmkGaLvLeD1KLPYC94ziUv09yHxzifgF 9XBDS++aV8YVwVe00GzuwswRLmpG66KydHy/N1DwEF1ZZiEhqAPYR4II6E9t6jsszDEmOaC0iUoR tVSjugL1MKNVvIl3x/Y9nFHfWN0= --00000000000071d3d805b9f9e411--