musl/crt
Rich Felker 9c78557af0 use hidden visibility for C entry point function _start_c
the file-level crt_arch.h asm fragments generally make direct
(non-PLT) calls from _start to _start_c, which is only valid when
there is a local, non-interposable definition for _start_c. generally,
the linker is expected to know that local definitions in a main
executable (as opposed to shared library) output are non-interposable,
making this work, but historically there have been linker bugs in this
area, and microblaze is reportedly still broken, flagging the
relocation for the call as a textrel.

the equivalent _dlstart_c, called from the same crt_arch.h asm
fragments, has always used hidden visibility without problem, and
semantically it should be hidden, so make it hidden. this ensures the
direct call is always valid regardless of whether the linker properly
special-cases main executable output.
2024-08-10 19:49:24 -04:00
..
aarch64 aarch64 crti.o: fix alignment of _init/_fini 2024-05-12 12:17:13 -04:00
arm explicitly assemble all arm asm sources as UAL 2015-11-10 00:01:55 -05:00
i386 remove hand-written crt1.s and Scrt1.s files for all archs 2015-10-14 17:08:34 -04:00
microblaze remove hand-written crt1.s and Scrt1.s files for all archs 2015-10-14 17:08:34 -04:00
mips remove hand-written crt1.s and Scrt1.s files for all archs 2015-10-14 17:08:34 -04:00
mips64 add mips64 port 2016-03-06 17:41:56 +00:00
mipsn32 add mips n32 port (ILP32 ABI for mips64) 2016-04-18 05:19:13 +00:00
or1k add or1k (OpenRISC 1000) architecture port 2014-07-18 14:10:23 -04:00
powerpc remove hand-written crt1.s and Scrt1.s files for all archs 2015-10-14 17:08:34 -04:00
powerpc64 add powerpc64 port 2016-05-08 22:57:40 -04:00
s390x add s390x port 2016-11-11 23:06:21 -05:00
sh make sh crti/crtn init/fini fragments setup proper stack frame 2015-09-12 02:50:28 +00:00
x32 import vanilla x86_64 code as x32 2014-02-23 11:07:18 +01:00
x86_64 remove hand-written crt1.s and Scrt1.s files for all archs 2015-10-14 17:08:34 -04:00
crt1.c use hidden visibility for C entry point function _start_c 2024-08-10 19:49:24 -04:00
crti.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
crtn.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
rcrt1.c remove unnecessary and problematic _Noreturn from crt/ldso startup 2019-06-25 19:05:40 -04:00
Scrt1.c new mostly-C crt1 implementation 2013-07-26 01:49:14 -04:00