summaryrefslogtreecommitdiffstats
path: root/Modules/Platform/AIX
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-01-30 15:06:11 (GMT)
committerBrad King <brad.king@kitware.com>2020-01-31 14:28:07 (GMT)
commit0dcfb63cb9793311b4b7ae3a395e0a273ec824b2 (patch)
tree3181b51441c0a33a1985588eb78c202b17d0685a /Modules/Platform/AIX
parent371e9e48a4186f41354938b0b805a351857c78a0 (diff)
downloadCMake-0dcfb63cb9793311b4b7ae3a395e0a273ec824b2.zip
CMake-0dcfb63cb9793311b4b7ae3a395e0a273ec824b2.tar.gz
CMake-0dcfb63cb9793311b4b7ae3a395e0a273ec824b2.tar.bz2
AIX: Revise ExportImportList to build output more incrementally
This will allow more steps to be added.
Diffstat (limited to 'Modules/Platform/AIX')
-rwxr-xr-xModules/Platform/AIX/ExportImportList7
1 files changed, 5 insertions, 2 deletions
diff --git a/Modules/Platform/AIX/ExportImportList b/Modules/Platform/AIX/ExportImportList
index 4f67ef5..c7f60b5 100755
--- a/Modules/Platform/AIX/ExportImportList
+++ b/Modules/Platform/AIX/ExportImportList
@@ -26,9 +26,12 @@ while test "$#" != 0; do
done
test -n "$out" || die "$usage"
-# Collect symbols exported from all object files.
+# Build a temporary file that atomically replaces the output later.
out_tmp="$out.tmp$$"
trap 'rm -f "$out_tmp"' EXIT INT TERM
+> "$out_tmp"
+
+# Collect symbols exported from all object files.
for f in "$@"; do
dump -tov -X 32_64 "$f" |
awk '
@@ -42,7 +45,7 @@ for f in "$@"; do
}
}
'
-done > "$out_tmp"
+done >> "$out_tmp"
# Generate the export/import file.
{