CVS commit: src/libexec/ld.elf_so/arch/riscv

2022-12-03 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sat Dec  3 09:39:44 UTC 2022

Modified Files:
src/libexec/ld.elf_so/arch/riscv: mdreloc.c rtld_start.S

Log Message:
Trailing whitespace


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/libexec/ld.elf_so/arch/riscv/mdreloc.c
cvs rdiff -u -r1.2 -r1.3 src/libexec/ld.elf_so/arch/riscv/rtld_start.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/libexec/ld.elf_so/arch/riscv/mdreloc.c
diff -u src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.5 src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.6
--- src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.5	Mon Apr 15 19:13:03 2019
+++ src/libexec/ld.elf_so/arch/riscv/mdreloc.c	Sat Dec  3 09:39:44 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: mdreloc.c,v 1.5 2019/04/15 19:13:03 maya Exp $	*/
+/*	$NetBSD: mdreloc.c,v 1.6 2022/12/03 09:39:44 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include 
 #ifndef lint
-__RCSID("$NetBSD: mdreloc.c,v 1.5 2019/04/15 19:13:03 maya Exp $");
+__RCSID("$NetBSD: mdreloc.c,v 1.6 2022/12/03 09:39:44 skrll Exp $");
 #endif /* not lint */
 
 #include 
@@ -256,7 +256,7 @@ _rtld_bind(const Obj_Entry *obj, Elf_Wor
 int
 _rtld_relocate_plt_objects(const Obj_Entry *obj)
 {
-	
+
 	for (const Elf_Rel *rel = obj->pltrel; rel < obj->pltrellim; rel++) {
 		if (_rtld_relocate_plt_object(obj, rel, NULL) < 0)
 			return -1;

Index: src/libexec/ld.elf_so/arch/riscv/rtld_start.S
diff -u src/libexec/ld.elf_so/arch/riscv/rtld_start.S:1.2 src/libexec/ld.elf_so/arch/riscv/rtld_start.S:1.3
--- src/libexec/ld.elf_so/arch/riscv/rtld_start.S:1.2	Fri Mar 27 23:14:53 2015
+++ src/libexec/ld.elf_so/arch/riscv/rtld_start.S	Sat Dec  3 09:39:44 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: rtld_start.S,v 1.2 2015/03/27 23:14:53 matt Exp $	*/
+/*	$NetBSD: rtld_start.S,v 1.3 2022/12/03 09:39:44 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -110,7 +110,7 @@ ENTRY_NP(_rtld_bind_start)
 	REG_L	a5, XCALLFRAME_A5(sp)
 	REG_L	a6, XCALLFRAME_A6(sp)
 	REG_L	a7, XCALLFRAME_A7(sp)
-	REG_L	ra, XCALLFRAME_RA(sp)		
+	REG_L	ra, XCALLFRAME_RA(sp)
 	addi	sp, sp, XCALLFRAME_SIZ
 	jr	t0
 END(_rtld_bind_start)



CVS commit: src/libexec/ld.elf_so/arch/riscv

2022-12-03 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Sat Dec  3 09:39:44 UTC 2022

Modified Files:
src/libexec/ld.elf_so/arch/riscv: mdreloc.c rtld_start.S

Log Message:
Trailing whitespace


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/libexec/ld.elf_so/arch/riscv/mdreloc.c
cvs rdiff -u -r1.2 -r1.3 src/libexec/ld.elf_so/arch/riscv/rtld_start.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/libexec/ld.elf_so/arch/riscv

2022-12-04 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Dec  5 07:26:25 UTC 2022

Modified Files:
src/libexec/ld.elf_so/arch/riscv: mdreloc.c

Log Message:
RISC-V is RELA


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/libexec/ld.elf_so/arch/riscv/mdreloc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/libexec/ld.elf_so/arch/riscv/mdreloc.c
diff -u src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.6 src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.7
--- src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.6	Sat Dec  3 09:39:44 2022
+++ src/libexec/ld.elf_so/arch/riscv/mdreloc.c	Mon Dec  5 07:26:25 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: mdreloc.c,v 1.6 2022/12/03 09:39:44 skrll Exp $	*/
+/*	$NetBSD: mdreloc.c,v 1.7 2022/12/05 07:26:25 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include 
 #ifndef lint
-__RCSID("$NetBSD: mdreloc.c,v 1.6 2022/12/03 09:39:44 skrll Exp $");
+__RCSID("$NetBSD: mdreloc.c,v 1.7 2022/12/05 07:26:25 skrll Exp $");
 #endif /* not lint */
 
 #include 
@@ -206,15 +206,15 @@ _rtld_relocate_plt_lazy(Obj_Entry *obj)
 }
 
 static int
-_rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rel *rel,
+_rtld_relocate_plt_object(const Obj_Entry *obj, const Elf_Rela *rela,
 Elf_Addr *tp)
 {
 	const Obj_Entry *defobj;
 	Elf_Addr new_value;
 
-assert(ELF_R_TYPE(rel->r_info) == R_TYPE(JMP_SLOT));
+assert(ELF_R_TYPE(rela->r_info) == R_TYPE(JMP_SLOT));
 
-	const Elf_Sym *def = _rtld_find_plt_symdef(ELF_R_SYM(rel->r_info),
+	const Elf_Sym *def = _rtld_find_plt_symdef(ELF_R_SYM(rela->r_info),
 	obj, &defobj, tp != NULL);
 	if (__predict_false(def == NULL))
 		return -1;
@@ -230,7 +230,7 @@ _rtld_relocate_plt_object(const Obj_Entr
 	}
 	rdbg(("bind now/fixup in %s --> new=%p",
 	defobj->strtab + def->st_name, (void *)new_value));
-	*(Elf_Addr *)(obj->relocbase + rel->r_offset) = new_value;
+	*(Elf_Addr *)(obj->relocbase + rela->r_offset) = new_value;
 
 	if (tp)
 		*tp = new_value;
@@ -240,7 +240,7 @@ _rtld_relocate_plt_object(const Obj_Entr
 void *
 _rtld_bind(const Obj_Entry *obj, Elf_Word reloff)
 {
-	const Elf_Rel *pltrel = (const Elf_Rel *)(obj->pltrel + reloff);
+	const Elf_Rela *pltrel = (const Elf_Rela *)(obj->pltrel + reloff);
 	Elf_Addr new_value;
 	int err;
 
@@ -257,8 +257,8 @@ int
 _rtld_relocate_plt_objects(const Obj_Entry *obj)
 {
 
-	for (const Elf_Rel *rel = obj->pltrel; rel < obj->pltrellim; rel++) {
-		if (_rtld_relocate_plt_object(obj, rel, NULL) < 0)
+	for (const Elf_Rela *rela = obj->pltrela; rela < obj->pltrelalim; rela++) {
+		if (_rtld_relocate_plt_object(obj, rela, NULL) < 0)
 			return -1;
 	}
 



CVS commit: src/libexec/ld.elf_so/arch/riscv

2022-12-04 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Dec  5 07:26:25 UTC 2022

Modified Files:
src/libexec/ld.elf_so/arch/riscv: mdreloc.c

Log Message:
RISC-V is RELA


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/libexec/ld.elf_so/arch/riscv/mdreloc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/libexec/ld.elf_so/arch/riscv

2022-12-04 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Dec  5 07:33:43 UTC 2022

Modified Files:
src/libexec/ld.elf_so/arch/riscv: rtld_start.S

Log Message:
Use the SZREG symbol instead of __SIZEOF_POINTER__ as its shorter.  Assert
that they're the same just in case.

Sprinkle some KNF whitespace while I'm here.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/libexec/ld.elf_so/arch/riscv/rtld_start.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/libexec/ld.elf_so/arch/riscv

2022-12-04 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Mon Dec  5 07:33:43 UTC 2022

Modified Files:
src/libexec/ld.elf_so/arch/riscv: rtld_start.S

Log Message:
Use the SZREG symbol instead of __SIZEOF_POINTER__ as its shorter.  Assert
that they're the same just in case.

Sprinkle some KNF whitespace while I'm here.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/libexec/ld.elf_so/arch/riscv/rtld_start.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/libexec/ld.elf_so/arch/riscv/rtld_start.S
diff -u src/libexec/ld.elf_so/arch/riscv/rtld_start.S:1.4 src/libexec/ld.elf_so/arch/riscv/rtld_start.S:1.5
--- src/libexec/ld.elf_so/arch/riscv/rtld_start.S:1.4	Sun Dec  4 17:04:06 2022
+++ src/libexec/ld.elf_so/arch/riscv/rtld_start.S	Mon Dec  5 07:33:43 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: rtld_start.S,v 1.4 2022/12/04 17:04:06 skrll Exp $	*/
+/*	$NetBSD: rtld_start.S,v 1.5 2022/12/05 07:33:43 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -34,6 +34,10 @@
 	.globl _C_LABEL(_rtld_relocate_nonplt_self)
 	.globl _C_LABEL(_rtld)
 
+#if __SIZEOF_POINTER__ != SZREG
+#error SZREG is the wrong size
+#endif
+
 /*
  * void
  * ___start(void (*cleanup)(void),
@@ -42,10 +46,10 @@
  */
 ENTRY(_rtld_start)
 	mv	s0, sp			# save stack pointer
-	addi	sp, sp, -4*__SIZEOF_POINTER__
+	addi	sp, sp, -4 * SZREG
 	# adjust stack pointer
-	# -> 2*PTR_SIZE(sp) for atexit
-	# -> 3*PTR_SIZE(sp) for obj_main
+	# -> 2 * PTR_SIZE(sp) for atexit
+	# -> 3 * PTR_SIZE(sp) for obj_main
 	mv	s1, a2			# save ps_strings pointer
 
 .L0:	auipc	gp, %pcrel_hi(_GLOBAL_OFFSET_TABLE_)
@@ -57,28 +61,28 @@ ENTRY(_rtld_start)
 	call	_C_LABEL(_rtld_relocate_nonplt_self)
 
 	mv	a1, s2			# relocbase
-	addi	a0, sp, 2*__SIZEOF_POINTER__	# sp
+	addi	a0, sp, 2 * SZREG	# sp
 	call	_C_LABEL(_rtld)		# a0 = _rtld(sp, relocbase)
 	mv	t0, a0
 
-	PTR_L	a0, 2*__SIZEOF_POINTER__(sp)	# cleanup function
-	PTR_L	a1, 3*__SIZEOF_POINTER__(sp)	# obj_main entry
+	PTR_L	a0, 2 * SZREG(sp)	# cleanup function
+	PTR_L	a1, 3 * SZREG(sp)	# obj_main entry
 	mv	a2, s1			# restore ps_strings
 	mv	sp, s0			# readjust stack
 	mv	s0, zero		# break stack chain
 	jr	t0			# _start(cleanup, obj_main, ps_strings);
 END(_rtld_start)
 
-#define	XCALLFRAME_SIZ		(12*SZREG)
-#define	XCALLFRAME_RA		(8*SZREG)
-#define	XCALLFRAME_A7		(7*SZREG)
-#define	XCALLFRAME_A6		(6*SZREG)
-#define	XCALLFRAME_A5		(5*SZREG)
-#define	XCALLFRAME_A4		(4*SZREG)
-#define	XCALLFRAME_A3		(3*SZREG)
-#define	XCALLFRAME_A2		(2*SZREG)
-#define	XCALLFRAME_A1		(1*SZREG)
-#define	XCALLFRAME_A0		(0*SZREG)
+#define	XCALLFRAME_SIZ		(12 * SZREG)
+#define	XCALLFRAME_RA		( 8 * SZREG)
+#define	XCALLFRAME_A7		( 7 * SZREG)
+#define	XCALLFRAME_A6		( 6 * SZREG)
+#define	XCALLFRAME_A5		( 5 * SZREG)
+#define	XCALLFRAME_A4		( 4 * SZREG)
+#define	XCALLFRAME_A3		( 3 * SZREG)
+#define	XCALLFRAME_A2		( 2 * SZREG)
+#define	XCALLFRAME_A1		( 1 * SZREG)
+#define	XCALLFRAME_A0		( 0 * SZREG)
 
 /*
  * t0 = obj pointer



CVS commit: src/libexec/ld.elf_so/arch/riscv

2024-07-22 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Jul 22 23:11:05 UTC 2024

Modified Files:
src/libexec/ld.elf_so/arch/riscv: mdreloc.c

Log Message:
ld.elf_so: Cite reference for RISC-V ELF relocations.

PR lib/58455: Missing references for processor-specific ELF
relocation semantics


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/libexec/ld.elf_so/arch/riscv/mdreloc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.



CVS commit: src/libexec/ld.elf_so/arch/riscv

2024-07-22 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Mon Jul 22 23:11:05 UTC 2024

Modified Files:
src/libexec/ld.elf_so/arch/riscv: mdreloc.c

Log Message:
ld.elf_so: Cite reference for RISC-V ELF relocations.

PR lib/58455: Missing references for processor-specific ELF
relocation semantics


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/libexec/ld.elf_so/arch/riscv/mdreloc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/libexec/ld.elf_so/arch/riscv/mdreloc.c
diff -u src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.9 src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.10
--- src/libexec/ld.elf_so/arch/riscv/mdreloc.c:1.9	Sun Jun  4 01:24:58 2023
+++ src/libexec/ld.elf_so/arch/riscv/mdreloc.c	Mon Jul 22 23:11:05 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: mdreloc.c,v 1.9 2023/06/04 01:24:58 joerg Exp $	*/
+/*	$NetBSD: mdreloc.c,v 1.10 2024/07/22 23:11:05 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -31,9 +31,18 @@
 
 #include 
 #ifndef lint
-__RCSID("$NetBSD: mdreloc.c,v 1.9 2023/06/04 01:24:58 joerg Exp $");
+__RCSID("$NetBSD: mdreloc.c,v 1.10 2024/07/22 23:11:05 riastradh Exp $");
 #endif /* not lint */
 
+/*
+ * RISC-V ELF relocations.
+ *
+ * Reference:
+ *
+ *	[RISCVELF] RISC-V ELF Specification, 2024-07-17.
+ *	https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/9fec6080d15e7f009c9e714d1e9b8dd7177b0b67/riscv-elf.adoc
+ */
+
 #include 
 #include 
 #include