This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix strstr/strcasestr/fma/fmaf on x86_64


On Wed, Sep 02, 2009 at 12:08:31PM +0200, Andreas Schwab wrote:
> > --- libc/sysdeps/x86_64/multiarch/strstr-c.c.jj	2009-07-23 08:59:29.000000000 +0200
> > +++ libc/sysdeps/x86_64/multiarch/strstr-c.c	2009-09-02 10:34:48.000000000 +0200
> > @@ -7,6 +7,7 @@
> >  
> >  #include "string/strstr.c"
> >  
> > -extern char *__strstr_sse42 (const char *, const char *);
> > +extern char *__strstr_sse42 (const char *, const char *) attribute_hidden;
> > +extern __typeof (__strstr_sse2) __strstr_sse2 attribute_hidden;
> 
> Shouldn't those use the libc_hidden* macros?

No.  libc_hidden_* is for functions that are exported and we also want to
call them from within libc without hopping through PLT slot.
These *_sse{42,2} functions aren't exported at all, just the compiler needs
to be told about that when compiling this file, otherwise it uses a mov with
GOTPCREL instead of lea with PC relative relocation.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]