public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc] linux: Fix i686 with gcc6
@ 2023-07-26 14:22 Adhemerval Zanella
  0 siblings, 0 replies; only message in thread
From: Adhemerval Zanella @ 2023-07-26 14:22 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=dbc4b032dc5c4ef0c46e9de23c46b1698bad4412

commit dbc4b032dc5c4ef0c46e9de23c46b1698bad4412
Author: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
Date:   Tue Jul 25 12:16:40 2023 -0300

    linux: Fix i686 with gcc6
    
    On __convert_scm_timestamps GCC 6 issues an warning that tvts[0]/tvts[1]
    maybe be used uninitialized, however it would be used if type is set to a
    value different than 0 (done by either COMPAT_SO_TIMESTAMP_OLD or
    COMPAT_SO_TIMESTAMPNS_OLD) which will fallthrough to 'common' label.
    
    It does not show with gcc 7 or more recent versions.
    
    Checked on i686-linux-gnu.
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>

Diff:
---
 sysdeps/unix/sysv/linux/convert_scm_timestamps.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
index 42f9613416..06c8adeee1 100644
--- a/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
+++ b/sysdeps/unix/sysv/linux/convert_scm_timestamps.c
@@ -23,6 +23,7 @@
 # include <string.h>
 # include <sys/socket.h>
 # include <socket-constants-time64.h>
+# include <libc-diag.h>
 
 /* It converts the first SO_TIMESTAMP or SO_TIMESTAMPNS with 32-bit time and
    appends it to the control buffer.  The 32-bit time field is kept as-is.
@@ -44,7 +45,15 @@ __convert_scm_timestamps (struct msghdr *msg, socklen_t msgsize)
      'struct __kernel_sock_timeval' while for SO_TIMESTAMPNS_NEW is a
      'struct __kernel_timespec'.  In either case it is two uint64_t
      members.  */
+
+  /* GCC 6 issues an warning that tvts[0]/tvts[1] maybe be used uninitialized,
+     however it would be used if type is set to a value different than 0
+     (done by either COMPAT_SO_TIMESTAMP_OLD or COMPAT_SO_TIMESTAMPNS_OLD)
+     which will fallthrough to 'common' label.  */
+  DIAG_PUSH_NEEDS_COMMENT;
+  DIAG_IGNORE_NEEDS_COMMENT (6, "-Wmaybe-uninitialized");
   int64_t tvts[2];
+  DIAG_POP_NEEDS_COMMENT;
   int32_t tmp[2];
 
   struct cmsghdr *cmsg, *last = NULL;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-07-26 14:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-26 14:22 [glibc] linux: Fix i686 with gcc6 Adhemerval Zanella

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).