NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-arm/60660: missing R_AARCH_LDST128_ABS_LO12_NC



Draft attached.  Unclear on why some of these are R_AARCH_* and some
are R_AARCH64_*.
# HG changeset patch
# User Taylor R Campbell <riastradh%NetBSD.org@localhost>
# Date 1787931290 0
#      Fri Aug 28 15:34:50 2026 +0000
# Branch trunk
# Node ID ffef2707d2a0245e7dadba2a9ad15c4d492bed81
# Parent  4fbd288ac1da9e7d9592ddecf04f7513e244152f
# EXP-Topic riastradh-pr60660-aarch64lst128reloc
aarch64: Teach kobj_reloc about R_AARCH64_LDST128_ABS_LO12_NC.

PR port-arm/60660: missing R_AARCH_LDST128_ABS_LO12_NC

diff -r 4fbd288ac1da -r ffef2707d2a0 sys/arch/aarch64/aarch64/kobj_machdep.c
--- a/sys/arch/aarch64/aarch64/kobj_machdep.c	Mon Aug 10 13:36:10 2026 +0000
+++ b/sys/arch/aarch64/aarch64/kobj_machdep.c	Fri Aug 28 15:34:50 2026 +0000
@@ -60,6 +60,7 @@ struct rtypeinfo {
 static const struct rtypeinfo rtypetbl[] = {
 	{ R_AARCH64_ABS64,		"R_AARCH64_ABS64"		},
 	{ R_AARCH64_ADD_ABS_LO12_NC,	"R_AARCH64_ADD_ABS_LO12_NC"	},
+	{ R_AARCH64_LDST128_ABS_LO12_NC, "R_AARCH64_LDST128_ABS_LO12_NC"},
 	{ R_AARCH_LDST64_ABS_LO12_NC,	"R_AARCH64_LDST64_ABS_LO12_NC"	},
 	{ R_AARCH_LDST32_ABS_LO12_NC,	"R_AARCH64_LDST32_ABS_LO12_NC"	},
 	{ R_AARCH_LDST16_ABS_LO12_NC,	"R_AARCH64_LDST16_ABS_LO12_NC"	},
@@ -221,6 +222,7 @@ kobj_reloc(kobj_t ko, uintptr_t relocbas
 	case R_AARCH_LDST16_ABS_LO12_NC:
 	case R_AARCH_LDST32_ABS_LO12_NC:
 	case R_AARCH_LDST64_ABS_LO12_NC:
+	case R_AARCH64_LDST128_ABS_LO12_NC:
 		switch (rtype) {
 		case R_AARCH64_ADD_ABS_LO12_NC:
 		case R_AARCH64_LDST8_ABS_LO12_NC:
@@ -235,6 +237,9 @@ kobj_reloc(kobj_t ko, uintptr_t relocbas
 		case R_AARCH_LDST64_ABS_LO12_NC:
 			shift = 3;
 			break;
+		case R_AARCH64_LDST128_ABS_LO12_NC:
+			shift = 4;
+			break;
 		default:
 			panic("illegal rtype: %d\n", rtype);
 		}


Home | Main Index | Thread Index | Old Index