summaryrefslogtreecommitdiffstats
path: root/lib/csu/m88k/md_init.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* crt0 MD _dl_exit() performs syscall to SYS_exit directly, but thenderaadt2020-10-151-1/+2
| | | | | | | | | | | some of these functions were returning. That makes the +1word address a fairly strong and easily located gadget. Put a hard-trap instruction after the syscall. This remains a gadget for 'terminal system' calls (such as execve), but hey that's why we have pledge w/o "exec" throughout the tree. Quite surprisingly, hppa's delay-slot load of SYS_exit makes it the safest of the bunch, not that this helps anyone. ok kettenis
* use symbolic SYS_exit instead of the value 1deraadt2020-10-141-2/+2
| | | | ok kettenis
* Insert definitions of environ and __progname in MD_CRT0_START again.aoyama2018-10-061-1/+5
| | | | | | | | | | That part is not needed with a PIE toolchain, but until gcc 4 on m88k receives enough fixes to produce as good code as gcc 3, the bits in r1.5 are still required. This fixes miniperl does not work correctly while building perl on m88k. Diff is suggested by Miod Vallat, tested by him and me, ok guenther@
* Add add PIE support for m88k (requires gcc4 toolchain)guenther2018-06-161-5/+37
| | | | | | Convert __cerror to hidden visibility. from miod@
* Unbreak arm and m88k: COPY relocations for weak symbols that are overloadedguenther2016-03-241-1/+5
| | | | | | | with strong symbols in ld.so don't do what we need, so put definitions back in crt0 and make ld.so update __progname like it does environ. report and testing patrick@ jsg@
* Rearrange C runtime bits: now that ld.so exports environ and __progname,guenther2016-03-201-10/+1
| | | | | | | | | | | move their definitions and initialization in static links to libc.a Make crt0 always invoke a new func _csu_finish() in libc to process the auxv and to either register the ld.so cleanup function (in dynamic links) or initialize environ and __progname and do MC_DISABLE_KBIND (in static links). In libc, get pagesize from auxv; cache that between getpagesize() and sysconf(_SC_PAGESIZE) ok mpi@ "good time" deraadt@
* In static binaries, invoke kbind() once to disable it.guenther2015-09-011-1/+10
| | | | | With much assistance from miod@ ok deraadt@@
* Merge the per-arch crt0.c files into common_elf/crt0.c, with MD macros inguenther2013-12-031-1/+28
| | | | | | the md_init.h files. Worked out with and ok miod@; ok matthew@
* Switch m88k ports to ELF.miod2013-01-051-0/+39