NetBSD-Bugs archive

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

port-arm/60660: missing R_AARCH_LDST128_ABS_LO12_NC



>Number:         60660
>Category:       port-arm
>Synopsis:       missing R_AARCH_LDST128_ABS_LO12_NC
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-arm-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Aug 28 14:45:01 +0000 2026
>Originator:     Taylor R Campbell
>Release:        current
>Organization:
The NetBSD128 Relocation, Inc.
>Environment:
>Description:

	openzfs wants it in the kernel (kobj_reloc) for some crypto
	asm code (blake3).

	If it fits the pattern of R_AARCH64_LDST8_ABS_LO12_NC,
	R_AARCH64_LDST16_ABS_LO12_NC, R_AARCH64_LDST32_ABS_LO12_NC,
	and R_AARCH64_LDST64_ABS_LO12_NC suggested in these binutils
	comments, should be straightforward:

    125 /* LD/ST8: (S+A) & 0xfff */
    126 RELOC_NUMBER (R_AARCH64_LDST8_ABS_LO12_NC, 278)
...
    144 /* LD/ST16: (S+A) & 0xffe */
    145 RELOC_NUMBER (R_AARCH64_LDST16_ABS_LO12_NC, 284)
...
    147 /* LD/ST32: (S+A) & 0xffc */
    148 RELOC_NUMBER (R_AARCH64_LDST32_ABS_LO12_NC, 285)
    149 
    150 /* LD/ST64: (S+A) & 0xff8 */
    151 RELOC_NUMBER (R_AARCH64_LDST64_ABS_LO12_NC, 286)

	https://nxr.netbsd.org/xref/src/external/gpl3/binutils/dist/include/elf/aarch64.h?r=1.1#125

	Maybe ld.elf_so needs these too?  Not sure why kobj_reloc
	has the 8/16/32 ones but ld.elf_so has none.

>How-To-Repeat:

	port openzfs

>Fix:

	Yes, please!




Home | Main Index | Thread Index | Old Index