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 ArmPkg.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 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 implementation in the 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