In build_rule.txt, GCC built image will be strip first, then be converted to EFI image by GenFw. There is no symbol in the final EFI image. All symbols are kept into original GCC built image.
Thanks Liming > -----Original Message----- > From: Laszlo Ersek [mailto:ler...@redhat.com] > Sent: Wednesday, November 8, 2017 10:54 PM > To: Heyi Guo <heyi....@linaro.org>; edk2-devel@lists.01.org > Cc: Gao, Liming <liming....@intel.com> > Subject: Re: [edk2] Why do we use -g option of gcc even for RELEASE build? > > On 11/08/17 03:25, Heyi Guo wrote: > > Hi folks, > > > > From gcc manual, -g option seems to produce debugging information. In > > tools_def.template, -g is included in GCC_ALL_CC_FLAGS, so it will also > > be enabled for RELEASE build with gcc tool chain. Any special reason to > > do that? > > In the edk2 tree, -g was added to GCC_ALL_CC_FLAGS and > GCC44_ALL_CC_FLAGS in commit 52302d4dee58 ("Sync EDKII BaseTools to > BaseTools project r1903.", 2010-02-28). > > If you check the history of the now-historical separate BaseTools > project <https://github.com/tianocore/buildtools-BaseTools.git>, "-g" > was introduced in commit 46c1e64305d4 ("Upgrade the binutil 2.18.50.0.5 > to 2.20.51.0.5 for UNIXGCC tool chain", 2010-02-25). > > I guess that the same <Command.GCC> for [Dynamic-Library-File] must be > able to work for both DEBUG/NOOPT and RELEASE builds. So -g is included > for all of those build targets, in the C flags. Ultimately the debug > symbols are not copied into the .efi binaries, for RELEASE, I believe. > > Thanks > Laszlo _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel