generic: enable RELR relocations
authorRobert Marko <robimarko@gmail.com>
Mon, 16 Sep 2024 09:51:45 +0000 (11:51 +0200)
committerRobert Marko <robimarko@gmail.com>
Mon, 16 Sep 2024 20:47:44 +0000 (22:47 +0200)
RELR is a relocation packing format for relative relocations.

Linux has supported using it for ARM64 since 5.4, and more recently
for LoongArch as well.

It requires compatible tooling as well, so only with binutils 2.43
TOOLS_SUPPORT_RELR is set and thus RELR available.

RELR should always decrease the binary size and while testing this
the default build for Dynalink WRX-36 (qualcommax/ipq807x) reduced
the compressed kernel size by 38k and uncompressed one by 640k.

So, lets enable it in the default config.

Link: https://github.com/openwrt/openwrt/pull/16403
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/generic/config-5.15
target/linux/generic/config-6.1
target/linux/generic/config-6.6

index a34ba551bec599908c8cbcb9fd533783983bd269..4c5b8087993968511df30a06ba2684fcb2c79ea9 100644 (file)
@@ -5074,6 +5074,7 @@ CONFIG_REISERFS_FS_XATTR=y
 # CONFIG_REISERFS_PROC_INFO is not set
 # CONFIG_RELAY is not set
 # CONFIG_RELOCATABLE is not set
+CONFIG_RELR=y
 # CONFIG_REMOTEPROC is not set
 # CONFIG_RENESAS_PHY is not set
 # CONFIG_RESET_ATH79 is not set
index ef61717d78800e5ed97c31df781c1f31c8d7f6c8..f6163e32944499d6b5b68fc425a35c771ec064aa 100644 (file)
@@ -5280,6 +5280,7 @@ CONFIG_REISERFS_FS_XATTR=y
 # CONFIG_REISERFS_PROC_INFO is not set
 # CONFIG_RELAY is not set
 # CONFIG_RELOCATABLE is not set
+CONFIG_RELR=y
 # CONFIG_REMOTEPROC is not set
 # CONFIG_RENESAS_PHY is not set
 # CONFIG_RESET_ATH79 is not set
index 71fdf59d33e2bebdbb0d907c82bea03d5dc7d5d6..eb8011d3f74a5030a919fb4b4012539d44854e58 100644 (file)
@@ -4977,6 +4977,7 @@ CONFIG_REISERFS_FS_XATTR=y
 # CONFIG_REISERFS_PROC_INFO is not set
 # CONFIG_RELAY is not set
 # CONFIG_RELOCATABLE is not set
+CONFIG_RELR=y
 # CONFIG_REMOTEPROC is not set
 # CONFIG_RENESAS_PHY is not set
 # CONFIG_RESET_ATH79 is not set