diff mbox series

x86-64: Don't mark symbols as hidden in strcmp-XXX.S

Message ID 20220707233956.2483267-1-hjl.tools@gmail.com
State New
Headers show
Series x86-64: Don't mark symbols as hidden in strcmp-XXX.S | expand

Commit Message

H.J. Lu July 7, 2022, 11:39 p.m. UTC
Don't mark symbols as hidden in strcmp-avx2.S, strcmp-evex.S and
strcmp-sse42.S since they are marked as hidden in the IFUNC selectors.
---
 sysdeps/x86_64/multiarch/strcmp-avx2.S  | 1 -
 sysdeps/x86_64/multiarch/strcmp-evex.S  | 1 -
 sysdeps/x86_64/multiarch/strcmp-sse42.S | 1 -
 3 files changed, 3 deletions(-)

Comments

H.J. Lu July 7, 2022, 11:42 p.m. UTC | #1
On Thu, Jul 7, 2022 at 4:39 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> Don't mark symbols as hidden in strcmp-avx2.S, strcmp-evex.S and
> strcmp-sse42.S since they are marked as hidden in the IFUNC selectors.
> ---
>  sysdeps/x86_64/multiarch/strcmp-avx2.S  | 1 -
>  sysdeps/x86_64/multiarch/strcmp-evex.S  | 1 -
>  sysdeps/x86_64/multiarch/strcmp-sse42.S | 1 -
>  3 files changed, 3 deletions(-)
>
> diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> index 8da09bd86d..516cde1145 100644
> --- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
> +++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> @@ -184,7 +184,6 @@
>         .align  16
>         .type   STRCMP, @function
>         .globl  STRCMP
> -       .hidden STRCMP

Hi Noah,

Why aren't ENTRY/END used on STRCMP?

>  # ifndef GLABEL
>  #  define GLABEL(...)  __VA_ARGS__
> diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
> index 2a5b3ce037..e97d51bb26 100644
> --- a/sysdeps/x86_64/multiarch/strcmp-evex.S
> +++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
> @@ -214,7 +214,6 @@
>         .align  16
>         .type   STRCMP, @function
>         .globl  STRCMP
> -       .hidden STRCMP
>
>  # ifdef USE_AS_STRCASECMP_L
>  ENTRY (STRCASECMP)
> diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> index a9178ad25c..60313c647a 100644
> --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S
> +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> @@ -77,7 +77,6 @@
>         .align  16
>         .type   STRCMP_SSE42, @function
>         .globl  STRCMP_SSE42
> -       .hidden STRCMP_SSE42
>  #ifdef USE_AS_STRCASECMP_L
>  ENTRY (GLABEL(__strcasecmp))
>         movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
> --
> 2.36.1
>
Noah Goldstein July 7, 2022, 11:45 p.m. UTC | #2
On Thu, Jul 7, 2022 at 4:43 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Thu, Jul 7, 2022 at 4:39 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > Don't mark symbols as hidden in strcmp-avx2.S, strcmp-evex.S and
> > strcmp-sse42.S since they are marked as hidden in the IFUNC selectors.
> > ---
> >  sysdeps/x86_64/multiarch/strcmp-avx2.S  | 1 -
> >  sysdeps/x86_64/multiarch/strcmp-evex.S  | 1 -
> >  sysdeps/x86_64/multiarch/strcmp-sse42.S | 1 -
> >  3 files changed, 3 deletions(-)
> >
> > diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > index 8da09bd86d..516cde1145 100644
> > --- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > +++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > @@ -184,7 +184,6 @@
> >         .align  16
> >         .type   STRCMP, @function
> >         .globl  STRCMP
> > -       .hidden STRCMP
>
> Hi Noah,
>
> Why aren't ENTRY/END used on STRCMP?
>

Not sure, I copied sse42 when doing avx2/evex.

> >  # ifndef GLABEL
> >  #  define GLABEL(...)  __VA_ARGS__
> > diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > index 2a5b3ce037..e97d51bb26 100644
> > --- a/sysdeps/x86_64/multiarch/strcmp-evex.S
> > +++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > @@ -214,7 +214,6 @@
> >         .align  16
> >         .type   STRCMP, @function
> >         .globl  STRCMP
> > -       .hidden STRCMP
> >
> >  # ifdef USE_AS_STRCASECMP_L
> >  ENTRY (STRCASECMP)
> > diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > index a9178ad25c..60313c647a 100644
> > --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > @@ -77,7 +77,6 @@
> >         .align  16
> >         .type   STRCMP_SSE42, @function
> >         .globl  STRCMP_SSE42
> > -       .hidden STRCMP_SSE42
> >  #ifdef USE_AS_STRCASECMP_L
> >  ENTRY (GLABEL(__strcasecmp))
> >         movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
> > --
> > 2.36.1
> >
>
>
> --
> H.J.
Noah Goldstein July 7, 2022, 11:47 p.m. UTC | #3
On Thu, Jul 7, 2022 at 4:45 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
>
> On Thu, Jul 7, 2022 at 4:43 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > On Thu, Jul 7, 2022 at 4:39 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > >
> > > Don't mark symbols as hidden in strcmp-avx2.S, strcmp-evex.S and
> > > strcmp-sse42.S since they are marked as hidden in the IFUNC selectors.
> > > ---
> > >  sysdeps/x86_64/multiarch/strcmp-avx2.S  | 1 -
> > >  sysdeps/x86_64/multiarch/strcmp-evex.S  | 1 -
> > >  sysdeps/x86_64/multiarch/strcmp-sse42.S | 1 -
> > >  3 files changed, 3 deletions(-)
> > >
> > > diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > index 8da09bd86d..516cde1145 100644
> > > --- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > +++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > @@ -184,7 +184,6 @@
> > >         .align  16
> > >         .type   STRCMP, @function
> > >         .globl  STRCMP
> > > -       .hidden STRCMP
> >
> > Hi Noah,
> >
> > Why aren't ENTRY/END used on STRCMP?
> >
>
> Not sure, I copied sse42 when doing avx2/evex.
>
> > >  # ifndef GLABEL
> > >  #  define GLABEL(...)  __VA_ARGS__
> > > diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > index 2a5b3ce037..e97d51bb26 100644
> > > --- a/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > +++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > @@ -214,7 +214,6 @@
> > >         .align  16
> > >         .type   STRCMP, @function
> > >         .globl  STRCMP
> > > -       .hidden STRCMP
> > >
> > >  # ifdef USE_AS_STRCASECMP_L
> > >  ENTRY (STRCASECMP)
> > > diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > index a9178ad25c..60313c647a 100644
> > > --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > @@ -77,7 +77,6 @@
> > >         .align  16
> > >         .type   STRCMP_SSE42, @function
> > >         .globl  STRCMP_SSE42
> > > -       .hidden STRCMP_SSE42
> > >  #ifdef USE_AS_STRCASECMP_L
> > >  ENTRY (GLABEL(__strcasecmp))
> > >         movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
> > > --
> > > 2.36.1
> > >
> >

Do you need to do strcmp-sse2.S?
> >
> > --
> > H.J.
H.J. Lu July 7, 2022, 11:51 p.m. UTC | #4
On Thu, Jul 7, 2022 at 4:47 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
>
> On Thu, Jul 7, 2022 at 4:45 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> >
> > On Thu, Jul 7, 2022 at 4:43 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > >
> > > On Thu, Jul 7, 2022 at 4:39 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > >
> > > > Don't mark symbols as hidden in strcmp-avx2.S, strcmp-evex.S and
> > > > strcmp-sse42.S since they are marked as hidden in the IFUNC selectors.
> > > > ---
> > > >  sysdeps/x86_64/multiarch/strcmp-avx2.S  | 1 -
> > > >  sysdeps/x86_64/multiarch/strcmp-evex.S  | 1 -
> > > >  sysdeps/x86_64/multiarch/strcmp-sse42.S | 1 -
> > > >  3 files changed, 3 deletions(-)
> > > >
> > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > index 8da09bd86d..516cde1145 100644
> > > > --- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > +++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > @@ -184,7 +184,6 @@
> > > >         .align  16
> > > >         .type   STRCMP, @function
> > > >         .globl  STRCMP
> > > > -       .hidden STRCMP
> > >
> > > Hi Noah,
> > >
> > > Why aren't ENTRY/END used on STRCMP?
> > >
> >
> > Not sure, I copied sse42 when doing avx2/evex.
> >
> > > >  # ifndef GLABEL
> > > >  #  define GLABEL(...)  __VA_ARGS__
> > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > index 2a5b3ce037..e97d51bb26 100644
> > > > --- a/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > +++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > @@ -214,7 +214,6 @@
> > > >         .align  16
> > > >         .type   STRCMP, @function
> > > >         .globl  STRCMP
> > > > -       .hidden STRCMP
> > > >
> > > >  # ifdef USE_AS_STRCASECMP_L
> > > >  ENTRY (STRCASECMP)
> > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > index a9178ad25c..60313c647a 100644
> > > > --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > @@ -77,7 +77,6 @@
> > > >         .align  16
> > > >         .type   STRCMP_SSE42, @function
> > > >         .globl  STRCMP_SSE42
> > > > -       .hidden STRCMP_SSE42
> > > >  #ifdef USE_AS_STRCASECMP_L
> > > >  ENTRY (GLABEL(__strcasecmp))
> > > >         movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
> > > > --
> > > > 2.36.1
> > > >
> > >
>
> Do you need to do strcmp-sse2.S?

There is no strcmp-sse2.S on master branch.
H.J. Lu July 7, 2022, 11:54 p.m. UTC | #5
On Thu, Jul 7, 2022 at 4:45 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
>
> On Thu, Jul 7, 2022 at 4:43 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > On Thu, Jul 7, 2022 at 4:39 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > >
> > > Don't mark symbols as hidden in strcmp-avx2.S, strcmp-evex.S and
> > > strcmp-sse42.S since they are marked as hidden in the IFUNC selectors.
> > > ---
> > >  sysdeps/x86_64/multiarch/strcmp-avx2.S  | 1 -
> > >  sysdeps/x86_64/multiarch/strcmp-evex.S  | 1 -
> > >  sysdeps/x86_64/multiarch/strcmp-sse42.S | 1 -
> > >  3 files changed, 3 deletions(-)
> > >
> > > diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > index 8da09bd86d..516cde1145 100644
> > > --- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > +++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > @@ -184,7 +184,6 @@
> > >         .align  16
> > >         .type   STRCMP, @function
> > >         .globl  STRCMP
> > > -       .hidden STRCMP
> >
> > Hi Noah,
> >
> > Why aren't ENTRY/END used on STRCMP?
> >
>
> Not sure, I copied sse42 when doing avx2/evex.

Let's leave it asis for now.  We only need to remove .hidden.

> > >  # ifndef GLABEL
> > >  #  define GLABEL(...)  __VA_ARGS__
> > > diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > index 2a5b3ce037..e97d51bb26 100644
> > > --- a/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > +++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > @@ -214,7 +214,6 @@
> > >         .align  16
> > >         .type   STRCMP, @function
> > >         .globl  STRCMP
> > > -       .hidden STRCMP
> > >
> > >  # ifdef USE_AS_STRCASECMP_L
> > >  ENTRY (STRCASECMP)
> > > diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > index a9178ad25c..60313c647a 100644
> > > --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > @@ -77,7 +77,6 @@
> > >         .align  16
> > >         .type   STRCMP_SSE42, @function
> > >         .globl  STRCMP_SSE42
> > > -       .hidden STRCMP_SSE42
> > >  #ifdef USE_AS_STRCASECMP_L
> > >  ENTRY (GLABEL(__strcasecmp))
> > >         movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
> > > --
> > > 2.36.1
> > >
> >
> >
> > --
> > H.J.
Noah Goldstein July 7, 2022, 11:54 p.m. UTC | #6
On Thu, Jul 7, 2022 at 4:52 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Thu, Jul 7, 2022 at 4:47 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> >
> > On Thu, Jul 7, 2022 at 4:45 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> > >
> > > On Thu, Jul 7, 2022 at 4:43 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > >
> > > > On Thu, Jul 7, 2022 at 4:39 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > > >
> > > > > Don't mark symbols as hidden in strcmp-avx2.S, strcmp-evex.S and
> > > > > strcmp-sse42.S since they are marked as hidden in the IFUNC selectors.
> > > > > ---
> > > > >  sysdeps/x86_64/multiarch/strcmp-avx2.S  | 1 -
> > > > >  sysdeps/x86_64/multiarch/strcmp-evex.S  | 1 -
> > > > >  sysdeps/x86_64/multiarch/strcmp-sse42.S | 1 -
> > > > >  3 files changed, 3 deletions(-)
> > > > >
> > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > index 8da09bd86d..516cde1145 100644
> > > > > --- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > @@ -184,7 +184,6 @@
> > > > >         .align  16
> > > > >         .type   STRCMP, @function
> > > > >         .globl  STRCMP
> > > > > -       .hidden STRCMP
> > > >
> > > > Hi Noah,
> > > >
> > > > Why aren't ENTRY/END used on STRCMP?
> > > >
> > >
> > > Not sure, I copied sse42 when doing avx2/evex.
> > >
> > > > >  # ifndef GLABEL
> > > > >  #  define GLABEL(...)  __VA_ARGS__
> > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > index 2a5b3ce037..e97d51bb26 100644
> > > > > --- a/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > @@ -214,7 +214,6 @@
> > > > >         .align  16
> > > > >         .type   STRCMP, @function
> > > > >         .globl  STRCMP
> > > > > -       .hidden STRCMP
> > > > >
> > > > >  # ifdef USE_AS_STRCASECMP_L
> > > > >  ENTRY (STRCASECMP)
> > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > index a9178ad25c..60313c647a 100644
> > > > > --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > @@ -77,7 +77,6 @@
> > > > >         .align  16
> > > > >         .type   STRCMP_SSE42, @function
> > > > >         .globl  STRCMP_SSE42
> > > > > -       .hidden STRCMP_SSE42
> > > > >  #ifdef USE_AS_STRCASECMP_L
> > > > >  ENTRY (GLABEL(__strcasecmp))
> > > > >         movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
> > > > > --
> > > > > 2.36.1
> > > > >
> > > >
> >
> > Do you need to do strcmp-sse2.S?
>
> There is no strcmp-sse2.S on master branch.

Can we rebase this ontop of my patches?
Between the "move stuff" and isa raising?
>
>
> --
> H.J.
H.J. Lu July 7, 2022, 11:57 p.m. UTC | #7
On Thu, Jul 7, 2022 at 4:54 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
>
> On Thu, Jul 7, 2022 at 4:52 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > On Thu, Jul 7, 2022 at 4:47 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> > >
> > > On Thu, Jul 7, 2022 at 4:45 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> > > >
> > > > On Thu, Jul 7, 2022 at 4:43 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > > >
> > > > > On Thu, Jul 7, 2022 at 4:39 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > > > >
> > > > > > Don't mark symbols as hidden in strcmp-avx2.S, strcmp-evex.S and
> > > > > > strcmp-sse42.S since they are marked as hidden in the IFUNC selectors.
> > > > > > ---
> > > > > >  sysdeps/x86_64/multiarch/strcmp-avx2.S  | 1 -
> > > > > >  sysdeps/x86_64/multiarch/strcmp-evex.S  | 1 -
> > > > > >  sysdeps/x86_64/multiarch/strcmp-sse42.S | 1 -
> > > > > >  3 files changed, 3 deletions(-)
> > > > > >
> > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > index 8da09bd86d..516cde1145 100644
> > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > @@ -184,7 +184,6 @@
> > > > > >         .align  16
> > > > > >         .type   STRCMP, @function
> > > > > >         .globl  STRCMP
> > > > > > -       .hidden STRCMP
> > > > >
> > > > > Hi Noah,
> > > > >
> > > > > Why aren't ENTRY/END used on STRCMP?
> > > > >
> > > >
> > > > Not sure, I copied sse42 when doing avx2/evex.
> > > >
> > > > > >  # ifndef GLABEL
> > > > > >  #  define GLABEL(...)  __VA_ARGS__
> > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > index 2a5b3ce037..e97d51bb26 100644
> > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > @@ -214,7 +214,6 @@
> > > > > >         .align  16
> > > > > >         .type   STRCMP, @function
> > > > > >         .globl  STRCMP
> > > > > > -       .hidden STRCMP
> > > > > >
> > > > > >  # ifdef USE_AS_STRCASECMP_L
> > > > > >  ENTRY (STRCASECMP)
> > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > index a9178ad25c..60313c647a 100644
> > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > @@ -77,7 +77,6 @@
> > > > > >         .align  16
> > > > > >         .type   STRCMP_SSE42, @function
> > > > > >         .globl  STRCMP_SSE42
> > > > > > -       .hidden STRCMP_SSE42
> > > > > >  #ifdef USE_AS_STRCASECMP_L
> > > > > >  ENTRY (GLABEL(__strcasecmp))
> > > > > >         movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
> > > > > > --
> > > > > > 2.36.1
> > > > > >
> > > > >
> > >
> > > Do you need to do strcmp-sse2.S?
> >
> > There is no strcmp-sse2.S on master branch.
>
> Can we rebase this ontop of my patches?
> Between the "move stuff" and isa raising?

It should be fixed on master branch first.  We don't need

# ifdef USE_MULTIARCH
        .hidden STRCMP
# endif

It isn't necessary.
Noah Goldstein July 8, 2022, midnight UTC | #8
On Thu, Jul 7, 2022 at 4:58 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Thu, Jul 7, 2022 at 4:54 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> >
> > On Thu, Jul 7, 2022 at 4:52 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > >
> > > On Thu, Jul 7, 2022 at 4:47 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> > > >
> > > > On Thu, Jul 7, 2022 at 4:45 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> > > > >
> > > > > On Thu, Jul 7, 2022 at 4:43 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > > > >
> > > > > > On Thu, Jul 7, 2022 at 4:39 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > > > > >
> > > > > > > Don't mark symbols as hidden in strcmp-avx2.S, strcmp-evex.S and
> > > > > > > strcmp-sse42.S since they are marked as hidden in the IFUNC selectors.
> > > > > > > ---
> > > > > > >  sysdeps/x86_64/multiarch/strcmp-avx2.S  | 1 -
> > > > > > >  sysdeps/x86_64/multiarch/strcmp-evex.S  | 1 -
> > > > > > >  sysdeps/x86_64/multiarch/strcmp-sse42.S | 1 -
> > > > > > >  3 files changed, 3 deletions(-)
> > > > > > >
> > > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > > index 8da09bd86d..516cde1145 100644
> > > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > > @@ -184,7 +184,6 @@
> > > > > > >         .align  16
> > > > > > >         .type   STRCMP, @function
> > > > > > >         .globl  STRCMP
> > > > > > > -       .hidden STRCMP
> > > > > >
> > > > > > Hi Noah,
> > > > > >
> > > > > > Why aren't ENTRY/END used on STRCMP?
> > > > > >
> > > > >
> > > > > Not sure, I copied sse42 when doing avx2/evex.
> > > > >
> > > > > > >  # ifndef GLABEL
> > > > > > >  #  define GLABEL(...)  __VA_ARGS__
> > > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > > index 2a5b3ce037..e97d51bb26 100644
> > > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > > @@ -214,7 +214,6 @@
> > > > > > >         .align  16
> > > > > > >         .type   STRCMP, @function
> > > > > > >         .globl  STRCMP
> > > > > > > -       .hidden STRCMP
> > > > > > >
> > > > > > >  # ifdef USE_AS_STRCASECMP_L
> > > > > > >  ENTRY (STRCASECMP)
> > > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > > index a9178ad25c..60313c647a 100644
> > > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > > @@ -77,7 +77,6 @@
> > > > > > >         .align  16
> > > > > > >         .type   STRCMP_SSE42, @function
> > > > > > >         .globl  STRCMP_SSE42
> > > > > > > -       .hidden STRCMP_SSE42
> > > > > > >  #ifdef USE_AS_STRCASECMP_L
> > > > > > >  ENTRY (GLABEL(__strcasecmp))
> > > > > > >         movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
> > > > > > > --
> > > > > > > 2.36.1
> > > > > > >
> > > > > >
> > > >
> > > > Do you need to do strcmp-sse2.S?
> > >
> > > There is no strcmp-sse2.S on master branch.
> >
> > Can we rebase this ontop of my patches?
> > Between the "move stuff" and isa raising?
>
> It should be fixed on master branch first.  We don't need
>
> # ifdef USE_MULTIARCH
>         .hidden STRCMP
> # endif
>
> It isn't necessary.

Okay.
>
> --
> H.J.
H.J. Lu July 8, 2022, 12:05 a.m. UTC | #9
On Thu, Jul 7, 2022 at 5:00 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
>
> On Thu, Jul 7, 2022 at 4:58 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > On Thu, Jul 7, 2022 at 4:54 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> > >
> > > On Thu, Jul 7, 2022 at 4:52 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > >
> > > > On Thu, Jul 7, 2022 at 4:47 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> > > > >
> > > > > On Thu, Jul 7, 2022 at 4:45 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> > > > > >
> > > > > > On Thu, Jul 7, 2022 at 4:43 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > > > > >
> > > > > > > On Thu, Jul 7, 2022 at 4:39 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > > > > > >
> > > > > > > > Don't mark symbols as hidden in strcmp-avx2.S, strcmp-evex.S and
> > > > > > > > strcmp-sse42.S since they are marked as hidden in the IFUNC selectors.
> > > > > > > > ---
> > > > > > > >  sysdeps/x86_64/multiarch/strcmp-avx2.S  | 1 -
> > > > > > > >  sysdeps/x86_64/multiarch/strcmp-evex.S  | 1 -
> > > > > > > >  sysdeps/x86_64/multiarch/strcmp-sse42.S | 1 -
> > > > > > > >  3 files changed, 3 deletions(-)
> > > > > > > >
> > > > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > > > index 8da09bd86d..516cde1145 100644
> > > > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > > > @@ -184,7 +184,6 @@
> > > > > > > >         .align  16
> > > > > > > >         .type   STRCMP, @function
> > > > > > > >         .globl  STRCMP
> > > > > > > > -       .hidden STRCMP
> > > > > > >
> > > > > > > Hi Noah,
> > > > > > >
> > > > > > > Why aren't ENTRY/END used on STRCMP?
> > > > > > >
> > > > > >
> > > > > > Not sure, I copied sse42 when doing avx2/evex.
> > > > > >
> > > > > > > >  # ifndef GLABEL
> > > > > > > >  #  define GLABEL(...)  __VA_ARGS__
> > > > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > > > index 2a5b3ce037..e97d51bb26 100644
> > > > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > > > @@ -214,7 +214,6 @@
> > > > > > > >         .align  16
> > > > > > > >         .type   STRCMP, @function
> > > > > > > >         .globl  STRCMP
> > > > > > > > -       .hidden STRCMP
> > > > > > > >
> > > > > > > >  # ifdef USE_AS_STRCASECMP_L
> > > > > > > >  ENTRY (STRCASECMP)
> > > > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > > > index a9178ad25c..60313c647a 100644
> > > > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > > > @@ -77,7 +77,6 @@
> > > > > > > >         .align  16
> > > > > > > >         .type   STRCMP_SSE42, @function
> > > > > > > >         .globl  STRCMP_SSE42
> > > > > > > > -       .hidden STRCMP_SSE42
> > > > > > > >  #ifdef USE_AS_STRCASECMP_L
> > > > > > > >  ENTRY (GLABEL(__strcasecmp))
> > > > > > > >         movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
> > > > > > > > --
> > > > > > > > 2.36.1
> > > > > > > >
> > > > > > >
> > > > >
> > > > > Do you need to do strcmp-sse2.S?
> > > >
> > > > There is no strcmp-sse2.S on master branch.
> > >
> > > Can we rebase this ontop of my patches?
> > > Between the "move stuff" and isa raising?
> >
> > It should be fixed on master branch first.  We don't need
> >
> > # ifdef USE_MULTIARCH
> >         .hidden STRCMP
> > # endif
> >
> > It isn't necessary.
>
> Okay.

I am checking it in.

Thanks.
Noah Goldstein July 8, 2022, 12:09 a.m. UTC | #10
On Thu, Jul 7, 2022 at 5:06 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Thu, Jul 7, 2022 at 5:00 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> >
> > On Thu, Jul 7, 2022 at 4:58 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > >
> > > On Thu, Jul 7, 2022 at 4:54 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> > > >
> > > > On Thu, Jul 7, 2022 at 4:52 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > > >
> > > > > On Thu, Jul 7, 2022 at 4:47 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> > > > > >
> > > > > > On Thu, Jul 7, 2022 at 4:45 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote:
> > > > > > >
> > > > > > > On Thu, Jul 7, 2022 at 4:43 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > > > > > >
> > > > > > > > On Thu, Jul 7, 2022 at 4:39 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > > > > > > >
> > > > > > > > > Don't mark symbols as hidden in strcmp-avx2.S, strcmp-evex.S and
> > > > > > > > > strcmp-sse42.S since they are marked as hidden in the IFUNC selectors.
> > > > > > > > > ---
> > > > > > > > >  sysdeps/x86_64/multiarch/strcmp-avx2.S  | 1 -
> > > > > > > > >  sysdeps/x86_64/multiarch/strcmp-evex.S  | 1 -
> > > > > > > > >  sysdeps/x86_64/multiarch/strcmp-sse42.S | 1 -
> > > > > > > > >  3 files changed, 3 deletions(-)
> > > > > > > > >
> > > > > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > > > > index 8da09bd86d..516cde1145 100644
> > > > > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
> > > > > > > > > @@ -184,7 +184,6 @@
> > > > > > > > >         .align  16
> > > > > > > > >         .type   STRCMP, @function
> > > > > > > > >         .globl  STRCMP
> > > > > > > > > -       .hidden STRCMP
> > > > > > > >
> > > > > > > > Hi Noah,
> > > > > > > >
> > > > > > > > Why aren't ENTRY/END used on STRCMP?
> > > > > > > >
> > > > > > >
> > > > > > > Not sure, I copied sse42 when doing avx2/evex.
> > > > > > >
> > > > > > > > >  # ifndef GLABEL
> > > > > > > > >  #  define GLABEL(...)  __VA_ARGS__
> > > > > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > > > > index 2a5b3ce037..e97d51bb26 100644
> > > > > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
> > > > > > > > > @@ -214,7 +214,6 @@
> > > > > > > > >         .align  16
> > > > > > > > >         .type   STRCMP, @function
> > > > > > > > >         .globl  STRCMP
> > > > > > > > > -       .hidden STRCMP
> > > > > > > > >
> > > > > > > > >  # ifdef USE_AS_STRCASECMP_L
> > > > > > > > >  ENTRY (STRCASECMP)
> > > > > > > > > diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > > > > index a9178ad25c..60313c647a 100644
> > > > > > > > > --- a/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > > > > +++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S
> > > > > > > > > @@ -77,7 +77,6 @@
> > > > > > > > >         .align  16
> > > > > > > > >         .type   STRCMP_SSE42, @function
> > > > > > > > >         .globl  STRCMP_SSE42
> > > > > > > > > -       .hidden STRCMP_SSE42
> > > > > > > > >  #ifdef USE_AS_STRCASECMP_L
> > > > > > > > >  ENTRY (GLABEL(__strcasecmp))
> > > > > > > > >         movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
> > > > > > > > > --
> > > > > > > > > 2.36.1
> > > > > > > > >
> > > > > > > >
> > > > > >
> > > > > > Do you need to do strcmp-sse2.S?
> > > > >
> > > > > There is no strcmp-sse2.S on master branch.
> > > >
> > > > Can we rebase this ontop of my patches?
> > > > Between the "move stuff" and isa raising?
> > >
> > > It should be fixed on master branch first.  We don't need
> > >
> > > # ifdef USE_MULTIARCH
> > >         .hidden STRCMP
> > > # endif
> > >
> > > It isn't necessary.
> >
> > Okay.
>
> I am checking it in.
>

Yup,

LGTM.
> Thanks.
>
> --
> H.J.
diff mbox series

Patch

diff --git a/sysdeps/x86_64/multiarch/strcmp-avx2.S b/sysdeps/x86_64/multiarch/strcmp-avx2.S
index 8da09bd86d..516cde1145 100644
--- a/sysdeps/x86_64/multiarch/strcmp-avx2.S
+++ b/sysdeps/x86_64/multiarch/strcmp-avx2.S
@@ -184,7 +184,6 @@ 
 	.align	16
 	.type	STRCMP, @function
 	.globl	STRCMP
-	.hidden	STRCMP
 
 # ifndef GLABEL
 #  define GLABEL(...)	__VA_ARGS__
diff --git a/sysdeps/x86_64/multiarch/strcmp-evex.S b/sysdeps/x86_64/multiarch/strcmp-evex.S
index 2a5b3ce037..e97d51bb26 100644
--- a/sysdeps/x86_64/multiarch/strcmp-evex.S
+++ b/sysdeps/x86_64/multiarch/strcmp-evex.S
@@ -214,7 +214,6 @@ 
 	.align	16
 	.type	STRCMP, @function
 	.globl	STRCMP
-	.hidden	STRCMP
 
 # ifdef USE_AS_STRCASECMP_L
 ENTRY (STRCASECMP)
diff --git a/sysdeps/x86_64/multiarch/strcmp-sse42.S b/sysdeps/x86_64/multiarch/strcmp-sse42.S
index a9178ad25c..60313c647a 100644
--- a/sysdeps/x86_64/multiarch/strcmp-sse42.S
+++ b/sysdeps/x86_64/multiarch/strcmp-sse42.S
@@ -77,7 +77,6 @@ 
 	.align	16
 	.type	STRCMP_SSE42, @function
 	.globl	STRCMP_SSE42
-	.hidden	STRCMP_SSE42
 #ifdef USE_AS_STRCASECMP_L
 ENTRY (GLABEL(__strcasecmp))
 	movq	__libc_tsd_LOCALE@gottpoff(%rip),%rax