From mboxrd@z Thu Jan 1 00:00:00 1970 Subject: Re: [edk2-devel] [PATCH v2 05/26] ArmPkg: Fix Ecc error 10006 in ArmPkg.dsc To: Sami Mujawar ,devel@edk2.groups.io From: "PierreGondois" X-Originating-Location: Cambridge, England, GB (86.134.184.104) X-Originating-Platform: Linux Firefox 85 User-Agent: GROUPS.IO Web Poster MIME-Version: 1.0 Date: Tue, 23 Feb 2021 02:31:15 -0800 References: <19989.1614003867463014714@groups.io> In-Reply-To: <19989.1614003867463014714@groups.io> Message-ID: <13598.1614076275127360668@groups.io> Content-Type: multipart/alternative; boundary="ba6EoEqBaW8zlBtd57sn" --ba6EoEqBaW8zlBtd57sn Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi Sami, The ArmPkg implements two versions of the PeCoffExtraActionLib library at: * ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf * ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf They are explicitly built by being placed in a [Components] section of Arm= Pkg.dsc. The modules listed in the [Library] section are not guaranteed it = to be built. >>From what I interpret, the [...]LibNull.inf modules are used as a empty sh= ells so that when building a component, the libraries the component is depe= ndent on are not not blame. Thus, I think it is better to use the [...]LibNull.inf implementation in t= he Library section since it is available. This also means that in ArmPkg.dsc, we should maybe replace the libraries = by their [...]LibNull.inf equivalent when possible, like: CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf being replaced by: CpuLib|MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.inf Regards, Pierre --ba6EoEqBaW8zlBtd57sn Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi Sami,
The ArmPkg implements two versions of the PeCoffExtraActionLi= b library at:
* ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffEx= traActionLib.inf
* ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExt= raActionLib.inf

They are explicitly built by being placed in a [= Components] section of ArmPkg.dsc. The modules listed in the [Library] sect= ion are not guaranteed it to be built.

From what I interpret, th= e [...]LibNull.inf modules are used as a empty shells so that when building= a component, the libraries the component is dependent on are not not blame= .
Thus, I think it is better to use the [...]LibNull.inf implementatio= n in the Library section since it is available.

This also means = that in ArmPkg.dsc, we should maybe replace the libraries by their [...]Lib= Null.inf equivalent when possible, like:
CpuLib|MdePkg/Library/BaseCpu= Lib/BaseCpuLib.inf
being replaced by:
CpuLib|MdePkg/Library/BaseC= puLibNull/BaseCpuLibNull.inf

Regards,
Pierre --ba6EoEqBaW8zlBtd57sn--