From 9964bb433ea01633b835e4bf6bdc86b7ab87cc3d Mon Sep 17 00:00:00 2001
From: James Farrell <jamesfarrell@google.com>
Date: Mon, 28 Aug 2023 22:14:18 +0000
Subject: [PATCH] Generate outlined_atomics.rs in a deterministic order.

Also add a missing newline.
---
 build.rs | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/build.rs b/build.rs
index 10c7aaa63..b60181062 100644
--- a/build.rs
+++ b/build.rs
@@ -1,4 +1,4 @@
-use std::{collections::HashMap, env, sync::atomic::Ordering};
+use std::{collections::BTreeMap, env, sync::atomic::Ordering};
 
 fn main() {
     println!("cargo:rerun-if-changed=build.rs");
@@ -118,7 +118,7 @@ fn generate_aarch64_outlined_atomics() {
 
     // Generate different macros for add/clr/eor/set so that we can test them separately.
     let sym_names = ["cas", "ldadd", "ldclr", "ldeor", "ldset", "swp"];
-    let mut macros = HashMap::new();
+    let mut macros = BTreeMap::new();
     for sym in sym_names {
         macros.insert(sym, gen_macro(sym));
     }
@@ -146,7 +146,7 @@ fn generate_aarch64_outlined_atomics() {
     let mut buf = String::new();
     for macro_def in macros.values().chain(std::iter::once(&cas16)) {
         buf += macro_def;
-        buf += "}; }";
+        buf += "}; }\n";
     }
     let dst = std::env::var("OUT_DIR").unwrap() + "/outlined_atomics.rs";
     std::fs::write(dst, buf).unwrap();