public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael D Kinney" <michael.d.kinney@intel.com>
To: Laszlo Ersek <lersek@redhat.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	"Kinney, Michael D" <michael.d.kinney@intel.com>
Cc: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Gao, Zhichao" <zhichao.gao@intel.com>,
	"Gao, Liming" <liming.gao@intel.com>,
	"Bi, Dandan" <dandan.bi@intel.com>
Subject: Re: [edk2-devel] [PATCH V2 3/8] MdePkg/UefiDebugLibStdErr: Decrease the name collisions
Date: Mon, 29 Apr 2019 16:40:06 +0000	[thread overview]
Message-ID: <E92EE9817A31E24EB0585FDF735412F5B9C9F89C@ORSMSX113.amr.corp.intel.com> (raw)
In-Reply-To: <47188ce9-c3dc-89e7-c65a-a5fa8eccc7db@redhat.com>

Hi Laszlo,

I have entered 2 BZ for the STATIC -> static conversion.
one for the EDK II C Coding Standard Specification and 
one for the C code in EDK II.

https://bugzilla.tianocore.org/show_bug.cgi?id=1766

https://bugzilla.tianocore.org/show_bug.cgi?id=1767

Converting all CONST -> const will require additional 
discussion because the UEFI Specification defines the 
keyword 'CONST' in Section 2.3.1 - Data Types and is
consistently used in APIs defined in the UEFI/PI 
Specifications.

Best regards,

Mike

> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Friday, April 26, 2019 9:49 AM
> To: Ard Biesheuvel <ard.biesheuvel@linaro.org>; Kinney,
> Michael D <michael.d.kinney@intel.com>
> Cc: devel@edk2.groups.io; Gao, Zhichao
> <zhichao.gao@intel.com>; Gao, Liming
> <liming.gao@intel.com>; Bi, Dandan <dandan.bi@intel.com>
> Subject: Re: [edk2-devel] [PATCH V2 3/8]
> MdePkg/UefiDebugLibStdErr: Decrease the name collisions
> 
> On 04/24/19 19:09, Ard Biesheuvel wrote:
> > On Wed, 24 Apr 2019 at 18:59, Kinney, Michael D
> > <michael.d.kinney@intel.com> wrote:
> >>
> >> Hi Ard,
> >>
> >> I see a mix of use of 'static' and 'STATIC' in the
> sources.
> >>
> >> The reason to use STATIC is if it needs to be
> replaced with
> >> something other than 'static' for a specific compiler
> or
> >> debug scenario.
> >>
> >> Long ago, there were some source level debug issue
> with
> >> 'static' symbols, so using the macro STATIC was
> preferred
> >> so it could be mapped to nothing for a debug
> scenario. That
> >> issue no long exists.
> >>
> >> Do you know of a reason today to map 'STATIC' to
> anything
> >> Other than 'static'?
> >>
> >> I also looked at the EDK II C Coding Standard.  It is
> also
> >> inconsistent and had references to both 'static' and
> 'STATIC'.
> >> We should enter a few BZs to update that doc once we
> have
> >> clear guidance from this discussion.
> >>
> >
> > I wasn't aware that lower case static is also in use,
> so I was simply
> > extrapolating from personal experience.
> 
> +1
> 
> > i think there should be no reason to use the
> preprocessor to change
> > 'static' into something else, and so I'm happy to
> settle on lowercase
> > static, as long as we are consistent.
> 
> +1 (same for CONST / const)
> 
> > But more importantly, now that
> > this has come up, what I would like to do is make
> 'static' mandatory
> > unless the code requires otherwise: this results in
> much better code
> > generation (given that the compiler can infer
> constness for non-const
> > static variables but not for ones with external
> linkage) and generally
> > improves programmer hygiene when it comes to linking
> to arbitrary
> > symbols that are really internal to a library.
> 
> I agree; for new code, giving internal linkage to as
> many as possible
> objects that have static storage duration is the way to
> go. ("Make as
> many globals 'static' as you can.")
> 
> Thanks
> Laszlo

  reply	other threads:[~2019-04-29 16:40 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-24  4:58 [PATCH V2 0/8] Decrease the name collisions Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 1/8] MdePkg/UefiDebugLibConOut: " Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 2/8] MdePkg/UefiDebugLibDebugPortProtocol: " Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 3/8] MdePkg/UefiDebugLibStdErr: " Gao, Zhichao
2019-04-24  8:07   ` [edk2-devel] " Ard Biesheuvel
2019-04-24 16:59     ` Michael D Kinney
2019-04-24 17:09       ` Ard Biesheuvel
2019-04-24 17:31         ` Michael D Kinney
2019-04-24 17:51           ` Ard Biesheuvel
2019-10-15 11:20           ` Leif Lindholm
2019-04-26 16:49         ` Laszlo Ersek
2019-04-29 16:40           ` Michael D Kinney [this message]
2019-04-30  9:43             ` Laszlo Ersek
2019-04-24  4:58 ` [PATCH V2 4/8] IntelFrameworkModulePkg: " Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 5/8] MdeModulePkg/FirmwarePerformanceDxe: " Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 6/8] IntelFsp2WrapperPkg/FspWrapperNotifyDxe: " Gao, Zhichao
2019-04-24  5:19   ` Chiu, Chasel
2019-04-24  5:27   ` Nate DeSimone
2019-04-24  4:58 ` [PATCH V2 7/8] IntelFrameworkModulePkg: " Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 8/8] MdeModulePkg/StatusCodeHandlerRuntimeDxe: " Gao, Zhichao
2019-04-24 11:16 ` [PATCH V2 0/8] " Laszlo Ersek
2019-04-25  7:00   ` Gao, Zhichao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E92EE9817A31E24EB0585FDF735412F5B9C9F89C@ORSMSX113.amr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox