diff options
author | Joseph Myers <joseph@codesourcery.com> | 2018-02-15 20:59:12 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2018-02-15 20:59:12 +0000 |
commit | e4452a2d19279d4c90bcafe09ec3cbfd3efe9b6a (patch) | |
tree | d63b0749bb43c54953a0c9b228ad33a74cd3b5a3 | |
parent | 499b315324519f8deb5b42a143a76319934a3ab0 (diff) | |
download | glibc-e4452a2d19279d4c90bcafe09ec3cbfd3efe9b6a.zip glibc-e4452a2d19279d4c90bcafe09ec3cbfd3efe9b6a.tar.gz glibc-e4452a2d19279d4c90bcafe09ec3cbfd3efe9b6a.tar.bz2 |
Use libc_hidden_* for __cmsg_nxthdr (bug 15105).
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).
[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.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | include/sys/socket.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/cmsg_nxthdr.c | 1 |
3 files changed, 9 insertions, 0 deletions
@@ -1,6 +1,12 @@ 2018-02-15 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. + + [BZ #15105] * include/stdio.h [!_ISOMAC && IS_IN (libc)] (fputs): Use libc_hidden_proto. * libio/iofputs.c (fputs): Use libc_hidden_weak. 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) |