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] |
On 12 Dec 2016 17:28, Wilco Dijkstra wrote: > Mike Frysinger wrote: > > > +# define strdup(s) __builtin_strdup (s) > > > > why do we need these at all ? these seem like the sort of thing that > > gcc should do automatically for us ? > > strdup and strndup are used inside GLIBC and without these defines > I get lots of linknamespace and ocalplt failures. We do something similar > for __stpcpy in bits/string2.h. However here is this in include/string.h: > > #if (!IS_IN (libc) || !defined SHARED) \ > && !defined NO_MEMPCPY_STPCPY_REDIRECT > /* Redirect calls to __builtin_mempcpy and __builtin_stpcpy to call > __mempcpy and __stpcpy if not inlined. */ > extern __typeof (mempcpy) mempcpy __asm__ ("__mempcpy"); > extern __typeof (stpcpy) stpcpy __asm__ ("__stpcpy"); > #endif > > Maybe strdup needs to be added here? right -- if it's for internal needs only, include/string.h is the right place to drop it in (with an explanation comment). string/string.h is the exported header and i don't think this define makes sense there. -mike
Attachment:
signature.asc
Description: Digital signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |