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
next prev parent 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