[GLIBC][PATCH v2] Remove strdup inlines
Mike Frysinger
vapier@gentoo.org
Mon Dec 12 18:39:00 GMT 2016
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20161212/1e607e22/attachment.sig>
More information about the Libc-alpha
mailing list