Nothing depends on archdep.h pulling in other #includes anymore,
authorguenther <guenther@openbsd.org>
Mon, 17 Jan 2022 01:35:36 +0000 (01:35 +0000)
committerguenther <guenther@openbsd.org>
Mon, 17 Jan 2022 01:35:36 +0000 (01:35 +0000)
so delete the #includes and hide the RELOC_* functions that are
only used by lib/csu behind "#ifdef RCRT0"

these are the ones I tested; kettenis@ was on board with the concept

libexec/ld.so/aarch64/archdep.h
libexec/ld.so/amd64/archdep.h
libexec/ld.so/arm/archdep.h
libexec/ld.so/i386/archdep.h
libexec/ld.so/powerpc/archdep.h
libexec/ld.so/sh/archdep.h
libexec/ld.so/sparc64/archdep.h

index 692b0da..8e6fa7d 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: archdep.h,v 1.7 2021/11/14 22:07:38 guenther Exp $ */
+/*     $OpenBSD: archdep.h,v 1.8 2022/01/17 01:35:36 guenther Exp $ */
 
 /*
  * Copyright (c) 1998 Per Fogelstrom, Opsycon AB
 #define        RELOC_TAG       DT_RELA
 #define        MACHID          EM_AARCH64      /* ELF e_machine ID value checked */
 
-#include <elf.h>
-#include <machine/reloc.h>
-#include "syscall.h"
-#include "util.h"
-
-
 /* Only used in lib/csu/boot.h */
+#ifdef RCRT0
+
 static inline void
 RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
 {
@@ -53,4 +49,5 @@ RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
        }
 }
 
+#endif /* RCRT0 */
 #endif /* _AARCH64_ARCHDEP_H_ */
index c3bf017..f717f9c 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: archdep.h,v 1.14 2021/11/14 22:07:38 guenther Exp $   */
+/*     $OpenBSD: archdep.h,v 1.15 2022/01/17 01:35:36 guenther Exp $   */
 
 /*
  * Copyright (c) 1998 Per Fogelstrom, Opsycon AB
 #define        RELOC_TAG       DT_RELA
 #define        MACHID          EM_AMD64        /* ELF e_machine ID value checked */
 
-#include <elf.h>
-#include <machine/reloc.h>
-#include "syscall.h"
-#include "util.h"
-
-
 /* Only used in lib/csu/boot.h */
+#ifdef RCRT0
+
 static inline void
 RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
 {
@@ -53,4 +49,5 @@ RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
        }
 }
 
+#endif /* RCRT0 */
 #endif /* _X86_64_ARCHDEP_H_ */
index 198bc7f..c6adff4 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: archdep.h,v 1.14 2021/11/14 22:07:38 guenther Exp $ */
+/*     $OpenBSD: archdep.h,v 1.15 2022/01/17 01:35:36 guenther Exp $ */
 
 /*
  * Copyright (c) 1998 Per Fogelstrom, Opsycon AB
 #define        RELOC_TAG       DT_REL
 #define        MACHID          EM_ARM          /* ELF e_machine ID value checked */
 
-#include <elf.h>
-#include <machine/reloc.h>
-#include "syscall.h"
-#include "util.h"
-
-
 /* Only used in lib/csu/boot.h */
+#ifdef RCRT0
+
 static inline void
 RELOC_DYN(Elf_Rel *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
 {
@@ -53,4 +49,5 @@ RELOC_DYN(Elf_Rel *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
        }
 }
 
+#endif /* RCRT0 */
 #endif /* _ARM_ARCHDEP_H_ */
index d0462ca..65dcaab 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: archdep.h,v 1.22 2021/11/14 22:07:38 guenther Exp $ */
+/*     $OpenBSD: archdep.h,v 1.23 2022/01/17 01:35:36 guenther Exp $ */
 
 /*
  * Copyright (c) 1998 Per Fogelstrom, Opsycon AB
 #define        RELOC_TAG       DT_REL
 #define        MACHID          EM_386          /* ELF e_machine ID value checked */
 
-#include <elf.h>
-#include <machine/reloc.h>
-#include "syscall.h"
-#include "util.h"
-
-
 /* Only used in lib/csu/boot.h */
+#ifdef RCRT0
+
 static inline void
-RELOC_DYN(Elf_Rel *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
+RELOC_DYN(const Elf_Rel *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
 {
 
        if (ELF_R_TYPE(r->r_info) == RELOC_RELATIVE) {
@@ -54,4 +50,5 @@ RELOC_DYN(Elf_Rel *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
        }
 }
 
+#endif /* RCRT0 */
 #endif /* _I386_ARCHDEP_H_ */
index 5baae02..678672b 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: archdep.h,v 1.24 2021/11/14 22:07:39 guenther Exp $ */
+/*     $OpenBSD: archdep.h,v 1.25 2022/01/17 01:35:36 guenther Exp $ */
 
 /*
  * Copyright (c) 1998 Per Fogelstrom, Opsycon AB
 #define        RELOC_TAG       DT_RELA
 #define        MACHID          EM_PPC          /* ELF e_machine ID value checked */
 
-#include <elf.h>
-#include <machine/reloc.h>
-#include "syscall.h"
-#include "util.h"
-
 
 static inline void
-_dl_dcbf(Elf_Addr *addr)
+_dl_dcbf(void *addr)
 {
        __asm__ volatile ("dcbst 0, %0\n\t"
            "sync\n\t"
@@ -50,8 +45,10 @@ _dl_dcbf(Elf_Addr *addr)
 }
 
 /* Only used in lib/csu/boot.h */
+#ifdef RCRT0
+
 static inline void
-RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
+RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
 {
        if (ELF_R_TYPE(r->r_info) == RELOC_RELATIVE) {
                *p = v + r->r_addend;
@@ -74,4 +71,5 @@ RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
        }
 }
 
+#endif /* RCRT0 */
 #endif /* _POWERPC_ARCHDEP_H_ */
index ba3febb..d56c32b 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: archdep.h,v 1.13 2021/11/14 22:07:39 guenther Exp $ */
+/*     $OpenBSD: archdep.h,v 1.14 2022/01/17 01:35:36 guenther Exp $ */
 
 /*
  * Copyright (c) 1998 Per Fogelstrom, Opsycon AB
 #define        RELOC_TAG       DT_RELA
 #define        MACHID          EM_SH           /* ELF e_machine ID value checked */
 
-#include <elf.h>
-#include <machine/reloc.h>
-#include "syscall.h"
-#include "util.h"
-
-
 /* Only used in lib/csu/boot.h */
+#ifdef RCRT0
+
 static inline void
-RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
+RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
 {
        if (ELF_R_TYPE(r->r_info) == R_SH_RELATIVE) {
                *p = v + r->r_addend;
@@ -51,4 +47,5 @@ RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
        }
 }
 
+#endif /* RCRT0 */
 #endif /* _SH_ARCHDEP_H_ */
index 3b80044..3a7b2d5 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: archdep.h,v 1.27 2021/11/14 22:07:39 guenther Exp $ */
+/*     $OpenBSD: archdep.h,v 1.28 2022/01/17 01:35:36 guenther Exp $ */
 
 /*
  * Copyright (c) 1998 Per Fogelstrom, Opsycon AB
 #define        RELOC_TAG       DT_RELA
 #define        MACHID          EM_SPARCV9      /* ELF e_machine ID value checked */
 
-#include <elf.h>
-#include <machine/reloc.h>
-#include "syscall.h"
-#include "util.h"
-
-
 /* Only used in lib/csu/boot.h */
+#ifdef RCRT0
+
 static inline void
-RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
+RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
 {
        if (ELF_R_TYPE(r->r_info) == RELOC_RELATIVE) {
                *p = v + r->r_addend;
@@ -49,4 +45,5 @@ RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
        }
 }
 
+#endif /* RCRT0 */
 #endif /* _SPARC64_ARCHDEP_H_ */