diff --git a/cc/cc.go b/cc/cc.go
index e261d40..f6b1152 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -1493,6 +1493,7 @@
 		&VendorProperties{},
 		&BaseCompilerProperties{},
 		&BaseLinkerProperties{},
+		&MoreBaseLinkerProperties{},
 		&LibraryProperties{},
 		&FlagExporterProperties{},
 		&BinaryLinkerProperties{},
diff --git a/cc/linker.go b/cc/linker.go
index 3e2ecc6..f6223a7 100644
--- a/cc/linker.go
+++ b/cc/linker.go
@@ -122,6 +122,13 @@
 	Use_version_lib *bool `android:"arch_variant"`
 }
 
+// TODO(http://b/80437643): BaseLinkerProperties is getting too big,
+// more than 2^16 bytes. New properties are defined in MoreBaseLinkerProperties.
+type MoreBaseLinkerProperties struct {
+	// Generate compact dynamic relocation table, default true.
+	Pack_relocations *bool `android:"arch_variant"`
+}
+
 func NewBaseLinker() *baseLinker {
 	return &baseLinker{}
 }
@@ -129,6 +136,7 @@
 // baseLinker provides support for shared_libs, static_libs, and whole_static_libs properties
 type baseLinker struct {
 	Properties        BaseLinkerProperties
+	MoreProperties    MoreBaseLinkerProperties
 	dynamicProperties struct {
 		RunPaths []string `blueprint:"mutated"`
 	}
@@ -147,7 +155,7 @@
 }
 
 func (linker *baseLinker) linkerProps() []interface{} {
-	return []interface{}{&linker.Properties, &linker.dynamicProperties}
+	return []interface{}{&linker.Properties, &linker.MoreProperties, &linker.dynamicProperties}
 }
 
 func (linker *baseLinker) linkerDeps(ctx BaseModuleContext, deps Deps) Deps {
@@ -256,6 +264,9 @@
 
 	if flags.Clang && linker.useClangLld(ctx) {
 		flags.LdFlags = append(flags.LdFlags, fmt.Sprintf("${config.%sGlobalLldflags}", hod))
+		if !BoolDefault(linker.MoreProperties.Pack_relocations, true) {
+			flags.LdFlags = append(flags.LdFlags, "-Wl,--pack-dyn-relocs=none")
+		}
 	} else {
 		flags.LdFlags = append(flags.LdFlags, fmt.Sprintf("${config.%sGlobalLdflags}", hod))
 	}
diff --git a/cc/relocation_packer.go b/cc/relocation_packer.go
index f6a1fe4..8989b29 100644
--- a/cc/relocation_packer.go
+++ b/cc/relocation_packer.go
@@ -33,6 +33,7 @@
 	})
 
 type RelocationPackerProperties struct {
+	// Generate compact dynamic relocation table, default true.
 	Pack_relocations *bool `android:"arch_variant"`
 
 	// This will be true even if we're embedded in Make, in which case
