Re: [edk2] Why do we use -g option of gcc even for RELEASE build?

2017-11-08 Thread Heyi Guo

That makes sense. Thank you all :)

Regards,

Heyi


在 11/8/2017 11:32 PM, Gao, Liming 写道:

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  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


Re: [edk2] Why do we use -g option of gcc even for RELEASE build?

2017-11-08 Thread Paolo Bonzini
On 08/11/2017 03:25, Heyi Guo wrote:
> 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?

Why *not* actually?  Debug information only costs disk space, it is not
part of the firmware image (and even for native Linux binaries it is not
loaded in memory).

Paolo
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] Why do we use -g option of gcc even for RELEASE build?

2017-11-08 Thread Gao, Liming
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  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


Re: [edk2] Why do we use -g option of gcc even for RELEASE build?

2017-11-08 Thread Laszlo Ersek
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 , "-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  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


[edk2] Why do we use -g option of gcc even for RELEASE build?

2017-11-07 Thread Heyi Guo

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?


Thanks and regards,

Heyi

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel