Consider binder bitness while looking for abi references.

Binder bitness does not always correlate directly with primary arch, as
assumed earlier. For example: it is possible to have devices with
primary arch 'arm' and use 64 bit binder.

Bug: 74362434

Test: utils/create_reference_dumps.py;
      m -j vndk_package for aosp_arm64_ab, aosp_arm_ab invokes
      header-abi-diff on both arm and arm64 arches.

Test: mm -j64 in system/libhwbinder on troublesome internal target.

Change-Id: Iea0a24b57cdb3033e25b6fe126c5d5d717f45b4e
diff --git a/android/config.go b/android/config.go
index b158e05..db833ec 100644
--- a/android/config.go
+++ b/android/config.go
@@ -649,6 +649,14 @@
 	return arches
 }
 
+func (c *deviceConfig) BinderBitness() string {
+	is32BitBinder := c.config.ProductVariables.Binder32bit
+	if is32BitBinder != nil && *is32BitBinder {
+		return "32"
+	}
+	return "64"
+}
+
 func (c *deviceConfig) VendorPath() string {
 	if c.config.ProductVariables.VendorPath != nil {
 		return *c.config.ProductVariables.VendorPath