[v1,2/3] x86: Modify ENTRY in sysdep.h so that p2align can be specified
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
Commit Message
No bug.
This change adds a new macro ENTRY_P2ALIGN which takes a second
argument, log2 of the desired function alignment.
The old ENTRY(name) macro is just ENTRY_P2ALIGN(name, 4) so this
doesn't affect any existing functionality.
Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
---
Note this is a duplicate of:
[v2,1/2] x86: Modify ENTRY in sysdep.h so that p2align can be specified
https://patchwork.sourceware.org/project/glibc/patch/20210922051657.1655745-1-goldstein.w.n@gmail.com/
sysdeps/x86/sysdep.h | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
Comments
On Sun, Sep 26, 2021 at 3:53 PM Noah Goldstein <goldstein.w.n@gmail.com>
wrote:
> No bug.
>
> This change adds a new macro ENTRY_P2ALIGN which takes a second
> argument, log2 of the desired function alignment.
>
> The old ENTRY(name) macro is just ENTRY_P2ALIGN(name, 4) so this
> doesn't affect any existing functionality.
>
> Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
> ---
> Note this is a duplicate of:
> [v2,1/2] x86: Modify ENTRY in sysdep.h so that p2align can be specified
>
> https://patchwork.sourceware.org/project/glibc/patch/20210922051657.1655745-1-goldstein.w.n@gmail.com/
>
> sysdeps/x86/sysdep.h | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h
> index cac1d762fb..937180c1bd 100644
> --- a/sysdeps/x86/sysdep.h
> +++ b/sysdeps/x86/sysdep.h
> @@ -78,15 +78,18 @@ enum cf_protection_level
> #define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
>
> /* Define an entry point visible from C. */
> -#define ENTRY(name)
> \
> +#define ENTRY_P2ALIGN(name, alignment)
> \
> .globl C_SYMBOL_NAME(name);
> \
> .type C_SYMBOL_NAME(name),@function;
> \
> - .align ALIGNARG(4);
> \
> + .align ALIGNARG(alignment);
> \
> C_LABEL(name)
> \
> cfi_startproc;
> \
> _CET_ENDBR;
> \
> CALL_MCOUNT
>
> +/* Common entry 16 byte aligns. */
> +#define ENTRY(name) ENTRY_P2ALIGN (name, 4)
> +
> #undef END
> #define END(name)
> \
> cfi_endproc;
> \
> --
> 2.25.1
>
> ping
On Sun, Sep 26, 2021 at 1:53 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
>
> No bug.
>
> This change adds a new macro ENTRY_P2ALIGN which takes a second
> argument, log2 of the desired function alignment.
>
> The old ENTRY(name) macro is just ENTRY_P2ALIGN(name, 4) so this
> doesn't affect any existing functionality.
>
> Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
> ---
> Note this is a duplicate of:
> [v2,1/2] x86: Modify ENTRY in sysdep.h so that p2align can be specified
> https://patchwork.sourceware.org/project/glibc/patch/20210922051657.1655745-1-goldstein.w.n@gmail.com/
>
> sysdeps/x86/sysdep.h | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h
> index cac1d762fb..937180c1bd 100644
> --- a/sysdeps/x86/sysdep.h
> +++ b/sysdeps/x86/sysdep.h
> @@ -78,15 +78,18 @@ enum cf_protection_level
> #define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
>
> /* Define an entry point visible from C. */
> -#define ENTRY(name) \
> +#define ENTRY_P2ALIGN(name, alignment) \
> .globl C_SYMBOL_NAME(name); \
> .type C_SYMBOL_NAME(name),@function; \
> - .align ALIGNARG(4); \
> + .align ALIGNARG(alignment); \
> C_LABEL(name) \
> cfi_startproc; \
> _CET_ENDBR; \
> CALL_MCOUNT
>
> +/* Common entry 16 byte aligns. */
> +#define ENTRY(name) ENTRY_P2ALIGN (name, 4)
> +
> #undef END
> #define END(name) \
> cfi_endproc; \
> --
> 2.25.1
>
LGTM.
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
Thanks.
On Fri, Oct 8, 2021 at 9:27 AM H.J. Lu <hjl.tools@gmail.com> wrote:
> On Sun, Sep 26, 2021 at 1:53 PM Noah Goldstein <goldstein.w.n@gmail.com>
> wrote:
> >
> > No bug.
> >
> > This change adds a new macro ENTRY_P2ALIGN which takes a second
> > argument, log2 of the desired function alignment.
> >
> > The old ENTRY(name) macro is just ENTRY_P2ALIGN(name, 4) so this
> > doesn't affect any existing functionality.
> >
> > Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
> > ---
> > Note this is a duplicate of:
> > [v2,1/2] x86: Modify ENTRY in sysdep.h so that p2align can be specified
> >
> https://patchwork.sourceware.org/project/glibc/patch/20210922051657.1655745-1-goldstein.w.n@gmail.com/
> >
> > sysdeps/x86/sysdep.h | 7 +++++--
> > 1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h
> > index cac1d762fb..937180c1bd 100644
> > --- a/sysdeps/x86/sysdep.h
> > +++ b/sysdeps/x86/sysdep.h
> > @@ -78,15 +78,18 @@ enum cf_protection_level
> > #define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
> >
> > /* Define an entry point visible from C. */
> > -#define ENTRY(name)
> \
> > +#define ENTRY_P2ALIGN(name, alignment)
> \
> > .globl C_SYMBOL_NAME(name);
> \
> > .type C_SYMBOL_NAME(name),@function;
> \
> > - .align ALIGNARG(4);
> \
> > + .align ALIGNARG(alignment);
> \
> > C_LABEL(name)
> \
> > cfi_startproc;
> \
> > _CET_ENDBR;
> \
> > CALL_MCOUNT
> >
> > +/* Common entry 16 byte aligns. */
> > +#define ENTRY(name) ENTRY_P2ALIGN (name, 4)
> > +
> > #undef END
> > #define END(name)
> \
> > cfi_endproc;
> \
> > --
> > 2.25.1
> >
>
> LGTM.
>
> Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
>
> Thanks.
>
Thanks. Pushed.
>
> --
> H.J.
>
On Fri, Oct 8, 2021 at 10:20 AM Noah Goldstein via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> On Fri, Oct 8, 2021 at 9:27 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> > On Sun, Sep 26, 2021 at 1:53 PM Noah Goldstein <goldstein.w.n@gmail.com>
> > wrote:
> > >
> > > No bug.
> > >
> > > This change adds a new macro ENTRY_P2ALIGN which takes a second
> > > argument, log2 of the desired function alignment.
> > >
> > > The old ENTRY(name) macro is just ENTRY_P2ALIGN(name, 4) so this
> > > doesn't affect any existing functionality.
> > >
> > > Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
> > > ---
> > > Note this is a duplicate of:
> > > [v2,1/2] x86: Modify ENTRY in sysdep.h so that p2align can be specified
> > >
> > https://patchwork.sourceware.org/project/glibc/patch/20210922051657.1655745-1-goldstein.w.n@gmail.com/
> > >
> > > sysdeps/x86/sysdep.h | 7 +++++--
> > > 1 file changed, 5 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h
> > > index cac1d762fb..937180c1bd 100644
> > > --- a/sysdeps/x86/sysdep.h
> > > +++ b/sysdeps/x86/sysdep.h
> > > @@ -78,15 +78,18 @@ enum cf_protection_level
> > > #define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
> > >
> > > /* Define an entry point visible from C. */
> > > -#define ENTRY(name)
> > \
> > > +#define ENTRY_P2ALIGN(name, alignment)
> > \
> > > .globl C_SYMBOL_NAME(name);
> > \
> > > .type C_SYMBOL_NAME(name),@function;
> > \
> > > - .align ALIGNARG(4);
> > \
> > > + .align ALIGNARG(alignment);
> > \
> > > C_LABEL(name)
> > \
> > > cfi_startproc;
> > \
> > > _CET_ENDBR;
> > \
> > > CALL_MCOUNT
> > >
> > > +/* Common entry 16 byte aligns. */
> > > +#define ENTRY(name) ENTRY_P2ALIGN (name, 4)
> > > +
> > > #undef END
> > > #define END(name)
> > \
> > > cfi_endproc;
> > \
> > > --
> > > 2.25.1
> > >
> >
> > LGTM.
> >
> > Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
> >
> > Thanks.
> >
>
> Thanks. Pushed.
>
>
> >
> > --
> > H.J.
> >
I would like to backport this patch to release branches.
Any comments or objections?
--Sunil
@@ -78,15 +78,18 @@ enum cf_protection_level
#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
/* Define an entry point visible from C. */
-#define ENTRY(name) \
+#define ENTRY_P2ALIGN(name, alignment) \
.globl C_SYMBOL_NAME(name); \
.type C_SYMBOL_NAME(name),@function; \
- .align ALIGNARG(4); \
+ .align ALIGNARG(alignment); \
C_LABEL(name) \
cfi_startproc; \
_CET_ENDBR; \
CALL_MCOUNT
+/* Common entry 16 byte aligns. */
+#define ENTRY(name) ENTRY_P2ALIGN (name, 4)
+
#undef END
#define END(name) \
cfi_endproc; \