Message ID | alpine.DEB.2.20.1802132106070.25645@digraph.polyomino.org.uk |
---|---|
State | New |
Headers | show |
Series | Use libc_hidden_* for __cmsg_nxthdr (bug 15105) | expand |
On 13/02/2018 19:06, Joseph Myers wrote: > Among other localplt test failures when building with -Os, there are > libc.so PLT references for __cmsg_nxthdr. This is a simple case of a > function that is inlined for -O2 but not for -Os; this patch adds > libc_hidden_proto / libc_hidden_def for it to avoid a localplt failure > even when it is not inlined. > > Tested for x86_64 (both that it removes this particular localplt > failure for -Os - but other such failures remain so the bug can't yet > be closed - and that the testsuite continues to pass without -Os). > > 2018-02-13 Joseph Myers <joseph@codesourcery.com> > > [BZ #15105] > * include/sys/socket.h [!_ISOMAC] (__cmsg_nxthdr): Use > libc_hidden_proto. > * sysdeps/unix/sysv/linux/cmsg_nxthdr.c (__cmsg_nxthdr): Use > libc_hidden_def. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > > diff --git a/include/sys/socket.h b/include/sys/socket.h > index baec6e6..26db0e0 100644 > --- a/include/sys/socket.h > +++ b/include/sys/socket.h > @@ -154,5 +154,7 @@ libc_hidden_proto (__libc_sa_len) > # define SA_LEN(_x) __libc_sa_len((_x)->sa_family) > #endif > > +libc_hidden_proto (__cmsg_nxthdr) > + > #endif > #endif > diff --git a/sysdeps/unix/sysv/linux/cmsg_nxthdr.c b/sysdeps/unix/sysv/linux/cmsg_nxthdr.c > index fa0468e..bab0be6 100644 > --- a/sysdeps/unix/sysv/linux/cmsg_nxthdr.c > +++ b/sysdeps/unix/sysv/linux/cmsg_nxthdr.c > @@ -37,3 +37,4 @@ __cmsg_nxthdr (struct msghdr *mhdr, struct cmsghdr *cmsg) > return NULL; > return cmsg; > } > +libc_hidden_def (__cmsg_nxthdr) >
diff --git a/include/sys/socket.h b/include/sys/socket.h index baec6e6..26db0e0 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -154,5 +154,7 @@ libc_hidden_proto (__libc_sa_len) # define SA_LEN(_x) __libc_sa_len((_x)->sa_family) #endif +libc_hidden_proto (__cmsg_nxthdr) + #endif #endif diff --git a/sysdeps/unix/sysv/linux/cmsg_nxthdr.c b/sysdeps/unix/sysv/linux/cmsg_nxthdr.c index fa0468e..bab0be6 100644 --- a/sysdeps/unix/sysv/linux/cmsg_nxthdr.c +++ b/sysdeps/unix/sysv/linux/cmsg_nxthdr.c @@ -37,3 +37,4 @@ __cmsg_nxthdr (struct msghdr *mhdr, struct cmsghdr *cmsg) return NULL; return cmsg; } +libc_hidden_def (__cmsg_nxthdr)