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 v2 6/10] Tilera (and Linux asm-generic) support for glibc


On 11/11/2011 1:00 PM, Roland McGrath wrote:
2011-11-03 Chris Metcalf<cmetcalf@tilera.com>

   * sysdeps/unix/sysv/linux/faccessat.c (faccessat): Use the hidden
   version of fxstatat64() to avoid requiring libc_nonshared.a.
You haven't explained why you think this is worthwhile.
The rationale for this one is that if you build glibc with "gcc -Os",
then the normal extern inline wrappers for fxstatat() and friends
don't get used in io/sys/stat.h (__USE_EXTERN_INLINES is not set), so
rather than becoming a direct call to __fxstatat(), it tries to
actually call fstatat64() directly.  But for shared libc this isn't
available, since that symbol is defined in libc_nonshared.a, so
linking fails.

Calling directly to the "__*xstat*" version of the symbol and passing
_STAT_VER seems to be common throughout the glibc source code.

This actually isn't a bug fix specific to anything about tile or
the asm-generic Linux code, just for how we happen to be building glibc.

--
Chris Metcalf, Tilera Corp.
http://www.tilera.com


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