Browse Source

Fix panics when target arch is riscv64

Fix panics in api_level.go and apex.go when using riscv64 as the target
arch.

Bug: 250918230
Test: lunch aosp_riscv64-userdebug && m ALLOW_MISSING_DEPENDENCIES=true nothing
Change-Id: I85c7685f3d14fa2dc7ffbcdea7f490feca304ef7
Colin Cross 1 year ago
parent
commit
a2aaa2fdef
4 changed files with 13 additions and 5 deletions
  1. 5 0
      apex/apex.go
  2. 2 0
      cc/api_level.go
  3. 5 4
      java/app_set.go
  4. 1 1
      rust/config/riscv64_device.go

+ 5 - 0
apex/apex.go

@@ -286,6 +286,9 @@ type apexArchBundleProperties struct {
 		Arm64 struct {
 			ApexNativeDependencies
 		}
+		Riscv64 struct {
+			ApexNativeDependencies
+		}
 		X86 struct {
 			ApexNativeDependencies
 		}
@@ -787,6 +790,8 @@ func (a *apexBundle) DepsMutator(ctx android.BottomUpMutatorContext) {
 			depsList = append(depsList, a.archProperties.Arch.Arm.ApexNativeDependencies)
 		case android.Arm64:
 			depsList = append(depsList, a.archProperties.Arch.Arm64.ApexNativeDependencies)
+		case android.Riscv64:
+			depsList = append(depsList, a.archProperties.Arch.Riscv64.ApexNativeDependencies)
 		case android.X86:
 			depsList = append(depsList, a.archProperties.Arch.X86.ApexNativeDependencies)
 		case android.X86_64:

+ 2 - 0
cc/api_level.go

@@ -28,6 +28,8 @@ func minApiForArch(ctx android.BaseModuleContext,
 		return ctx.Config().MinSupportedSdkVersion()
 	case android.Arm64, android.X86_64:
 		return android.FirstLp64Version
+	case android.Riscv64:
+		return android.FutureApiLevel
 	default:
 		panic(fmt.Errorf("Unknown arch %q", arch))
 	}

+ 5 - 4
java/app_set.go

@@ -90,10 +90,11 @@ func (as *AndroidAppSet) APKCertsFile() android.Path {
 }
 
 var TargetCpuAbi = map[string]string{
-	"arm":    "ARMEABI_V7A",
-	"arm64":  "ARM64_V8A",
-	"x86":    "X86",
-	"x86_64": "X86_64",
+	"arm":     "ARMEABI_V7A",
+	"arm64":   "ARM64_V8A",
+	"riscv64": "RISCV64",
+	"x86":     "X86",
+	"x86_64":  "X86_64",
 }
 
 func SupportedAbis(ctx android.ModuleContext) []string {

+ 1 - 1
rust/config/riscv64_device.go

@@ -25,7 +25,7 @@ var (
 	Riscv64ArchFeatureRustFlags = map[string][]string{"": {}}
 	Riscv64LinkFlags            = []string{}
 
-	Riscv64ArchVariantRustFlags = map[string][]string{}
+	Riscv64ArchVariantRustFlags = map[string][]string{"": {}}
 )
 
 func init() {