crt0 uses a helper function in a MD src/libexec/ld.so .h file (rather than
authorderaadt <deraadt@openbsd.org>
Sat, 18 Nov 2023 16:26:15 +0000 (16:26 +0000)
committerderaadt <deraadt@openbsd.org>
Sat, 18 Nov 2023 16:26:15 +0000 (16:26 +0000)
commit1e43641e997f17b3e752e4bc940b17070ff580a3
treebce4851acc01a9e7cb1c640bb964dbc663b7150c
parent14c04d21f5f1b1a8bc5e379ecd90549539eec247
crt0 uses a helper function in a MD src/libexec/ld.so .h file (rather than
reproducing the relevant defines and code in a different place) to perform
minor relocations.  If things go very wrong, it would call _dl_exit() --
a locally defined crt0 function which is syscall exit(2).  We don't need
to call exit(2) for this obscure case which doesn't happen and provides no
debugging information. An 'abort' is going to provide better information.
So let's change the function name to _dso_abort() and make it a single
illegal instruction.
ok guenther
29 files changed:
lib/csu/aarch64/md_init.h
lib/csu/alpha/md_init.h
lib/csu/amd64/md_init.h
lib/csu/arm/md_init.h
lib/csu/boot.h
lib/csu/hppa/boot_md.h
lib/csu/hppa/md_init.h
lib/csu/i386/md_init.h
lib/csu/m88k/md_init.h
lib/csu/mips64/boot_md.h
lib/csu/mips64/md_init.h
lib/csu/powerpc/md_init.h
lib/csu/powerpc64/md_init.h
lib/csu/riscv64/md_init.h
lib/csu/sh/md_init.h
lib/csu/sparc64/md_init.h
libexec/ld.so/aarch64/archdep.h
libexec/ld.so/alpha/archdep.h
libexec/ld.so/amd64/archdep.h
libexec/ld.so/arm/archdep.h
libexec/ld.so/hppa/archdep.h
libexec/ld.so/i386/archdep.h
libexec/ld.so/m88k/archdep.h
libexec/ld.so/mips64/archdep.h
libexec/ld.so/powerpc/archdep.h
libexec/ld.so/powerpc64/archdep.h
libexec/ld.so/riscv64/archdep.h
libexec/ld.so/sh/archdep.h
libexec/ld.so/sparc64/archdep.h