aboutsummaryrefslogtreecommitdiff
path: root/gold/fileread.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2009-07-06 23:11:21 +0000
committerIan Lance Taylor <ian@airs.com>2009-07-06 23:11:21 +0000
commit98fa85cb4244619f2ecc3cdfd7578a2602addf45 (patch)
tree04f0bdd28145db3e83edf52eefb7081bbcf21754 /gold/fileread.h
parent922d8de8c1bd5cbaa9eadd77437daea021864c1d (diff)
downloadfsf-binutils-gdb-98fa85cb4244619f2ecc3cdfd7578a2602addf45.zip
fsf-binutils-gdb-98fa85cb4244619f2ecc3cdfd7578a2602addf45.tar.gz
fsf-binutils-gdb-98fa85cb4244619f2ecc3cdfd7578a2602addf45.tar.bz2
* fileread.cc (File_read::get_mtime): New method.
* fileread.h (Timespec): New structure. (File_read::get_mtime): New method. * incremental.cc (Incremental_inputs_entry_data::timestamp_usec): Renamed from timestamp_nsec. (Incremental_inputs_entry_write::timestamp_sec): Fix argument to Elf_Xword. (Incremental_inputs_entry_write::timestamp_usec): Renamed from timestamp_nsec. (Incremental_inputs::report_archive): Save mtime; style fix. (Incremental_inputs::report_obejct): Save mtime; style fix. (Incremental_inputs::report_script): Save mtime; style fix. (Incremental_inputs::finalize_inputs): Style fix. (Incremental_inputs::finalize): Style fix. (Incremental_inputs::create_input_section_data): Store inputs mtime. * incremental.h (Incremental_inputs::report_script): Add mtime argument. (Incremental_inputs::Input_info::Input_info): Intialize only one union member. (Incremental_inputs::Input_info::archive): Move to nameless union. (Incremental_inputs::Input_info::obejct): Move to nameless union. (Incremental_inputs::Input_info::script): Move to nameless union. (Incremental_inputs::mtime): New field. * script.cc (read_input_script): Pass file mtime to Incremental_input. * script.h (Script_info::inputs): Style fix.
Diffstat (limited to 'gold/fileread.h')
-rw-r--r--gold/fileread.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/gold/fileread.h b/gold/fileread.h
index 4d19824..920a4da 100644
--- a/gold/fileread.h
+++ b/gold/fileread.h
@@ -35,6 +35,23 @@
namespace gold
{
+// Since not all system supports stat.st_mtim and struct timespec,
+// we define our own structure and fill the nanoseconds if we can.
+
+struct Timespec
+{
+ Timespec()
+ : seconds(0), nanoseconds(0)
+ { }
+
+ Timespec(time_t a_seconds, int a_nanoseconds)
+ : seconds(a_seconds), nanoseconds(a_nanoseconds)
+ { }
+
+ time_t seconds;
+ int nanoseconds;
+};
+
class Position_dependent_options;
class Input_file_argument;
class Dirsearch;
@@ -190,6 +207,11 @@ class File_read
this->reopen_descriptor();
return this->descriptor_;
}
+
+ // Return the file last modification time. Calls gold_fatal if the stat
+ // system call failed.
+ Timespec
+ get_mtime();
private:
// This class may not be copied.