From 5ac072c0f42bf3216d16f177c795e9324bf3c52b Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Mon, 5 Jan 2026 16:47:04 +0100 Subject: Fix missing dirty-checks against objects in ld, so and ar tasks. --- src/task_ar.cc | 9 +++++++++ src/task_ld.cc | 9 +++++++++ src/task_so.cc | 9 +++++++++ 3 files changed, 27 insertions(+) diff --git a/src/task_ar.cc b/src/task_ar.cc index 74ea888..16e0ce8 100644 --- a/src/task_ar.cc +++ b/src/task_ar.cc @@ -72,6 +72,15 @@ bool TaskAR::dirtyInner() } } + auto target_file_time = std::filesystem::last_write_time(targetFile()); + for(const auto& object_file : objectFiles) + { + if(std::filesystem::last_write_time(object_file) > target_file_time) + { + return true; + } + } + return false; } diff --git a/src/task_ld.cc b/src/task_ld.cc index c7014ff..a3f02d1 100644 --- a/src/task_ld.cc +++ b/src/task_ld.cc @@ -78,6 +78,15 @@ bool TaskLD::dirtyInner() } } + auto target_file_time = std::filesystem::last_write_time(targetFile()); + for(const auto& object_file : objectFiles) + { + if(std::filesystem::last_write_time(object_file) > target_file_time) + { + return true; + } + } + return false; } diff --git a/src/task_so.cc b/src/task_so.cc index f922ac3..090105a 100644 --- a/src/task_so.cc +++ b/src/task_so.cc @@ -74,6 +74,15 @@ bool TaskSO::dirtyInner() } } + auto target_file_time = std::filesystem::last_write_time(targetFile()); + for(const auto& object_file : objectFiles) + { + if(std::filesystem::last_write_time(object_file) > target_file_time) + { + return true; + } + } + return false; } -- cgit v1.2.3