https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82384
--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> --- (In reply to Eric Botcazou from comment #3) > > Thank you for reporting this. Could you please check that the attached > > untested patch fixes the issue you are reporting? (or tell me how to > > reproduce on my x86_64-linux box :-)) Thank you in advance! > > I have essentially the same patch locally: > > Index: s-linux__x32.ads > =================================================================== > --- s-linux__x32.ads (revision 253315) > +++ s-linux__x32.ads (working copy) > @@ -6,7 +6,7 @@ > -- > -- > -- S p e c > -- > -- > -- > --- Copyright (C) 2013-2017, Free Software Foundation, Inc. > -- > +-- Copyright (C) 2013-2017, Free Software Foundation, Inc. > -- > -- > -- > -- > -- GNARL is free software; you can redistribute it and/or modify it under > -- > @@ -45,8 +45,9 @@ package System.Linux is > -- Time -- > ---------- > > - type time_t is new Long_Long_Integer; > - subtype clockid_t is Interfaces.C.int; > + subtype suseconds_t is Long_Long_Integer; > + subtype time_t is Long_Long_Integer; > + subtype clockid_t is Interfaces.C.int; > > type timespec is record > tv_sec : time_t; > @@ -56,7 +57,7 @@ package System.Linux is > > type timeval is record > tv_sec : time_t; > - tv_usec : Long_Long_Integer; > + tv_usec : suseconds_t; > end record; > pragma Convention (C, timeval); > > with additional tweaks to make it resemble s-linux.ads more closely. I am testing this now.