Merge changes I12916061,I410f0532,I90b6f7f1

* changes:
  gn2bp: Add `-Wno-null-pointer-subtraction` to the default flags
  gn2bp: Add genrules to their respective architecture sink
  gn2bp: Generate per-architecture genrule for `action_foreach`
diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index a212a14..24e09cc 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -369,40 +369,6 @@
         "base/allocator/partition_allocator/thread_cache.cc",
     ],
     host_supported: true,
-    generated_headers: [
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
-    ],
-    export_generated_headers: [
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
-    ],
     defaults: [
         "cronet_aml_defaults",
         "cronet_aml_third_party_android_ndk_cpu_features",
@@ -447,6 +413,20 @@
             local_include_dirs: [
                 "third_party/android_ndk/sources/android/cpufeatures/",
             ],
+            generated_headers: [
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
+            ],
         },
         android_x86_64: {
             srcs: [
@@ -464,6 +444,20 @@
             local_include_dirs: [
                 "third_party/android_ndk/sources/android/cpufeatures/",
             ],
+            generated_headers: [
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
+            ],
         },
         host: {
             srcs: [
@@ -478,6 +472,20 @@
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
             ],
+            generated_headers: [
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
+            ],
         },
     },
 }
@@ -1056,174 +1064,6 @@
         "cronet_aml_third_party_modp_b64_modp_b64",
     ],
     host_supported: true,
-    generated_headers: [
-        "cronet_aml_base_allocator_buildflags__android_x86",
-        "cronet_aml_base_allocator_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
-        "cronet_aml_base_anchor_functions_buildflags__android_x86",
-        "cronet_aml_base_anchor_functions_buildflags__android_x86_64",
-        "cronet_aml_base_anchor_functions_buildflags__host",
-        "cronet_aml_base_android_runtime_jni_headers__android_x86",
-        "cronet_aml_base_android_runtime_jni_headers__android_x86_64",
-        "cronet_aml_base_base_jni_headers__android_x86",
-        "cronet_aml_base_base_jni_headers__android_x86_64",
-        "cronet_aml_base_build_date__android_x86",
-        "cronet_aml_base_build_date__android_x86_64",
-        "cronet_aml_base_build_date__host",
-        "cronet_aml_base_cfi_buildflags__android_x86",
-        "cronet_aml_base_cfi_buildflags__android_x86_64",
-        "cronet_aml_base_cfi_buildflags__host",
-        "cronet_aml_base_clang_profiling_buildflags__android_x86",
-        "cronet_aml_base_clang_profiling_buildflags__android_x86_64",
-        "cronet_aml_base_clang_profiling_buildflags__host",
-        "cronet_aml_base_debugging_buildflags__android_x86",
-        "cronet_aml_base_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_debugging_buildflags__host",
-        "cronet_aml_base_feature_list_buildflags__android_x86",
-        "cronet_aml_base_feature_list_buildflags__android_x86_64",
-        "cronet_aml_base_feature_list_buildflags__host",
-        "cronet_aml_base_ios_cronet_buildflags__android_x86",
-        "cronet_aml_base_ios_cronet_buildflags__android_x86_64",
-        "cronet_aml_base_ios_cronet_buildflags__host",
-        "cronet_aml_base_logging_buildflags__android_x86",
-        "cronet_aml_base_logging_buildflags__android_x86_64",
-        "cronet_aml_base_logging_buildflags__host",
-        "cronet_aml_base_message_pump_buildflags__android_x86",
-        "cronet_aml_base_message_pump_buildflags__android_x86_64",
-        "cronet_aml_base_message_pump_buildflags__host",
-        "cronet_aml_base_orderfile_buildflags__android_x86",
-        "cronet_aml_base_orderfile_buildflags__android_x86_64",
-        "cronet_aml_base_orderfile_buildflags__host",
-        "cronet_aml_base_parsing_buildflags__android_x86",
-        "cronet_aml_base_parsing_buildflags__android_x86_64",
-        "cronet_aml_base_parsing_buildflags__host",
-        "cronet_aml_base_power_monitor_buildflags__android_x86",
-        "cronet_aml_base_power_monitor_buildflags__android_x86_64",
-        "cronet_aml_base_power_monitor_buildflags__host",
-        "cronet_aml_base_profiler_buildflags__android_x86",
-        "cronet_aml_base_profiler_buildflags__android_x86_64",
-        "cronet_aml_base_profiler_buildflags__host",
-        "cronet_aml_base_sanitizer_buildflags__android_x86",
-        "cronet_aml_base_sanitizer_buildflags__android_x86_64",
-        "cronet_aml_base_sanitizer_buildflags__host",
-        "cronet_aml_base_synchronization_buildflags__android_x86",
-        "cronet_aml_base_synchronization_buildflags__android_x86_64",
-        "cronet_aml_base_synchronization_buildflags__host",
-        "cronet_aml_base_tracing_buildflags__android_x86",
-        "cronet_aml_base_tracing_buildflags__android_x86_64",
-        "cronet_aml_base_tracing_buildflags__host",
-        "cronet_aml_build_branding_buildflags__android_x86",
-        "cronet_aml_build_branding_buildflags__android_x86_64",
-        "cronet_aml_build_branding_buildflags__host",
-        "cronet_aml_build_chromecast_buildflags__android_x86",
-        "cronet_aml_build_chromecast_buildflags__android_x86_64",
-        "cronet_aml_build_chromecast_buildflags__host",
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__host",
-        "cronet_aml_build_config_compiler_compiler_buildflags__android_x86",
-        "cronet_aml_build_config_compiler_compiler_buildflags__android_x86_64",
-        "cronet_aml_build_config_compiler_compiler_buildflags__host",
-    ],
-    export_generated_headers: [
-        "cronet_aml_base_allocator_buildflags__android_x86",
-        "cronet_aml_base_allocator_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
-        "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
-        "cronet_aml_base_anchor_functions_buildflags__android_x86",
-        "cronet_aml_base_anchor_functions_buildflags__android_x86_64",
-        "cronet_aml_base_anchor_functions_buildflags__host",
-        "cronet_aml_base_android_runtime_jni_headers__android_x86",
-        "cronet_aml_base_android_runtime_jni_headers__android_x86_64",
-        "cronet_aml_base_base_jni_headers__android_x86",
-        "cronet_aml_base_base_jni_headers__android_x86_64",
-        "cronet_aml_base_build_date__android_x86",
-        "cronet_aml_base_build_date__android_x86_64",
-        "cronet_aml_base_build_date__host",
-        "cronet_aml_base_cfi_buildflags__android_x86",
-        "cronet_aml_base_cfi_buildflags__android_x86_64",
-        "cronet_aml_base_cfi_buildflags__host",
-        "cronet_aml_base_clang_profiling_buildflags__android_x86",
-        "cronet_aml_base_clang_profiling_buildflags__android_x86_64",
-        "cronet_aml_base_clang_profiling_buildflags__host",
-        "cronet_aml_base_debugging_buildflags__android_x86",
-        "cronet_aml_base_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_debugging_buildflags__host",
-        "cronet_aml_base_feature_list_buildflags__android_x86",
-        "cronet_aml_base_feature_list_buildflags__android_x86_64",
-        "cronet_aml_base_feature_list_buildflags__host",
-        "cronet_aml_base_ios_cronet_buildflags__android_x86",
-        "cronet_aml_base_ios_cronet_buildflags__android_x86_64",
-        "cronet_aml_base_ios_cronet_buildflags__host",
-        "cronet_aml_base_logging_buildflags__android_x86",
-        "cronet_aml_base_logging_buildflags__android_x86_64",
-        "cronet_aml_base_logging_buildflags__host",
-        "cronet_aml_base_message_pump_buildflags__android_x86",
-        "cronet_aml_base_message_pump_buildflags__android_x86_64",
-        "cronet_aml_base_message_pump_buildflags__host",
-        "cronet_aml_base_orderfile_buildflags__android_x86",
-        "cronet_aml_base_orderfile_buildflags__android_x86_64",
-        "cronet_aml_base_orderfile_buildflags__host",
-        "cronet_aml_base_parsing_buildflags__android_x86",
-        "cronet_aml_base_parsing_buildflags__android_x86_64",
-        "cronet_aml_base_parsing_buildflags__host",
-        "cronet_aml_base_power_monitor_buildflags__android_x86",
-        "cronet_aml_base_power_monitor_buildflags__android_x86_64",
-        "cronet_aml_base_power_monitor_buildflags__host",
-        "cronet_aml_base_profiler_buildflags__android_x86",
-        "cronet_aml_base_profiler_buildflags__android_x86_64",
-        "cronet_aml_base_profiler_buildflags__host",
-        "cronet_aml_base_sanitizer_buildflags__android_x86",
-        "cronet_aml_base_sanitizer_buildflags__android_x86_64",
-        "cronet_aml_base_sanitizer_buildflags__host",
-        "cronet_aml_base_synchronization_buildflags__android_x86",
-        "cronet_aml_base_synchronization_buildflags__android_x86_64",
-        "cronet_aml_base_synchronization_buildflags__host",
-        "cronet_aml_base_tracing_buildflags__android_x86",
-        "cronet_aml_base_tracing_buildflags__android_x86_64",
-        "cronet_aml_base_tracing_buildflags__host",
-        "cronet_aml_build_branding_buildflags__android_x86",
-        "cronet_aml_build_branding_buildflags__android_x86_64",
-        "cronet_aml_build_branding_buildflags__host",
-        "cronet_aml_build_chromecast_buildflags__android_x86",
-        "cronet_aml_build_chromecast_buildflags__android_x86_64",
-        "cronet_aml_build_chromecast_buildflags__host",
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__host",
-        "cronet_aml_build_config_compiler_compiler_buildflags__android_x86",
-        "cronet_aml_build_config_compiler_compiler_buildflags__android_x86_64",
-        "cronet_aml_build_config_compiler_compiler_buildflags__host",
-    ],
     defaults: [
         "cronet_aml_base_numerics_base_numerics",
         "cronet_aml_defaults",
@@ -1464,6 +1304,66 @@
             local_include_dirs: [
                 "third_party/android_ndk/sources/android/cpufeatures/",
             ],
+            generated_headers: [
+                "cronet_aml_base_allocator_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
+                "cronet_aml_base_anchor_functions_buildflags__android_x86",
+                "cronet_aml_base_android_runtime_jni_headers__android_x86",
+                "cronet_aml_base_base_jni_headers__android_x86",
+                "cronet_aml_base_build_date__android_x86",
+                "cronet_aml_base_cfi_buildflags__android_x86",
+                "cronet_aml_base_clang_profiling_buildflags__android_x86",
+                "cronet_aml_base_debugging_buildflags__android_x86",
+                "cronet_aml_base_feature_list_buildflags__android_x86",
+                "cronet_aml_base_ios_cronet_buildflags__android_x86",
+                "cronet_aml_base_logging_buildflags__android_x86",
+                "cronet_aml_base_message_pump_buildflags__android_x86",
+                "cronet_aml_base_orderfile_buildflags__android_x86",
+                "cronet_aml_base_parsing_buildflags__android_x86",
+                "cronet_aml_base_power_monitor_buildflags__android_x86",
+                "cronet_aml_base_profiler_buildflags__android_x86",
+                "cronet_aml_base_sanitizer_buildflags__android_x86",
+                "cronet_aml_base_synchronization_buildflags__android_x86",
+                "cronet_aml_base_tracing_buildflags__android_x86",
+                "cronet_aml_build_branding_buildflags__android_x86",
+                "cronet_aml_build_chromecast_buildflags__android_x86",
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+                "cronet_aml_build_config_compiler_compiler_buildflags__android_x86",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_allocator_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86",
+                "cronet_aml_base_anchor_functions_buildflags__android_x86",
+                "cronet_aml_base_android_runtime_jni_headers__android_x86",
+                "cronet_aml_base_base_jni_headers__android_x86",
+                "cronet_aml_base_build_date__android_x86",
+                "cronet_aml_base_cfi_buildflags__android_x86",
+                "cronet_aml_base_clang_profiling_buildflags__android_x86",
+                "cronet_aml_base_debugging_buildflags__android_x86",
+                "cronet_aml_base_feature_list_buildflags__android_x86",
+                "cronet_aml_base_ios_cronet_buildflags__android_x86",
+                "cronet_aml_base_logging_buildflags__android_x86",
+                "cronet_aml_base_message_pump_buildflags__android_x86",
+                "cronet_aml_base_orderfile_buildflags__android_x86",
+                "cronet_aml_base_parsing_buildflags__android_x86",
+                "cronet_aml_base_power_monitor_buildflags__android_x86",
+                "cronet_aml_base_profiler_buildflags__android_x86",
+                "cronet_aml_base_sanitizer_buildflags__android_x86",
+                "cronet_aml_base_synchronization_buildflags__android_x86",
+                "cronet_aml_base_tracing_buildflags__android_x86",
+                "cronet_aml_build_branding_buildflags__android_x86",
+                "cronet_aml_build_chromecast_buildflags__android_x86",
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+                "cronet_aml_build_config_compiler_compiler_buildflags__android_x86",
+            ],
         },
         android_x86_64: {
             srcs: [
@@ -1547,6 +1447,66 @@
             local_include_dirs: [
                 "third_party/android_ndk/sources/android/cpufeatures/",
             ],
+            generated_headers: [
+                "cronet_aml_base_allocator_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
+                "cronet_aml_base_anchor_functions_buildflags__android_x86_64",
+                "cronet_aml_base_android_runtime_jni_headers__android_x86_64",
+                "cronet_aml_base_base_jni_headers__android_x86_64",
+                "cronet_aml_base_build_date__android_x86_64",
+                "cronet_aml_base_cfi_buildflags__android_x86_64",
+                "cronet_aml_base_clang_profiling_buildflags__android_x86_64",
+                "cronet_aml_base_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_feature_list_buildflags__android_x86_64",
+                "cronet_aml_base_ios_cronet_buildflags__android_x86_64",
+                "cronet_aml_base_logging_buildflags__android_x86_64",
+                "cronet_aml_base_message_pump_buildflags__android_x86_64",
+                "cronet_aml_base_orderfile_buildflags__android_x86_64",
+                "cronet_aml_base_parsing_buildflags__android_x86_64",
+                "cronet_aml_base_power_monitor_buildflags__android_x86_64",
+                "cronet_aml_base_profiler_buildflags__android_x86_64",
+                "cronet_aml_base_sanitizer_buildflags__android_x86_64",
+                "cronet_aml_base_synchronization_buildflags__android_x86_64",
+                "cronet_aml_base_tracing_buildflags__android_x86_64",
+                "cronet_aml_build_branding_buildflags__android_x86_64",
+                "cronet_aml_build_chromecast_buildflags__android_x86_64",
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+                "cronet_aml_build_config_compiler_compiler_buildflags__android_x86_64",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_allocator_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__android_x86_64",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__android_x86_64",
+                "cronet_aml_base_anchor_functions_buildflags__android_x86_64",
+                "cronet_aml_base_android_runtime_jni_headers__android_x86_64",
+                "cronet_aml_base_base_jni_headers__android_x86_64",
+                "cronet_aml_base_build_date__android_x86_64",
+                "cronet_aml_base_cfi_buildflags__android_x86_64",
+                "cronet_aml_base_clang_profiling_buildflags__android_x86_64",
+                "cronet_aml_base_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_feature_list_buildflags__android_x86_64",
+                "cronet_aml_base_ios_cronet_buildflags__android_x86_64",
+                "cronet_aml_base_logging_buildflags__android_x86_64",
+                "cronet_aml_base_message_pump_buildflags__android_x86_64",
+                "cronet_aml_base_orderfile_buildflags__android_x86_64",
+                "cronet_aml_base_parsing_buildflags__android_x86_64",
+                "cronet_aml_base_power_monitor_buildflags__android_x86_64",
+                "cronet_aml_base_profiler_buildflags__android_x86_64",
+                "cronet_aml_base_sanitizer_buildflags__android_x86_64",
+                "cronet_aml_base_synchronization_buildflags__android_x86_64",
+                "cronet_aml_base_tracing_buildflags__android_x86_64",
+                "cronet_aml_build_branding_buildflags__android_x86_64",
+                "cronet_aml_build_chromecast_buildflags__android_x86_64",
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+                "cronet_aml_build_config_compiler_compiler_buildflags__android_x86_64",
+            ],
         },
         host: {
             srcs: [
@@ -1581,6 +1541,62 @@
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
             ],
+            generated_headers: [
+                "cronet_aml_base_allocator_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
+                "cronet_aml_base_anchor_functions_buildflags__host",
+                "cronet_aml_base_build_date__host",
+                "cronet_aml_base_cfi_buildflags__host",
+                "cronet_aml_base_clang_profiling_buildflags__host",
+                "cronet_aml_base_debugging_buildflags__host",
+                "cronet_aml_base_feature_list_buildflags__host",
+                "cronet_aml_base_ios_cronet_buildflags__host",
+                "cronet_aml_base_logging_buildflags__host",
+                "cronet_aml_base_message_pump_buildflags__host",
+                "cronet_aml_base_orderfile_buildflags__host",
+                "cronet_aml_base_parsing_buildflags__host",
+                "cronet_aml_base_power_monitor_buildflags__host",
+                "cronet_aml_base_profiler_buildflags__host",
+                "cronet_aml_base_sanitizer_buildflags__host",
+                "cronet_aml_base_synchronization_buildflags__host",
+                "cronet_aml_base_tracing_buildflags__host",
+                "cronet_aml_build_branding_buildflags__host",
+                "cronet_aml_build_chromecast_buildflags__host",
+                "cronet_aml_build_chromeos_buildflags__host",
+                "cronet_aml_build_config_compiler_compiler_buildflags__host",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_allocator_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_chromecast_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_chromeos_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_debugging_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_logging_buildflags__host",
+                "cronet_aml_base_allocator_partition_allocator_partition_alloc_buildflags__host",
+                "cronet_aml_base_anchor_functions_buildflags__host",
+                "cronet_aml_base_build_date__host",
+                "cronet_aml_base_cfi_buildflags__host",
+                "cronet_aml_base_clang_profiling_buildflags__host",
+                "cronet_aml_base_debugging_buildflags__host",
+                "cronet_aml_base_feature_list_buildflags__host",
+                "cronet_aml_base_ios_cronet_buildflags__host",
+                "cronet_aml_base_logging_buildflags__host",
+                "cronet_aml_base_message_pump_buildflags__host",
+                "cronet_aml_base_orderfile_buildflags__host",
+                "cronet_aml_base_parsing_buildflags__host",
+                "cronet_aml_base_power_monitor_buildflags__host",
+                "cronet_aml_base_profiler_buildflags__host",
+                "cronet_aml_base_sanitizer_buildflags__host",
+                "cronet_aml_base_synchronization_buildflags__host",
+                "cronet_aml_base_tracing_buildflags__host",
+                "cronet_aml_build_branding_buildflags__host",
+                "cronet_aml_build_chromecast_buildflags__host",
+                "cronet_aml_build_chromeos_buildflags__host",
+                "cronet_aml_build_config_compiler_compiler_buildflags__host",
+            ],
         },
     },
 }
@@ -2122,16 +2138,6 @@
         "base/base_switches.cc",
     ],
     host_supported: true,
-    generated_headers: [
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__host",
-    ],
-    export_generated_headers: [
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__host",
-    ],
     defaults: [
         "cronet_aml_defaults",
     ],
@@ -2163,6 +2169,12 @@
                 "-DANDROID_NDK_VERSION_ROLL=r23_1",
                 "-DHAVE_SYS_UIO_H",
             ],
+            generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+            ],
+            export_generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+            ],
         },
         android_x86_64: {
             cflags: [
@@ -2170,6 +2182,12 @@
                 "-DANDROID_NDK_VERSION_ROLL=r23_1",
                 "-DHAVE_SYS_UIO_H",
             ],
+            generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+            ],
+            export_generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+            ],
         },
         host: {
             cflags: [
@@ -2181,6 +2199,12 @@
                 "-D_LARGEFILE64_SOURCE",
                 "-D_LARGEFILE_SOURCE",
             ],
+            generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__host",
+            ],
+            export_generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__host",
+            ],
         },
     },
 }
@@ -3861,7 +3885,6 @@
     shared_libs: [
         "libandroid",
         "liblog",
-        "libprotobuf-cpp-lite",
     ],
     static_libs: [
         "cronet_aml_base_allocator_partition_allocator_partition_alloc",
@@ -3887,25 +3910,10 @@
         "cronet_aml_url_url",
     ],
     generated_headers: [
-        "cronet_aml_base_debugging_buildflags__android_x86",
-        "cronet_aml_base_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_logging_buildflags__android_x86",
-        "cronet_aml_base_logging_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_components_cronet_android_buildflags__android_x86",
-        "cronet_aml_components_cronet_android_buildflags__android_x86_64",
-        "cronet_aml_components_cronet_android_cronet_jni_headers__android_x86",
-        "cronet_aml_components_cronet_android_cronet_jni_headers__android_x86_64",
-        "cronet_aml_components_cronet_android_cronet_jni_registration__android_x86",
-        "cronet_aml_components_cronet_android_cronet_jni_registration__android_x86_64",
-        "cronet_aml_components_cronet_cronet_buildflags__android_x86",
-        "cronet_aml_components_cronet_cronet_buildflags__android_x86_64",
-        "cronet_aml_components_cronet_cronet_version_header_action__android_x86",
-        "cronet_aml_components_cronet_cronet_version_header_action__android_x86_64",
         "cronet_aml_third_party_metrics_proto_metrics_proto_gen_headers",
-        "cronet_aml_url_buildflags__android_x86",
-        "cronet_aml_url_buildflags__android_x86_64",
+    ],
+    export_generated_headers: [
+        "cronet_aml_third_party_metrics_proto_metrics_proto_gen_headers",
     ],
     defaults: [
         "cronet_aml_buildtools_third_party_libc___libc__",
@@ -3976,6 +3984,34 @@
         "-fexceptions",
     ],
     rtti: true,
+    target: {
+        android_x86: {
+            generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86",
+                "cronet_aml_base_logging_buildflags__android_x86",
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+                "cronet_aml_components_cronet_android_buildflags__android_x86",
+                "cronet_aml_components_cronet_android_cronet_jni_headers__android_x86",
+                "cronet_aml_components_cronet_android_cronet_jni_registration__android_x86",
+                "cronet_aml_components_cronet_cronet_buildflags__android_x86",
+                "cronet_aml_components_cronet_cronet_version_header_action__android_x86",
+                "cronet_aml_url_buildflags__android_x86",
+            ],
+        },
+        android_x86_64: {
+            generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_logging_buildflags__android_x86_64",
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+                "cronet_aml_components_cronet_android_buildflags__android_x86_64",
+                "cronet_aml_components_cronet_android_cronet_jni_headers__android_x86_64",
+                "cronet_aml_components_cronet_android_cronet_jni_registration__android_x86_64",
+                "cronet_aml_components_cronet_cronet_buildflags__android_x86_64",
+                "cronet_aml_components_cronet_cronet_version_header_action__android_x86_64",
+                "cronet_aml_url_buildflags__android_x86_64",
+            ],
+        },
+    },
 }
 
 // GN: //components/cronet/android:cronet_jni_headers__android_x86
@@ -4799,26 +4835,6 @@
         "cronet_aml_third_party_libevent_libevent",
         "cronet_aml_third_party_modp_b64_modp_b64",
     ],
-    generated_headers: [
-        "cronet_aml_base_debugging_buildflags__android_x86",
-        "cronet_aml_base_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_logging_buildflags__android_x86",
-        "cronet_aml_base_logging_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_components_prefs_android_jni_headers__android_x86",
-        "cronet_aml_components_prefs_android_jni_headers__android_x86_64",
-    ],
-    export_generated_headers: [
-        "cronet_aml_base_debugging_buildflags__android_x86",
-        "cronet_aml_base_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_logging_buildflags__android_x86",
-        "cronet_aml_base_logging_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_components_prefs_android_jni_headers__android_x86",
-        "cronet_aml_components_prefs_android_jni_headers__android_x86_64",
-    ],
     defaults: [
         "cronet_aml_defaults",
     ],
@@ -4849,6 +4865,36 @@
         "third_party/boringssl/src/include/",
     ],
     cpp_std: "c++20",
+    target: {
+        android_x86: {
+            generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86",
+                "cronet_aml_base_logging_buildflags__android_x86",
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+                "cronet_aml_components_prefs_android_jni_headers__android_x86",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86",
+                "cronet_aml_base_logging_buildflags__android_x86",
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+                "cronet_aml_components_prefs_android_jni_headers__android_x86",
+            ],
+        },
+        android_x86_64: {
+            generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_logging_buildflags__android_x86_64",
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+                "cronet_aml_components_prefs_android_jni_headers__android_x86_64",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_logging_buildflags__android_x86_64",
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+                "cronet_aml_components_prefs_android_jni_headers__android_x86_64",
+            ],
+        },
+    },
 }
 
 // GN: //crypto:buildflags__android_x86
@@ -4948,20 +4994,6 @@
         "cronet_aml_third_party_modp_b64_modp_b64",
     ],
     host_supported: true,
-    generated_headers: [
-        "cronet_aml_build_chromeos_buildflags__host",
-        "cronet_aml_components_nacl_common_buildflags__host",
-        "cronet_aml_crypto_buildflags__android_x86",
-        "cronet_aml_crypto_buildflags__android_x86_64",
-        "cronet_aml_crypto_buildflags__host",
-    ],
-    export_generated_headers: [
-        "cronet_aml_build_chromeos_buildflags__host",
-        "cronet_aml_components_nacl_common_buildflags__host",
-        "cronet_aml_crypto_buildflags__android_x86",
-        "cronet_aml_crypto_buildflags__android_x86_64",
-        "cronet_aml_crypto_buildflags__host",
-    ],
     defaults: [
         "cronet_aml_defaults",
     ],
@@ -5002,6 +5034,12 @@
                 "-DANDROID_NDK_VERSION_ROLL=r23_1",
                 "-DHAVE_SYS_UIO_H",
             ],
+            generated_headers: [
+                "cronet_aml_crypto_buildflags__android_x86",
+            ],
+            export_generated_headers: [
+                "cronet_aml_crypto_buildflags__android_x86",
+            ],
         },
         android_x86_64: {
             cflags: [
@@ -5009,6 +5047,12 @@
                 "-DANDROID_NDK_VERSION_ROLL=r23_1",
                 "-DHAVE_SYS_UIO_H",
             ],
+            generated_headers: [
+                "cronet_aml_crypto_buildflags__android_x86_64",
+            ],
+            export_generated_headers: [
+                "cronet_aml_crypto_buildflags__android_x86_64",
+            ],
         },
         host: {
             srcs: [
@@ -5033,6 +5077,16 @@
                 "build/linux/debian_bullseye_amd64-sysroot/usr/include/nspr",
                 "build/linux/debian_bullseye_amd64-sysroot/usr/include/nss",
             ],
+            generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__host",
+                "cronet_aml_components_nacl_common_buildflags__host",
+                "cronet_aml_crypto_buildflags__host",
+            ],
+            export_generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__host",
+                "cronet_aml_components_nacl_common_buildflags__host",
+                "cronet_aml_crypto_buildflags__host",
+            ],
         },
     },
 }
@@ -5049,6 +5103,7 @@
         "-Wno-macro-redefined",
         "-Wno-missing-field-initializers",
         "-Wno-non-virtual-dtor",
+        "-Wno-null-pointer-subtraction",
         "-Wno-sign-compare",
         "-Wno-sign-promo",
         "-Wno-unreachable-code-loop-increment",
@@ -5081,9 +5136,60 @@
     name: "cronet_aml_java",
 }
 
-// GN: //net/base/registry_controlled_domains:registry_controlled_domains
+// GN: //net/base/registry_controlled_domains:registry_controlled_domains__android_x86
 genrule {
-    name: "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains",
+    name: "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains__android_x86",
+    cmd: "$(location net/tools/dafsa/make_dafsa.py) --reverse " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names.gperf) " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names-reversed-inc.cc) " +
+         "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
+         "--reverse " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest1.gperf) " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest1-reversed-inc.cc) " +
+         "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
+         "--reverse " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest2.gperf) " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest2-reversed-inc.cc) " +
+         "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
+         "--reverse " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest3.gperf) " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest3-reversed-inc.cc) " +
+         "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
+         "--reverse " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest4.gperf) " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest4-reversed-inc.cc) " +
+         "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
+         "--reverse " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest5.gperf) " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest5-reversed-inc.cc) " +
+         "&& python3 $(location net/tools/dafsa/make_dafsa.py) " +
+         "--reverse " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest6.gperf) " +
+         "$(location net/base/registry_controlled_domains/effective_tld_names_unittest6-reversed-inc.cc)",
+    out: [
+        "net/base/registry_controlled_domains/effective_tld_names-reversed-inc.cc",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest1-reversed-inc.cc",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest2-reversed-inc.cc",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest3-reversed-inc.cc",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest4-reversed-inc.cc",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest5-reversed-inc.cc",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest6-reversed-inc.cc",
+    ],
+    tool_files: [
+        "net/base/registry_controlled_domains/effective_tld_names.gperf",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest1.gperf",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest2.gperf",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest3.gperf",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest4.gperf",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest5.gperf",
+        "net/base/registry_controlled_domains/effective_tld_names_unittest6.gperf",
+        "net/tools/dafsa/make_dafsa.py",
+    ],
+}
+
+// GN: //net/base/registry_controlled_domains:registry_controlled_domains__android_x86_64
+genrule {
+    name: "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains__android_x86_64",
     cmd: "$(location net/tools/dafsa/make_dafsa.py) --reverse " +
          "$(location net/base/registry_controlled_domains/effective_tld_names.gperf) " +
          "$(location net/base/registry_controlled_domains/effective_tld_names-reversed-inc.cc) " +
@@ -6296,7 +6402,6 @@
     shared_libs: [
         "libandroid",
         "liblog",
-        "libprotobuf-cpp-lite",
     ],
     static_libs: [
         "cronet_aml_base_allocator_partition_allocator_partition_alloc",
@@ -6320,48 +6425,14 @@
         "cronet_aml_url_url",
     ],
     generated_headers: [
-        "cronet_aml_base_debugging_buildflags__android_x86",
-        "cronet_aml_base_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_logging_buildflags__android_x86",
-        "cronet_aml_base_logging_buildflags__android_x86_64",
-        "cronet_aml_build_branding_buildflags__android_x86",
-        "cronet_aml_build_branding_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains",
-        "cronet_aml_net_buildflags__android_x86",
-        "cronet_aml_net_buildflags__android_x86_64",
-        "cronet_aml_net_ios_cronet_buildflags__android_x86",
-        "cronet_aml_net_ios_cronet_buildflags__android_x86_64",
         "cronet_aml_net_isolation_info_proto_gen_headers",
-        "cronet_aml_net_net_jni_headers__android_x86",
-        "cronet_aml_net_net_jni_headers__android_x86_64",
         "cronet_aml_net_net_nqe_proto_gen_headers",
         "cronet_aml_net_third_party_quiche_net_quic_test_tools_proto_gen_headers",
-        "cronet_aml_url_buildflags__android_x86",
-        "cronet_aml_url_buildflags__android_x86_64",
     ],
     export_generated_headers: [
-        "cronet_aml_base_debugging_buildflags__android_x86",
-        "cronet_aml_base_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_logging_buildflags__android_x86",
-        "cronet_aml_base_logging_buildflags__android_x86_64",
-        "cronet_aml_build_branding_buildflags__android_x86",
-        "cronet_aml_build_branding_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains",
-        "cronet_aml_net_buildflags__android_x86",
-        "cronet_aml_net_buildflags__android_x86_64",
-        "cronet_aml_net_ios_cronet_buildflags__android_x86",
-        "cronet_aml_net_ios_cronet_buildflags__android_x86_64",
         "cronet_aml_net_isolation_info_proto_gen_headers",
-        "cronet_aml_net_net_jni_headers__android_x86",
-        "cronet_aml_net_net_jni_headers__android_x86_64",
         "cronet_aml_net_net_nqe_proto_gen_headers",
         "cronet_aml_net_third_party_quiche_net_quic_test_tools_proto_gen_headers",
-        "cronet_aml_url_buildflags__android_x86",
-        "cronet_aml_url_buildflags__android_x86_64",
     ],
     export_static_lib_headers: [
         "cronet_aml_crypto_crypto",
@@ -6426,11 +6497,55 @@
             srcs: [
                 "net/disk_cache/blockfile/mapped_file_posix.cc",
             ],
+            generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86",
+                "cronet_aml_base_logging_buildflags__android_x86",
+                "cronet_aml_build_branding_buildflags__android_x86",
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+                "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains__android_x86",
+                "cronet_aml_net_buildflags__android_x86",
+                "cronet_aml_net_ios_cronet_buildflags__android_x86",
+                "cronet_aml_net_net_jni_headers__android_x86",
+                "cronet_aml_url_buildflags__android_x86",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86",
+                "cronet_aml_base_logging_buildflags__android_x86",
+                "cronet_aml_build_branding_buildflags__android_x86",
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+                "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains__android_x86",
+                "cronet_aml_net_buildflags__android_x86",
+                "cronet_aml_net_ios_cronet_buildflags__android_x86",
+                "cronet_aml_net_net_jni_headers__android_x86",
+                "cronet_aml_url_buildflags__android_x86",
+            ],
         },
         android_x86_64: {
             srcs: [
                 "net/disk_cache/blockfile/mapped_file_bypass_mmap_posix.cc",
             ],
+            generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_logging_buildflags__android_x86_64",
+                "cronet_aml_build_branding_buildflags__android_x86_64",
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+                "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains__android_x86_64",
+                "cronet_aml_net_buildflags__android_x86_64",
+                "cronet_aml_net_ios_cronet_buildflags__android_x86_64",
+                "cronet_aml_net_net_jni_headers__android_x86_64",
+                "cronet_aml_url_buildflags__android_x86_64",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_logging_buildflags__android_x86_64",
+                "cronet_aml_build_branding_buildflags__android_x86_64",
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+                "cronet_aml_net_base_registry_controlled_domains_registry_controlled_domains__android_x86_64",
+                "cronet_aml_net_buildflags__android_x86_64",
+                "cronet_aml_net_ios_cronet_buildflags__android_x86_64",
+                "cronet_aml_net_net_jni_headers__android_x86_64",
+                "cronet_aml_url_buildflags__android_x86_64",
+            ],
         },
     },
 }
@@ -7192,7 +7307,6 @@
     shared_libs: [
         "libandroid",
         "liblog",
-        "libprotobuf-cpp-lite",
     ],
     static_libs: [
         "cronet_aml_base_allocator_partition_allocator_partition_alloc",
@@ -7211,15 +7325,9 @@
         "cronet_aml_url_url",
     ],
     generated_headers: [
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__host",
         "cronet_aml_net_third_party_quiche_net_quic_proto_gen_headers",
     ],
     export_generated_headers: [
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__host",
         "cronet_aml_net_third_party_quiche_net_quic_proto_gen_headers",
     ],
     defaults: [
@@ -7373,6 +7481,24 @@
         "third_party/zlib/",
     ],
     cpp_std: "c++20",
+    target: {
+        android_x86: {
+            generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+            ],
+            export_generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+            ],
+        },
+        android_x86_64: {
+            generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+            ],
+            export_generated_headers: [
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+            ],
+        },
+    },
 }
 
 // GN: //net/traffic_annotation:traffic_annotation
@@ -11058,30 +11184,6 @@
         "cronet_aml_third_party_libevent_libevent",
         "cronet_aml_third_party_modp_b64_modp_b64",
     ],
-    generated_headers: [
-        "cronet_aml_base_debugging_buildflags__android_x86",
-        "cronet_aml_base_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_logging_buildflags__android_x86",
-        "cronet_aml_base_logging_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_url_buildflags__android_x86",
-        "cronet_aml_url_buildflags__android_x86_64",
-        "cronet_aml_url_url_jni_headers__android_x86",
-        "cronet_aml_url_url_jni_headers__android_x86_64",
-    ],
-    export_generated_headers: [
-        "cronet_aml_base_debugging_buildflags__android_x86",
-        "cronet_aml_base_debugging_buildflags__android_x86_64",
-        "cronet_aml_base_logging_buildflags__android_x86",
-        "cronet_aml_base_logging_buildflags__android_x86_64",
-        "cronet_aml_build_chromeos_buildflags__android_x86",
-        "cronet_aml_build_chromeos_buildflags__android_x86_64",
-        "cronet_aml_url_buildflags__android_x86",
-        "cronet_aml_url_buildflags__android_x86_64",
-        "cronet_aml_url_url_jni_headers__android_x86",
-        "cronet_aml_url_url_jni_headers__android_x86_64",
-    ],
     defaults: [
         "cronet_aml_defaults",
         "cronet_aml_ipc_param_traits",
@@ -11113,6 +11215,40 @@
         "third_party/boringssl/src/include/",
     ],
     cpp_std: "c++20",
+    target: {
+        android_x86: {
+            generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86",
+                "cronet_aml_base_logging_buildflags__android_x86",
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+                "cronet_aml_url_buildflags__android_x86",
+                "cronet_aml_url_url_jni_headers__android_x86",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86",
+                "cronet_aml_base_logging_buildflags__android_x86",
+                "cronet_aml_build_chromeos_buildflags__android_x86",
+                "cronet_aml_url_buildflags__android_x86",
+                "cronet_aml_url_url_jni_headers__android_x86",
+            ],
+        },
+        android_x86_64: {
+            generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_logging_buildflags__android_x86_64",
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+                "cronet_aml_url_buildflags__android_x86_64",
+                "cronet_aml_url_url_jni_headers__android_x86_64",
+            ],
+            export_generated_headers: [
+                "cronet_aml_base_debugging_buildflags__android_x86_64",
+                "cronet_aml_base_logging_buildflags__android_x86_64",
+                "cronet_aml_build_chromeos_buildflags__android_x86_64",
+                "cronet_aml_url_buildflags__android_x86_64",
+                "cronet_aml_url_url_jni_headers__android_x86_64",
+            ],
+        },
+    },
 }
 
 // GN: //url:url_jni_headers__android_x86
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index e919406..3d98ce6 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -211,6 +211,8 @@
     self.cppflags = set()
     self.local_include_dirs = set()
     self.export_system_include_dirs = set()
+    self.generated_headers = set()
+    self.export_generated_headers = set()
 
   def to_string(self, output):
     nested_out = []
@@ -226,6 +228,8 @@
     self._output_field(nested_out, 'cppflags')
     self._output_field(nested_out, 'local_include_dirs')
     self._output_field(nested_out, 'export_system_include_dirs')
+    self._output_field(nested_out, 'generated_headers')
+    self._output_field(nested_out, 'export_generated_headers')
 
     if nested_out:
       output.append('    %s: {' % self.name)
@@ -968,6 +972,15 @@
     if '-fexceptions' in flag:
       module.cppflags.add('-fexceptions')
 
+def add_genrule_per_arch(module, dep_module, type):
+  module.generated_headers.update(dep_module.genrule_headers)
+  # If the module is a static library, export all the generated headers.
+  if type == 'cc_library_static':
+    module.export_generated_headers.update(dep_module.genrule_headers)
+  module.srcs.update(dep_module.genrule_srcs)
+  module.shared_libs.update(dep_module.genrule_shared_libs)
+  module.header_libs.update(dep_module.genrule_header_libs)
+
 def set_module_include_dirs(module, cflags, include_dirs):
   for flag in cflags:
     if '-isystem' in flag:
@@ -1089,11 +1102,6 @@
     module.local_include_dirs = [d for d in module.local_include_dirs
                                  if d not in local_include_dirs_denylist]
 
-
-  # If the module is a static library, export all the generated headers.
-  if module.type == 'cc_library_static':
-    module.export_generated_headers = module.generated_headers
-
   # dep_name is an unmangled GN target name (e.g. //foo:bar(toolchain)).
   # Currently, only one module is generated from target even target has multiple toolchains.
   # And module is generated based on the first visited target.
@@ -1134,10 +1142,13 @@
     elif dep_module.type == 'cc_defaults':
       module.defaults.append(dep_module.name)
     elif dep_module.type == 'genrule':
-      module.generated_headers.update(dep_module.genrule_headers)
-      module.srcs.update(dep_module.genrule_srcs)
-      module.shared_libs.update(dep_module.genrule_shared_libs)
-      module.header_libs.update(dep_module.genrule_header_libs)
+      for arch_name, arch in target.arch.items():
+        if dep_module.name.endswith(arch_name):
+          add_genrule_per_arch(module.target[arch_name], dep_module, module.type)
+      if dep_module.name.endswith("_gen"):
+        module.srcs.update(dep_module.genrule_srcs)
+        module.generated_headers.update(dep_module.genrule_headers)
+        module.export_generated_headers.update(dep_module.genrule_headers)
     elif dep_module.type == 'cc_binary':
       continue  # Ignore executables deps (used by cmdline integration tests).
     else:
@@ -1198,6 +1209,7 @@
       '-Wno-sign-compare',
       '-Wno-sign-promo',
       '-Wno-unused-parameter',
+      '-Wno-null-pointer-subtraction', # Needed to libevent
       '-Wno-deprecated-non-prototype', # needed for zlib
       '-fvisibility=hidden',
       '-Wno-ambiguous-reversed-operator', # needed for icui18n
diff --git a/tools/gn2bp/gn_utils.py b/tools/gn2bp/gn_utils.py
index 6d23c55..2df1c6d 100644
--- a/tools/gn2bp/gn_utils.py
+++ b/tools/gn2bp/gn_utils.py
@@ -280,7 +280,8 @@
     # Action modules can differ depending on the target architecture, yet
     # genrule's do not allow to overload cmd per target OS / arch.  Create a
     # separate action for every architecture.
-    if type_ == 'action':
+    # Cover both action and action_foreach
+    if type_.startswith('action'):
       target_name += '__' + arch
 
     target = self.all_targets.get(target_name)