Make _eprol (and _etext) hidden. Fixes "cc -pg" on arm64 where the
authorkettenis <kettenis@openbsd.org>
Thu, 27 Jul 2023 18:17:14 +0000 (18:17 +0000)
committerkettenis <kettenis@openbsd.org>
Thu, 27 Jul 2023 18:17:14 +0000 (18:17 +0000)
current code which has a local _eprol label in the inline asm and a
global _eprol declaration results in an incorrect relocation.  This
also removes an unnecessary relocation on hppa (and possible on
other architectures as well).

ok guenther@

lib/csu/crt0.c

index e3615df..007c55a 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: crt0.c,v 1.17 2022/01/12 21:41:06 guenther Exp $      */
+/*     $OpenBSD: crt0.c,v 1.18 2023/07/27 18:17:14 kettenis Exp $      */
 
 /*
  * Copyright (c) 1995 Christopher G. Demetriou
@@ -60,7 +60,7 @@ char  ***_csu_finish(char **_argv, char **_envp, void (*_cleanup)(void));
 
 #ifdef MCRT0
 #include <sys/gmon.h>
-extern unsigned char _etext, _eprol;
+extern __dso_hidden unsigned char _etext, _eprol;
 #endif /* MCRT0 */
 
 #ifdef RCRT0