Message ID | 55BB88D6.4080601@linaro.org |
---|---|
State | New |
Headers | show |
Adhemerval Zanella <adhemerval.zanella@linaro.org> writes: > When building with --disable-multi-arch the memmove and strstr POWER7 > optimization create and uses symbols that conflict with expect conform > tests. > > Checked on powerpc64. > > -- > > * sysdeps/powerpc/powerpc64/power7/memmove.S (bcopy): Changing to > __bcopy and add a weak_alias to bcopy. > * sysdeps/powerpc/powerpc64/power7/strstr.S (strstr): Use __strnlen > for static build. LGTM. Thanks for catching this!
On Fri, 2015-07-31 at 11:40 -0300, Adhemerval Zanella wrote: > When building with --disable-multi-arch the memmove and strstr POWER7 > optimization create and uses symbols that conflict with expect conform > tests. > > Checked on powerpc64. > > -- > > * sysdeps/powerpc/powerpc64/power7/memmove.S (bcopy): Changing to > __bcopy and add a weak_alias to bcopy. > * sysdeps/powerpc/powerpc64/power7/strstr.S (strstr): Use __strnlen > for static build. > > -- > > diff --git a/sysdeps/powerpc/powerpc64/power7/memmove.S b/sysdeps/powerpc/powerpc64/power7/memmove.S > index 3bd4b4b..43f0a48 100644 > --- a/sysdeps/powerpc/powerpc64/power7/memmove.S > +++ b/sysdeps/powerpc/powerpc64/power7/memmove.S > @@ -823,9 +823,10 @@ libc_hidden_builtin_def (memmove) > /* void bcopy(const void *src [r3], void *dest [r4], size_t n [r5]) > Implemented in this file to avoid linker create a stub function call > in the branch to '_memmove'. */ > -ENTRY (bcopy) > +ENTRY (__bcopy) > mr r6,r3 > mr r3,r4 > mr r4,r6 > b L(_memmove) > -END (bcopy) > +END (__bcopy) > +weak_alias (__bcopy, bcopy) > diff --git a/sysdeps/powerpc/powerpc64/power7/strstr.S b/sysdeps/powerpc/powerpc64/power7/strstr.S > index 8dca31c..bfb0c49 100644 > --- a/sysdeps/powerpc/powerpc64/power7/strstr.S > +++ b/sysdeps/powerpc/powerpc64/power7/strstr.S > @@ -39,7 +39,7 @@ > # ifdef SHARED > # define STRNLEN __GI_strnlen > # else > -# define STRNLEN strnlen > +# define STRNLEN __strnlen > # endif > #endif > Ok
Pushed upstream as 6f714aa4ad5af2745ae2d185821d20ce8fabc2c5 On 05-08-2015 14:42, Tulio Magno Quites Machado Filho wrote: > Adhemerval Zanella <adhemerval.zanella@linaro.org> writes: > >> When building with --disable-multi-arch the memmove and strstr POWER7 >> optimization create and uses symbols that conflict with expect conform >> tests. >> >> Checked on powerpc64. >> >> -- >> >> * sysdeps/powerpc/powerpc64/power7/memmove.S (bcopy): Changing to >> __bcopy and add a weak_alias to bcopy. >> * sysdeps/powerpc/powerpc64/power7/strstr.S (strstr): Use __strnlen >> for static build. > > LGTM. > > Thanks for catching this! >
diff --git a/sysdeps/powerpc/powerpc64/power7/memmove.S b/sysdeps/powerpc/powerpc64/power7/memmove.S index 3bd4b4b..43f0a48 100644 --- a/sysdeps/powerpc/powerpc64/power7/memmove.S +++ b/sysdeps/powerpc/powerpc64/power7/memmove.S @@ -823,9 +823,10 @@ libc_hidden_builtin_def (memmove) /* void bcopy(const void *src [r3], void *dest [r4], size_t n [r5]) Implemented in this file to avoid linker create a stub function call in the branch to '_memmove'. */ -ENTRY (bcopy) +ENTRY (__bcopy) mr r6,r3 mr r3,r4 mr r4,r6 b L(_memmove) -END (bcopy) +END (__bcopy) +weak_alias (__bcopy, bcopy) diff --git a/sysdeps/powerpc/powerpc64/power7/strstr.S b/sysdeps/powerpc/powerpc64/power7/strstr.S index 8dca31c..bfb0c49 100644 --- a/sysdeps/powerpc/powerpc64/power7/strstr.S +++ b/sysdeps/powerpc/powerpc64/power7/strstr.S @@ -39,7 +39,7 @@ # ifdef SHARED # define STRNLEN __GI_strnlen # else -# define STRNLEN strnlen +# define STRNLEN __strnlen # endif #endif