public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Using NULL| style library linkable in EDK2
@ 2017-07-20 16:29 Tim Lewis
  2017-07-20 17:56 ` Kinney, Michael D
  0 siblings, 1 reply; 3+ messages in thread
From: Tim Lewis @ 2017-07-20 16:29 UTC (permalink / raw)
  To: edk2-devel@lists.01.org

Per the DSC specification (section 2.7), it is not legal to use a NULL| in the LIbraryClasses section.

The reserved library class keyword, NULL is not permitted in any of the [LibraryClasses]
sections. The NULL Library class keyword is only permitted within the [Components] section's
INF file subsection.
However, it appears that this exact construct is not only used, but required for Compiler Intrinsic libraries (such as used in the ARM build in ArmPkg.dsc).

So I suggest that this line in the specification be modified to state "Except for compiler intrinsic libraries, the..."

Thanks,

Tim Lewis
CTO, Insyde Software
www.insyde.com<http://www.insyde.com>



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Using NULL| style library linkable in EDK2
  2017-07-20 16:29 Using NULL| style library linkable in EDK2 Tim Lewis
@ 2017-07-20 17:56 ` Kinney, Michael D
  2017-07-20 18:01   ` Tim Lewis
  0 siblings, 1 reply; 3+ messages in thread
From: Kinney, Michael D @ 2017-07-20 17:56 UTC (permalink / raw)
  To: Tim Lewis, edk2-devel@lists.01.org, Kinney, Michael D

Hi Tim,

You are correct.  The use of NULL lib class in [LibrrayClass]
section appears to have been functional since at least 2010
when it was added to the BeagleBoardPkg.dsc file.

https://github.com/tianocore/edk2/commit/a957d4a7810e3bf1c95e9bb30d83271e407093a0

Though this specific use case is for intrinsic libs that need
to be unconditionally linked to all ARM modules, the EDK II build
feature is not limited to intrinsic libs.  I think an intrinsic
lib is just a good example use of this feature.

Can you please enter a Bugzilla issue against the specs that have
these incorrect statements?

Thanks,

Mike


> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On
> Behalf Of Tim Lewis
> Sent: Thursday, July 20, 2017 9:30 AM
> To: edk2-devel@lists.01.org
> Subject: [edk2] Using NULL| style library linkable in EDK2
> 
> Per the DSC specification (section 2.7), it is not legal to use a
> NULL| in the LIbraryClasses section.
> 
> The reserved library class keyword, NULL is not permitted in any
> of the [LibraryClasses]
> sections. The NULL Library class keyword is only permitted within
> the [Components] section's
> INF file subsection.
> However, it appears that this exact construct is not only used,
> but required for Compiler Intrinsic libraries (such as used in
> the ARM build in ArmPkg.dsc).
> 
> So I suggest that this line in the specification be modified to
> state "Except for compiler intrinsic libraries, the..."
> 
> Thanks,
> 
> Tim Lewis
> CTO, Insyde Software
> www.insyde.com<http://www.insyde.com>
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Using NULL| style library linkable in EDK2
  2017-07-20 17:56 ` Kinney, Michael D
@ 2017-07-20 18:01   ` Tim Lewis
  0 siblings, 0 replies; 3+ messages in thread
From: Tim Lewis @ 2017-07-20 18:01 UTC (permalink / raw)
  To: Kinney, Michael D, edk2-devel@lists.01.org

Mike --

Ok, I will enter it into Bugzilla later today.

Tim

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Kinney, Michael D
Sent: Thursday, July 20, 2017 10:57 AM
To: Tim Lewis <tim.lewis@insyde.com>; edk2-devel@lists.01.org; Kinney, Michael D <michael.d.kinney@intel.com>
Subject: Re: [edk2] Using NULL| style library linkable in EDK2

Hi Tim,

You are correct.  The use of NULL lib class in [LibrrayClass] section appears to have been functional since at least 2010 when it was added to the BeagleBoardPkg.dsc file.

https://github.com/tianocore/edk2/commit/a957d4a7810e3bf1c95e9bb30d83271e407093a0

Though this specific use case is for intrinsic libs that need to be unconditionally linked to all ARM modules, the EDK II build feature is not limited to intrinsic libs.  I think an intrinsic lib is just a good example use of this feature.

Can you please enter a Bugzilla issue against the specs that have these incorrect statements?

Thanks,

Mike


> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of 
> Tim Lewis
> Sent: Thursday, July 20, 2017 9:30 AM
> To: edk2-devel@lists.01.org
> Subject: [edk2] Using NULL| style library linkable in EDK2
> 
> Per the DSC specification (section 2.7), it is not legal to use a
> NULL| in the LIbraryClasses section.
> 
> The reserved library class keyword, NULL is not permitted in any of 
> the [LibraryClasses] sections. The NULL Library class keyword is only 
> permitted within the [Components] section's INF file subsection.
> However, it appears that this exact construct is not only used, but 
> required for Compiler Intrinsic libraries (such as used in the ARM 
> build in ArmPkg.dsc).
> 
> So I suggest that this line in the specification be modified to state 
> "Except for compiler intrinsic libraries, the..."
> 
> Thanks,
> 
> Tim Lewis
> CTO, Insyde Software
> www.insyde.com<http://www.insyde.com>
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-07-20 17:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-20 16:29 Using NULL| style library linkable in EDK2 Tim Lewis
2017-07-20 17:56 ` Kinney, Michael D
2017-07-20 18:01   ` Tim Lewis

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox