diff --git a/infra/README.recipes.md b/infra/README.recipes.md
index 869f775..e045932 100644
--- a/infra/README.recipes.md
+++ b/infra/README.recipes.md
@@ -91,7 +91,7 @@
 
 Recipe for building GN.
 
-&mdash; **def [RunSteps](/infra/recipes/gn.py#30)(api, repository):**
+&mdash; **def [RunSteps](/infra/recipes/gn.py#72)(api, repository):**
 ### *recipes* / [macos\_sdk:examples/full](/infra/recipe_modules/macos_sdk/examples/full.py)
 
 [DEPS](/infra/recipe_modules/macos_sdk/examples/full.py#5): [macos\_sdk](#recipe_modules-macos_sdk), [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/step][recipe_engine/recipe_modules/step]
diff --git a/infra/recipes/gn.expected/ci_linux.json b/infra/recipes/gn.expected/ci_linux.json
index 4a301f2..46d945b 100644
--- a/infra/recipes/gn.expected/ci_linux.json
+++ b/infra/recipes/gn.expected/ci_linux.json
@@ -96,6 +96,213 @@
   },
   {
     "cmd": [],
+    "name": "rpmalloc"
+  },
+  {
+    "cmd": [
+      "git",
+      "init",
+      "[START_DIR]/rpmalloc"
+    ],
+    "name": "rpmalloc.init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "git",
+      "fetch",
+      "--tags",
+      "https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
+      "9c030f7a5efed87e3d036440e753c31342f9f909"
+    ],
+    "cwd": "[START_DIR]/rpmalloc",
+    "infra_step": true,
+    "name": "rpmalloc.fetch",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "git",
+      "checkout",
+      "FETCH_HEAD"
+    ],
+    "cwd": "[START_DIR]/rpmalloc",
+    "infra_step": true,
+    "name": "rpmalloc.checkout",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CLEANUP]/rpmalloc-linux-amd64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.remove sources linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copytree",
+      "[START_DIR]/rpmalloc",
+      "[CLEANUP]/rpmalloc-linux-amd64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.copy sources linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "rpmalloc.build rpmalloc-linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CLEANUP]/rpmalloc-linux-amd64/configure.py",
+      "-c",
+      "release",
+      "-a",
+      "x86-64",
+      "--lto"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-amd64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-amd64.configure",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/ninja",
+      "lib/linux/release/x86-64/librpmallocwrap.a"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-amd64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-amd64.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CLEANUP]/rpmalloc-linux-arm64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.remove sources linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copytree",
+      "[START_DIR]/rpmalloc",
+      "[CLEANUP]/rpmalloc-linux-arm64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.copy sources linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "rpmalloc.build rpmalloc-linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CLEANUP]/rpmalloc-linux-arm64/configure.py",
+      "-c",
+      "release",
+      "-a",
+      "arm64",
+      "--lto"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-arm64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-arm64.configure",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/ninja",
+      "lib/linux/release/arm64/librpmallocwrap.a"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-arm64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-arm64.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "debug"
   },
   {
@@ -170,7 +377,8 @@
       "-u",
       "[START_DIR]/gn/build/gen.py",
       "--use-lto",
-      "--use-icf"
+      "--use-icf",
+      "--link-lib=[CLEANUP]/rpmalloc-linux-amd64/lib/linux/release/x86-64/librpmallocwrap.a"
     ],
     "cwd": "[START_DIR]/gn",
     "env": {
@@ -258,7 +466,8 @@
       "-u",
       "[START_DIR]/gn/build/gen.py",
       "--use-lto",
-      "--use-icf"
+      "--use-icf",
+      "--link-lib=[CLEANUP]/rpmalloc-linux-arm64/lib/linux/release/arm64/librpmallocwrap.a"
     ],
     "cwd": "[START_DIR]/gn",
     "env": {
diff --git a/infra/recipes/gn.expected/ci_mac.json b/infra/recipes/gn.expected/ci_mac.json
index 03d5da6..a2db672 100644
--- a/infra/recipes/gn.expected/ci_mac.json
+++ b/infra/recipes/gn.expected/ci_mac.json
@@ -144,26 +144,26 @@
     "name": "debug"
   },
   {
-    "cmd": [],
-    "name": "debug.mac-amd64",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
     "cmd": [
       "xcrun",
       "--show-sdk-path"
     ],
-    "name": "debug.mac-amd64.xcrun",
+    "name": "debug.xcrun",
     "stdout": "/path/to/tmp/",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[sdk-path]@/some/xcode/path@@@",
       "@@@STEP_LOG_END@raw_io.output[sdk-path]@@@"
     ]
   },
   {
+    "cmd": [],
+    "name": "debug.mac-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [
       "python",
       "-u",
@@ -216,26 +216,26 @@
     "name": "release"
   },
   {
-    "cmd": [],
-    "name": "release.mac-amd64",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
     "cmd": [
       "xcrun",
       "--show-sdk-path"
     ],
-    "name": "release.mac-amd64.xcrun",
+    "name": "release.xcrun",
     "stdout": "/path/to/tmp/",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[sdk-path]@/some/xcode/path@@@",
       "@@@STEP_LOG_END@raw_io.output[sdk-path]@@@"
     ]
   },
   {
+    "cmd": [],
+    "name": "release.mac-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [
       "python",
       "-u",
diff --git a/infra/recipes/gn.expected/cipd_exists.json b/infra/recipes/gn.expected/cipd_exists.json
index d7127c2..f76eb84 100644
--- a/infra/recipes/gn.expected/cipd_exists.json
+++ b/infra/recipes/gn.expected/cipd_exists.json
@@ -96,6 +96,213 @@
   },
   {
     "cmd": [],
+    "name": "rpmalloc"
+  },
+  {
+    "cmd": [
+      "git",
+      "init",
+      "[START_DIR]/rpmalloc"
+    ],
+    "name": "rpmalloc.init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "git",
+      "fetch",
+      "--tags",
+      "https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
+      "9c030f7a5efed87e3d036440e753c31342f9f909"
+    ],
+    "cwd": "[START_DIR]/rpmalloc",
+    "infra_step": true,
+    "name": "rpmalloc.fetch",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "git",
+      "checkout",
+      "FETCH_HEAD"
+    ],
+    "cwd": "[START_DIR]/rpmalloc",
+    "infra_step": true,
+    "name": "rpmalloc.checkout",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CLEANUP]/rpmalloc-linux-amd64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.remove sources linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copytree",
+      "[START_DIR]/rpmalloc",
+      "[CLEANUP]/rpmalloc-linux-amd64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.copy sources linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "rpmalloc.build rpmalloc-linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CLEANUP]/rpmalloc-linux-amd64/configure.py",
+      "-c",
+      "release",
+      "-a",
+      "x86-64",
+      "--lto"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-amd64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-amd64.configure",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/ninja",
+      "lib/linux/release/x86-64/librpmallocwrap.a"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-amd64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-amd64.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CLEANUP]/rpmalloc-linux-arm64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.remove sources linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copytree",
+      "[START_DIR]/rpmalloc",
+      "[CLEANUP]/rpmalloc-linux-arm64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.copy sources linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "rpmalloc.build rpmalloc-linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CLEANUP]/rpmalloc-linux-arm64/configure.py",
+      "-c",
+      "release",
+      "-a",
+      "arm64",
+      "--lto"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-arm64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-arm64.configure",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/ninja",
+      "lib/linux/release/arm64/librpmallocwrap.a"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-arm64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-arm64.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "debug"
   },
   {
@@ -170,7 +377,8 @@
       "-u",
       "[START_DIR]/gn/build/gen.py",
       "--use-lto",
-      "--use-icf"
+      "--use-icf",
+      "--link-lib=[CLEANUP]/rpmalloc-linux-amd64/lib/linux/release/x86-64/librpmallocwrap.a"
     ],
     "cwd": "[START_DIR]/gn",
     "env": {
@@ -289,7 +497,8 @@
       "-u",
       "[START_DIR]/gn/build/gen.py",
       "--use-lto",
-      "--use-icf"
+      "--use-icf",
+      "--link-lib=[CLEANUP]/rpmalloc-linux-arm64/lib/linux/release/arm64/librpmallocwrap.a"
     ],
     "cwd": "[START_DIR]/gn",
     "env": {
diff --git a/infra/recipes/gn.expected/cipd_register.json b/infra/recipes/gn.expected/cipd_register.json
index 2e09f95..94900d0 100644
--- a/infra/recipes/gn.expected/cipd_register.json
+++ b/infra/recipes/gn.expected/cipd_register.json
@@ -96,6 +96,213 @@
   },
   {
     "cmd": [],
+    "name": "rpmalloc"
+  },
+  {
+    "cmd": [
+      "git",
+      "init",
+      "[START_DIR]/rpmalloc"
+    ],
+    "name": "rpmalloc.init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "git",
+      "fetch",
+      "--tags",
+      "https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
+      "9c030f7a5efed87e3d036440e753c31342f9f909"
+    ],
+    "cwd": "[START_DIR]/rpmalloc",
+    "infra_step": true,
+    "name": "rpmalloc.fetch",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "git",
+      "checkout",
+      "FETCH_HEAD"
+    ],
+    "cwd": "[START_DIR]/rpmalloc",
+    "infra_step": true,
+    "name": "rpmalloc.checkout",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CLEANUP]/rpmalloc-linux-amd64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.remove sources linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copytree",
+      "[START_DIR]/rpmalloc",
+      "[CLEANUP]/rpmalloc-linux-amd64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.copy sources linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "rpmalloc.build rpmalloc-linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CLEANUP]/rpmalloc-linux-amd64/configure.py",
+      "-c",
+      "release",
+      "-a",
+      "x86-64",
+      "--lto"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-amd64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-amd64.configure",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/ninja",
+      "lib/linux/release/x86-64/librpmallocwrap.a"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-amd64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-amd64.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CLEANUP]/rpmalloc-linux-arm64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.remove sources linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copytree",
+      "[START_DIR]/rpmalloc",
+      "[CLEANUP]/rpmalloc-linux-arm64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.copy sources linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "rpmalloc.build rpmalloc-linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CLEANUP]/rpmalloc-linux-arm64/configure.py",
+      "-c",
+      "release",
+      "-a",
+      "arm64",
+      "--lto"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-arm64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-arm64.configure",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/ninja",
+      "lib/linux/release/arm64/librpmallocwrap.a"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-arm64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-arm64.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "debug"
   },
   {
@@ -170,7 +377,8 @@
       "-u",
       "[START_DIR]/gn/build/gen.py",
       "--use-lto",
-      "--use-icf"
+      "--use-icf",
+      "--link-lib=[CLEANUP]/rpmalloc-linux-amd64/lib/linux/release/x86-64/librpmallocwrap.a"
     ],
     "cwd": "[START_DIR]/gn",
     "env": {
@@ -303,7 +511,8 @@
       "-u",
       "[START_DIR]/gn/build/gen.py",
       "--use-lto",
-      "--use-icf"
+      "--use-icf",
+      "--link-lib=[CLEANUP]/rpmalloc-linux-arm64/lib/linux/release/arm64/librpmallocwrap.a"
     ],
     "cwd": "[START_DIR]/gn",
     "env": {
diff --git a/infra/recipes/gn.expected/cq_linux.json b/infra/recipes/gn.expected/cq_linux.json
index 75b64a4..82ae5dd 100644
--- a/infra/recipes/gn.expected/cq_linux.json
+++ b/infra/recipes/gn.expected/cq_linux.json
@@ -74,12 +74,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
+      "cherry-pick",
       "FETCH_HEAD"
     ],
     "cwd": "[START_DIR]/gn",
     "infra_step": true,
-    "name": "git.checkout 123456/7",
+    "name": "git.cherry-pick 123456/7",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -123,6 +123,213 @@
   },
   {
     "cmd": [],
+    "name": "rpmalloc"
+  },
+  {
+    "cmd": [
+      "git",
+      "init",
+      "[START_DIR]/rpmalloc"
+    ],
+    "name": "rpmalloc.init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "git",
+      "fetch",
+      "--tags",
+      "https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
+      "9c030f7a5efed87e3d036440e753c31342f9f909"
+    ],
+    "cwd": "[START_DIR]/rpmalloc",
+    "infra_step": true,
+    "name": "rpmalloc.fetch",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "git",
+      "checkout",
+      "FETCH_HEAD"
+    ],
+    "cwd": "[START_DIR]/rpmalloc",
+    "infra_step": true,
+    "name": "rpmalloc.checkout",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CLEANUP]/rpmalloc-linux-amd64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.remove sources linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copytree",
+      "[START_DIR]/rpmalloc",
+      "[CLEANUP]/rpmalloc-linux-amd64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.copy sources linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "rpmalloc.build rpmalloc-linux-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CLEANUP]/rpmalloc-linux-amd64/configure.py",
+      "-c",
+      "release",
+      "-a",
+      "x86-64",
+      "--lto"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-amd64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-amd64.configure",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/ninja",
+      "lib/linux/release/x86-64/librpmallocwrap.a"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-amd64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=x86_64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-amd64.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "rmtree",
+      "[CLEANUP]/rpmalloc-linux-arm64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.remove sources linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+      "--json-output",
+      "/path/to/tmp/json",
+      "copytree",
+      "[START_DIR]/rpmalloc",
+      "[CLEANUP]/rpmalloc-linux-arm64"
+    ],
+    "infra_step": true,
+    "name": "rpmalloc.copy sources linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "rpmalloc.build rpmalloc-linux-arm64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "python",
+      "-u",
+      "[CLEANUP]/rpmalloc-linux-arm64/configure.py",
+      "-c",
+      "release",
+      "-a",
+      "arm64",
+      "--lto"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-arm64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-arm64.configure",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [
+      "[START_DIR]/cipd/ninja",
+      "lib/linux/release/arm64/librpmallocwrap.a"
+    ],
+    "cwd": "[CLEANUP]/rpmalloc-linux-arm64",
+    "env": {
+      "AR": "[START_DIR]/cipd/bin/llvm-ar",
+      "CC": "[START_DIR]/cipd/bin/clang",
+      "CFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot",
+      "CXX": "[START_DIR]/cipd/bin/clang++",
+      "LDFLAGS": "--target=aarch64-linux-gnu --sysroot=[START_DIR]/cipd/sysroot -static-libstdc++"
+    },
+    "name": "rpmalloc.build rpmalloc-linux-arm64.ninja",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@2@@@"
+    ]
+  },
+  {
+    "cmd": [],
     "name": "debug"
   },
   {
@@ -197,7 +404,8 @@
       "-u",
       "[START_DIR]/gn/build/gen.py",
       "--use-lto",
-      "--use-icf"
+      "--use-icf",
+      "--link-lib=[CLEANUP]/rpmalloc-linux-amd64/lib/linux/release/x86-64/librpmallocwrap.a"
     ],
     "cwd": "[START_DIR]/gn",
     "env": {
@@ -253,7 +461,8 @@
       "-u",
       "[START_DIR]/gn/build/gen.py",
       "--use-lto",
-      "--use-icf"
+      "--use-icf",
+      "--link-lib=[CLEANUP]/rpmalloc-linux-arm64/lib/linux/release/arm64/librpmallocwrap.a"
     ],
     "cwd": "[START_DIR]/gn",
     "env": {
diff --git a/infra/recipes/gn.expected/cq_mac.json b/infra/recipes/gn.expected/cq_mac.json
index 0244003..76ceca4 100644
--- a/infra/recipes/gn.expected/cq_mac.json
+++ b/infra/recipes/gn.expected/cq_mac.json
@@ -74,12 +74,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
+      "cherry-pick",
       "FETCH_HEAD"
     ],
     "cwd": "[START_DIR]/gn",
     "infra_step": true,
-    "name": "git.checkout 123456/7",
+    "name": "git.cherry-pick 123456/7",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -171,26 +171,26 @@
     "name": "debug"
   },
   {
-    "cmd": [],
-    "name": "debug.mac-amd64",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
     "cmd": [
       "xcrun",
       "--show-sdk-path"
     ],
-    "name": "debug.mac-amd64.xcrun",
+    "name": "debug.xcrun",
     "stdout": "/path/to/tmp/",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[sdk-path]@/some/xcode/path@@@",
       "@@@STEP_LOG_END@raw_io.output[sdk-path]@@@"
     ]
   },
   {
+    "cmd": [],
+    "name": "debug.mac-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [
       "python",
       "-u",
@@ -243,26 +243,26 @@
     "name": "release"
   },
   {
-    "cmd": [],
-    "name": "release.mac-amd64",
-    "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@"
-    ]
-  },
-  {
     "cmd": [
       "xcrun",
       "--show-sdk-path"
     ],
-    "name": "release.mac-amd64.xcrun",
+    "name": "release.xcrun",
     "stdout": "/path/to/tmp/",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@2@@@",
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[sdk-path]@/some/xcode/path@@@",
       "@@@STEP_LOG_END@raw_io.output[sdk-path]@@@"
     ]
   },
   {
+    "cmd": [],
+    "name": "release.mac-amd64",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
+  },
+  {
     "cmd": [
       "python",
       "-u",
diff --git a/infra/recipes/gn.expected/cq_win.json b/infra/recipes/gn.expected/cq_win.json
index 164b245..8e352de 100644
--- a/infra/recipes/gn.expected/cq_win.json
+++ b/infra/recipes/gn.expected/cq_win.json
@@ -74,12 +74,12 @@
   {
     "cmd": [
       "git",
-      "checkout",
+      "cherry-pick",
       "FETCH_HEAD"
     ],
     "cwd": "[START_DIR]\\gn",
     "infra_step": true,
-    "name": "git.checkout 123456/7",
+    "name": "git.cherry-pick 123456/7",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
diff --git a/infra/recipes/gn.py b/infra/recipes/gn.py
index 68e721c..298e870 100644
--- a/infra/recipes/gn.py
+++ b/infra/recipes/gn.py
@@ -26,10 +26,55 @@
     'repository': Property(kind=str, default='https://gn.googlesource.com/gn'),
 }
 
+# On select platforms, link the GN executable against rpmalloc for a small 10% speed boost.
+_RPMALLOC_GIT_URL = 'https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc'
+_RPMALLOC_REVISION = '9c030f7a5efed87e3d036440e753c31342f9f909'
+
+# Used to convert os and arch strings to rpmalloc format
+_RPMALLOC_MAP = {
+    'amd64': 'x86-64',
+    'mac': 'macos',
+}
+
+
+def _get_compilation_environment(api, target, cipd_dir):
+  if target.is_linux:
+    triple = '--target=%s' % target.triple
+    sysroot = '--sysroot=%s' % cipd_dir.join('sysroot')
+    env = {
+        'CC': cipd_dir.join('bin', 'clang'),
+        'CXX': cipd_dir.join('bin', 'clang++'),
+        'AR': cipd_dir.join('bin', 'llvm-ar'),
+        'CFLAGS': '%s %s' % (triple, sysroot),
+        'LDFLAGS': '%s %s -static-libstdc++' % (triple, sysroot),
+    }
+  elif target.is_mac:
+    triple = '--target=%s' % target.triple
+    sysroot = '--sysroot=%s' % api.step(
+        'xcrun', ['xcrun', '--show-sdk-path'],
+        stdout=api.raw_io.output(name='sdk-path', add_output_log=True),
+        step_test_data=lambda: api.raw_io.test_api.stream_output(
+            '/some/xcode/path')).stdout.strip()
+    stdlib = cipd_dir.join('lib', 'libc++.a')
+    env = {
+        'CC': cipd_dir.join('bin', 'clang'),
+        'CXX': cipd_dir.join('bin', 'clang++'),
+        'AR': cipd_dir.join('bin', 'llvm-ar'),
+        'CFLAGS': '%s %s' % (triple, sysroot),
+        'LDFLAGS': '%s %s -nostdlib++ %s' % (triple, sysroot, stdlib),
+    }
+  else:
+    env = {}
+
+  return env
+
 
 def RunSteps(api, repository):
   src_dir = api.path['start_dir'].join('gn')
 
+  # TODO: Verify that building and linking rpmalloc works on OS X and Windows as
+  # well.
+  use_rpmalloc = api.platform.is_linux
   with api.step.nest('git'), api.context(infra_steps=True):
     api.step('init', ['git', 'init', src_dir])
 
@@ -50,8 +95,8 @@
             'refs/changes/%s/%s/%s' %
             (str(change.change)[-2:], change.change, change.patchset)
         ])
-        api.step('checkout %s/%s' % (change.change, change.patchset),
-                 ['git', 'checkout', 'FETCH_HEAD'])
+        api.step('cherry-pick %s/%s' % (change.change, change.patchset),
+                 ['git', 'cherry-pick', 'FETCH_HEAD'])
 
   with api.context(infra_steps=True):
     cipd_dir = api.path['start_dir'].join('cipd')
@@ -73,7 +118,8 @@
           'targets': [api.target.host],
       },
       {
-          'name': 'release',
+          'name':
+              'release',
           'args': ['--use-lto', '--use-icf'],
           'targets': [api.target('linux-amd64'),
                       api.target('linux-arm64')]
@@ -82,44 +128,83 @@
   ]
 
   with api.macos_sdk(), api.windows_sdk():
+    # Build the rpmalloc stastic libraries if needed.
+    if use_rpmalloc:
+      # Maps a target.platform string to the location of the corresponding
+      # rpmalloc static library.
+      rpmalloc_static_libs = {}
+
+      # Get the list of all target platforms that are listed in `configs`
+      # above. Note that this is a list of Target instances, some of them
+      # may refer to the same platform string (e.g. linux-amd64).
+      #
+      # For each platform, a version of rpmalloc will be built if necessary,
+      # but doing this properly requires having a valid target instance to
+      # call _get_compilation_environment. So create a { platform -> Target }
+      # map to do that later.
+      all_config_platforms = {}
+      for c in configs:
+        for t in c['targets']:
+          if t.platform not in all_config_platforms:
+            all_config_platforms[t.platform] = t
+
+      rpmalloc_src_dir = api.path['start_dir'].join('rpmalloc')
+      with api.step.nest('rpmalloc'):
+        api.step('init', ['git', 'init', rpmalloc_src_dir])
+        with api.context(cwd=rpmalloc_src_dir, infra_steps=True):
+          api.step(
+              'fetch',
+              ['git', 'fetch', '--tags', _RPMALLOC_GIT_URL, _RPMALLOC_REVISION])
+          api.step('checkout', ['git', 'checkout', 'FETCH_HEAD'])
+
+        for platform in all_config_platforms:
+          # Convert target architecture and os to rpmalloc format.
+          rpmalloc_os, rpmalloc_arch = platform.split('-')
+          rpmalloc_os = _RPMALLOC_MAP.get(rpmalloc_os, rpmalloc_os)
+          rpmalloc_arch = _RPMALLOC_MAP.get(rpmalloc_arch, rpmalloc_arch)
+
+          # The rpmalloc build system doesn't support out-of-tree builds.
+          # So copy the source tree into a new clean directory.
+          rpmalloc_build_dir = api.path['cleanup'].join('rpmalloc-' + platform)
+          api.file.rmtree('remove sources ' + platform, rpmalloc_build_dir)
+          api.file.copytree('copy sources ' + platform, rpmalloc_src_dir,
+                            rpmalloc_build_dir)
+
+          env = _get_compilation_environment(api,
+                                             all_config_platforms[platform],
+                                             cipd_dir)
+          with api.step.nest('build rpmalloc-' + platform), api.context(
+              env=env, cwd=rpmalloc_build_dir):
+            api.python(
+                'configure',
+                rpmalloc_build_dir.join('configure.py'),
+                args=['-c', 'release', '-a', rpmalloc_arch, '--lto'])
+
+            # NOTE: Only build the static library.
+            rpmalloc_static_lib = api.path.join('lib', rpmalloc_os, 'release',
+                                                rpmalloc_arch,
+                                                'librpmallocwrap.a')
+            api.step('ninja', [cipd_dir.join('ninja'), rpmalloc_static_lib])
+
+          rpmalloc_static_libs[platform] = rpmalloc_build_dir.join(
+              rpmalloc_static_lib)
+
     for config in configs:
       with api.step.nest(config['name']):
         for target in config['targets']:
+          env = _get_compilation_environment(api, target, cipd_dir)
           with api.step.nest(target.platform):
-            if target.is_linux:
-              triple = '--target=%s' % target.triple
-              sysroot = '--sysroot=%s' % cipd_dir.join('sysroot')
-              env = {
-                  'CC': cipd_dir.join('bin', 'clang'),
-                  'CXX': cipd_dir.join('bin', 'clang++'),
-                  'AR': cipd_dir.join('bin', 'llvm-ar'),
-                  'CFLAGS': '%s %s' % (triple, sysroot),
-                  'LDFLAGS': '%s %s -static-libstdc++' % (triple, sysroot),
-              }
-            elif target.is_mac:
-              triple = '--target=%s' % target.triple
-              sysroot = '--sysroot=%s' % api.step(
-                  'xcrun', ['xcrun', '--show-sdk-path'],
-                  stdout=api.raw_io.output(
-                      name='sdk-path', add_output_log=True),
-                  step_test_data=lambda: api.raw_io.test_api.stream_output(
-                      '/some/xcode/path')).stdout.strip()
-              stdlib = cipd_dir.join('lib', 'libc++.a')
-              env = {
-                  'CC': cipd_dir.join('bin', 'clang'),
-                  'CXX': cipd_dir.join('bin', 'clang++'),
-                  'AR': cipd_dir.join('bin', 'llvm-ar'),
-                  'CFLAGS': '%s %s' % (triple, sysroot),
-                  'LDFLAGS': '%s %s -nostdlib++ %s' % (triple, sysroot, stdlib),
-              }
-            else:
-              env = {}
-
             with api.context(env=env, cwd=src_dir):
-              api.python(
-                  'generate',
-                  src_dir.join('build', 'gen.py'),
-                  args=config['args'])
+              args = config['args']
+
+              # Ensure that the release `gn` binary will be linked to the rpmalloc static
+              # library when needed.
+              if use_rpmalloc and config['name'] == 'release':
+                args = args[:] + [
+                    '--link-lib=%s' % rpmalloc_static_libs[target.platform]
+                ]
+
+              api.python('generate', src_dir.join('build', 'gen.py'), args=args)
 
               # Windows requires the environment modifications when building too.
               api.step('build',
