[Bug ada/55119] New: Ada.Directories only handles files under 2GB

simon at pushface dot org gcc-bugzilla@gcc.gnu.org
Mon Oct 29 15:56:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55119

             Bug #: 55119
           Summary: Ada.Directories only handles files under 2GB
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: simon@pushface.org


In adaint.c, __gnat_stat_to_attr says

    /* st_size may be 32 bits, or 64 bits which is converted to long. We
       don't return a useful value for files larger than 2 gigabytes in
       either case. */
    attr->file_length = statbuf.st_size;  /* all systems */

where attr->file_length is a long.

This fails with large files on 64-bit filesystems (eg, Mac OS X).

I _think_ that a simple fix would be, in adaint.h, to define
file_attributes.file_length as a long long.



More information about the Gcc-bugs mailing list