I sent a .patch file that corrects the various issues about 30 or 40min
ago.  Corrects everything so CPP builds complete as well.  Did it come
through?  I'm not sure if the list doesn't send to the sender or gmail
suppresses showing?   Bu I didn't see it (a few of my messages) in the
inbox.


On Mon, Feb 4, 2013 at 3:45 PM, Mcdaniel, Daryl <daryl.mcdan...@intel.com>wrote:

>  I’ll go through the issues in reverse order.****
>
> ** **
>
> There is an error in gdtoaimp.h in the definition for the union U.  (used
> by the word0 and word1 macros).  The correct version is commented out right
> after the offending definition.  The fix will be checked in as soon as I
> have completed testing.****
>
> *286* *typedef* *union* *{* *double* *d**;* ULong *L**[*2*];* *}* U*;  //
> WRONG, comment out*
> *287* *//typedef union { double d; UINT32 L[2]; } U;  **// GOOD,
> uncomment this line*****
>
> ** **
>
> _*fltused is a VC++ specific variable.  It is supplied by LibC.  wchar*_t
> is defined in wchar.h and stdlib.h, as specified by the C standard.  It is
> necessary to use /Zc:wchar_t for Msft builds because otherwise the compiler
> will not allow wchar_t to be defined.****
>
> ** **
>
> The majority of errors reported in this thread appear to be the result of
> attempting to build without specifying required library files or other
> build components.  Please re-read the StdLib\ReadMe.txt file paying
> particular attention to the USAGE, BUILD CONFIGURATION, and TARGET-SYSTEM
> INSTALLATION sections.****
>
> ** **
>
> The standard C library passes a third-party standards compliance and
> functionality test.  All samples in AppPkg, including Python 2.7.2, build
> and function.  To be absolutely sure, I checked the HEAD version of EDK II
> out from www.tianocore.org today and built everything using GCC 4.5,
> Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, and the Intel
> Compiler v11.5.  They all compiled without error and produced working
> applications for both IA32 and X64.****
>
> ** **
>
> While there are some issues with the libraries, they should all be listed
> in the ISSUES.txt file.  The ISSUES files exist in both StdLib and AppPkg
> and list known issues for those two packages.****
>
> ** **
>
> Daryl McDaniel
> SSG/SSD/PTAC/Platform Software Infrastructure
> +1 503-712-4670
>
> *“In the pun, two strings of thought are tangled into one acoustic knot.”
> -- Arthur Koestler*
>
> ****
>
> *From:* David F. [mailto:df7...@gmail.com]
> *Sent:* Monday, February 04, 2013 2:50 PM
>
> *To:* edk2-devel@lists.sourceforge.net
> *Subject:* Re: [edk2] Adding printf via StdLib****
>
> ** **
>
> The problem with the uninitialized at line 382 is actually a correct
> error.  There is a problem with two header files.  gdtoaimp.h and gdtoa.h -
> they should be using int32_t and uint32_t for the Long and ULong defines
> and not EFI_ types because under X64 builds the EFI_ types are 64bit
> numbers which throws off the routines which are accessing the two 32 bit
> values in the 64bit double types (word0 and word1 macros for example).****
>
> ** **
>
> On Sun, Feb 3, 2013 at 1:40 AM, David F. <df7...@gmail.com> wrote:****
>
> i was also getting some weird results (vs2008x64) on link with missing
> external _fltused - if I defined it in the app it would complain that it's
> already defined (errno.c), if I /force:multiple it still couldn't find
> _fltused, so I went to dump the .obj file (isnand_ieee754.obj) it kept
> referring to but couldn't because the tool said it couldn't dump whole
> program optimization, so I changed tools to disable whole program
> optimization and went to rebuild after clean, now the build failed because
> warning that in gdtoa.c eps was being used uninitialized at line 382, so I
> changed tools to not use /WX (treat warning as errors to at least get it
> built) and then it completed.  The point of this is of course to make the
> next stdlib to handle builds without requiring /Zc:wchar_t and without
> whole program optimization. ****
>
> ** **
>
> On Sat, Feb 2, 2013 at 11:43 PM, David F. <df7...@gmail.com> wrote:****
>
> Thanks that will be great - and I've noticed the way stdlib is currently
> implemented, it conflicts with trying to build with a .cpp module.  Things
> like /Zc:wchar_t conflicts with other things that specifically need
> /Zc:wchar_t- (#error in EfiCdefs.h) and then attempting to use <wchar.h>
> causes issues because it doesn't define the wchar_t type.****
>
> ** **
>
> On Fri, Feb 1, 2013 at 5:15 PM, Mcdaniel, Daryl <daryl.mcdan...@intel.com>
> wrote:****
>
> Currently, StdLib is only for building applications which run under the
> Shell.  StdLib also constructs an environment, as specified by ISO/IEC
> 9899:199409 (the C Language Specification), to support the signal(),
> abort(), exit handlers, and environment variables (NOT EFI variables).
> Currently, this environment is monolithic and, even though dynamically
> generated, a bit too large for drivers.****
>
>  ****
>
> A version suitable for writing device drivers as well as OS loaders should
> be available later this year.****
>
>  ****
>
> Please examine the ReadMe.txt files in StdLib and AppPkg.  Also, the
> AppPkg.dsc file and StdLib.dsc files are intended to be used as examples
> that can be copied to become the basis of new projects.  There are numerous
> comments pertaining to use with StdLib in them.  The applications in AppPkg
> are examples of several types of applications with varying complexity.****
>
>  ****
>
> Daryl McDaniel****
>
>  ****
>
> *From:* David F. [mailto:df7...@gmail.com] ****
>
> *Sent:* Friday, February 01, 2013 4:02 PM
> *To:* edk2-devel@lists.sourceforge.net****
>
> *Subject:* Re: [edk2] Adding printf via StdLib****
>
>  ****
>
> Okay, I found some of the examples in AppPkg and got my hello to work by
> setting the ENTRY_POINT to ShellCEntryLib and the other stuff below.  But
> then looking at what ShellCEntryLib does is use a protocol
> gEfiShellParametersProtocolGuid which is setup by the Shell when it
> executes the application.  So does that mean you can only use StdLib
> through the Shell or is it simply that the sample apps used the shell to
> take care of command line arguments and the rest of StdLib doesn't rely on
> anything from the shell?
>
> The Other Stuff mentioned above:
> [Packages]
>   StdLib/StdLib.dec
>   MdePkg/MdePkg.dec
>   ShellPkg/ShellPkg.dec
>
> [LibraryClasses]
>   LibC
>   LibStdio
>   DevShell****
>
>  ****
>
> On Fri, Feb 1, 2013 at 11:06 AM, Andrew Fish <af...@apple.com> wrote:****
>
>  ****
>
> On Feb 1, 2013, at 10:46 AM, "David F." <df7...@gmail.com> wrote:****
>
> ** **
>
> Is that an optional thing some packages may include, some type of .inc
> file?  Anyway, did that and that leads to:****
>
>  ****
>
> Yes that .inc is just connivence, and not common. ****
>
> ** **
>
> c:\edk2\testpkg\testpkg.dsc(...): error 4000: Instance of library class
> [HiiLib] is not found
>         in [c:\edk2\ShellPkg\Library\UefiShellLib\UefiShellLib.inf] [X64]
>         consumed by module [c:\edk2\testpkg\hello\hello.inf]****
>
> But I didn't see any .inc file in the EdkCompatibilityPkg folder which is
> the only place I found HiiLib via:****
>
>  ****
>
> Don't use the EdkCompatiblityPkg it is for backwards compatibility with
> EDK code, not new code.****
>
>  ****
>
>  C:\edk2>dir hiilib /s
>  Volume in drive C is Windows 7
>  Volume Serial Number is 5233-4330
>
>  Directory of
> C:\edk2\EdkCompatibilityPkg\Foundation\Library\EdkIIGlueLib\Library
>
> 01/31/2013  06:37 PM    <DIR>          HiiLib
>                0 File(s)              0 bytes****
>
>  ****
>
>   ****
>
> You need to search .INF files for a LIBRARY_CLASS =  HiiLib statement in
> the [Defines] section. ****
>
>
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
> ****
>
>  ****
>
> A library class is a name (HiiLib) that is associated with a public
> include file (
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/MdeModulePkg/Include/Library/HiiLib.h
> ).****
>
>  ****
>
> There can be a large number of instances of the lib (
> https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf).
> The instance is the implementation of the lib. ****
>
>  ****
>
> The DSC file maps the library class to the library implementation that you
> want to use when you compile your application/driver. ****
>
>  ****
>
> Thanks,****
>
>  ****
>
> Andrew Fish****
>
> ** **
>
>  ****
>
> On Fri, Feb 1, 2013 at 10:16 AM, Tim Lewis <tim.le...@insyde.com> wrote:**
> **
>
> David –****
>
>  ****
>
> The easiest way is just to put****
>
>  ****
>
> !include StdLib\StdLib.inc****
>
>  ****
>
> At the end of your testpkg.dsc****
>
>  ****
>
>  ****
>
>  ****
>
> *From:* David F. [mailto:df7...@gmail.com]
> *Sent:* Friday, February 01, 2013 10:11 AM
> *To:* edk2-devel@lists.sourceforge.net
> *Subject:* [edk2] Adding printf via StdLib****
>
>  ****
>
> Hi,****
>
> Still learning the build system - I used the driver wizard to create a new
> package and driver, modified to be application, and used the SystemTable to
> print out some text.  That all worked fine, so my next step is to use
> printf instead.  So I added Stdio|StdLib/LibC/Stdio/Stdio.inf to the .dsc
> file and in the .inf file added   StdLib/StdLib.dec under [Packages] and
> Stdio under [LibraryClasses], changed code to use printf(L"text"), then
> tried to build but it stops with
>
> c:\edk2\testpkg\testpkg.dsc(...): error 4000: Instance of library class
> [LibC] is not found
>         in [c:\edk2\StdLib\LibC\Stdio\Stdio.inf] [X64]
>         consumed by module [c:\edk2\testpkg\hello\hello.inf]****
>
> Do I have to somehow figure out all the different library classes and add
> them to the .dsc file, or can't it just find itself??
>
> TIA!!****
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_jan
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel****
>
>  ****
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
>
> http://p.sf.net/sfu/appdyn_d2d_jan_______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel****
>
>  ****
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_jan
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel****
>
>  ****
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_jan
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel****
>
> ** **
>
> ** **
>
> ** **
>
>
> ------------------------------------------------------------------------------
> Free Next-Gen Firewall Hardware Offer
> Buy your Sophos next-gen firewall before the end March 2013
> and get the hardware for free! Learn more.
> http://p.sf.net/sfu/sophos-d2d-feb
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
>
------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to