diff options
Diffstat (limited to 'gcc/vmsdbgout.c')
-rw-r--r-- | gcc/vmsdbgout.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/gcc/vmsdbgout.c b/gcc/vmsdbgout.c index 15318ed..245875c 100644 --- a/gcc/vmsdbgout.c +++ b/gcc/vmsdbgout.c @@ -1455,15 +1455,26 @@ lookup_filename (file_name) if (stat (file_name, &statbuf) == 0) { - cdt = 10000000 * (statbuf.st_ctime + vms_epoch_offset); - ebk = statbuf.st_size / 512 + 1; - ffb = statbuf.st_size - ((statbuf.st_size / 512) * 512); + long gmtoff; #ifdef VMS + struct tm *ts; + + /* Adjust for GMT */ + ts = (struct tm *) localtime (&statbuf.st_ctime); + gmtoff = ts->tm_gmtoff; + + /* VMS has multiple file format types */ rfo = statbuf.st_fab_rfm; #else + /* Is GMT adjustment an issue with a cross-compiler? */ + gmtoff = 0; + /* Assume stream LF type file */ rfo = 2; #endif + cdt = 10000000 * (statbuf.st_ctime + gmtoff + vms_epoch_offset); + ebk = statbuf.st_size / 512 + 1; + ffb = statbuf.st_size - ((statbuf.st_size / 512) * 512); fnam = full_name (file_name); flen = strlen (fnam); } |