Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-04-18 | It's been a quarter century: we can assume volatile is present with that name. | Philip Guenther | |
2014-02-22 | Increase _STACKALIGNBYTES to 15 (was 7), and make sure the stack is aligned | Miod Vallat | |
to a 16 byte boundary in csu (similar to what the other arches where _STACKALIGNBYTES != _ALIGNBYTES do). This is necessary for long double variables on the stack to be correctly aligned. | |||
2014-01-14 | build crt*S with -fPIC instead of -fpic | Miod Vallat | |
2013-12-28 | Move atexit(3) into crtbegin.c and certbeginS.c such that we can pass the | Mark Kettenis | |
right __dso_handle and have dlopen'ed shared objects run their atexit handlers when they get unloaded. This is what Linux does, and several ports depend on this behaviour (and will crash upon exit without this chang). Based on an earlier diff from matthew@ Tested by ajacoutot@ ok deraadt@ | |||
2013-12-23 | Add assembly code to set up the arguments for the common C startup code. This | Mark Kettenis | |
means we no longer rely on how the C compiler sets up the initial stack frame and allows us to get rid of MD_NO_CLEANUP. ok deraadt@, guenther@ | |||
2013-12-23 | Sync Makefile with what other platforms do; makes dependency tracking actually | Mark Kettenis | |
work. ok deraadt@, guenther@ | |||
2013-12-20 | Fix typo, allow hppa64 to build a little further | Tobias Ulmer | |
2013-12-12 | Fix static linking of libpthread: have crt0 invoke __init_tcb() if it's | Philip Guenther | |
defined and we don't think ld.so has already done the TCB setup. ok and much discussion miod@ | |||
2013-12-04 | correct frame handling | Theo de Raadt | |
with and ok guenther | |||
2013-12-03 | Merge the per-arch crt0.c files into common_elf/crt0.c, with MD macros in | Philip Guenther | |
the md_init.h files. Worked out with and ok miod@; ok matthew@ | |||
2006-10-10 | Preliminary userland bits for OpenBSD/landisk, many things coming from | Miod Vallat | |
NetBSD. | |||
2013-12-01 | mips64 no longer uses scrt0.o, and it was identical to crt0.o anyway. | Philip Guenther | |
Delete unused #ifndef SCRT0 conditionals. ok miod@ | |||
2013-11-10 | The kernel and ld.so have passed 0 in r0 for use as the cleanup | Philip Guenther | |
callback for about a year, so it's safe to make __start() pass that as the cleanup argument to ___start(), and have *that* conditionally pass it to atexit(). Eliminate the no-longer-used obj and ps_strings arguments to position things correctly, simplifying the ASM wrapper slightly. ok kettenis@ miod@; testing patrick@ | |||
2013-11-10 | The kernel and ld.so have passed 0 in r7 for use as the cleanup | Philip Guenther | |
callback for about a year, so it's safe to make __start() treat that as the cleanup argument and conditionally pass it to atexit(). Eliminate the no-longer-used obj and ps_strings arguments to position things correctly, which lets us eliminate the ASM wrapper completely. ok kettenis@ miod@ | |||
2013-11-10 | The kernel and ld.so pass 0 in %rdx for use as the cleanup callback | Philip Guenther | |
for about a year, so it's safe to add the test and atexit() call. While here, drop the no-longer-used obj and ps_strings and the asm to set those up, switch from sys/param.h to limits.h, and ANSIfy. ok kettenis@ | |||
2013-09-08 | Remove a.out leftovers. (it's september now) | Miod Vallat | |
2013-07-05 | VAX ELF userland bits. Consists mostly of register prefix additions. | Miod Vallat | |
2013-05-08 | Don't declare ___start static, for gcc4 would optimize it out. | Miod Vallat | |
2013-02-02 | Userland bits for m68k/ELF. Mostly addition of register prefixes to the | Miod Vallat | |
assembler instructions, and cope with the few changes in return values location. | |||
2013-01-15 | build crt{begin,end}S.o with -fpic. | Miod Vallat | |
2013-01-05 | Switch m88k ports to ELF. | Miod Vallat | |
2012-12-31 | Spell `calculation' correctly. | Miod Vallat | |
2012-12-24 | Register cleanup handler passed by ld.so with atexit(3). | Mark Kettenis | |
tested by benno@ | |||
2012-12-24 | Register cleanup handler passed by ld.so with atexit(3). Fix stack alignment. | Mark Kettenis | |
ok guenther@ | |||
2012-12-23 | Register cleanup handler passed by ld.so with atexit(3). | Mark Kettenis | |
2012-12-23 | Explicitly align the stack on a 16-byte boundary such that constructors can | Mark Kettenis | |
use SSE instructions. In principle we should be able to rely on the stack to be aligned properly, but the i386 calling convention makes this rather fragile. ok guenther@, deraadt@ | |||
2012-12-22 | Register cleanup handler passed by ld.so with atexit(3). | Mark Kettenis | |
ok kurt@ | |||
2012-12-19 | crtbeginS.o needs to be built with -fPIC, otherwise bloated shared libraries | Mark Kettenis | |
silently crash when running constructors. Tested by landry@. ok beck@ | |||
2012-12-05 | Remove excessive sys/cdefs.h inclusion | Theo de Raadt | |
ok guenther millert kettenis | |||
2012-11-01 | Register cleanup handler passed by ld.so with atexit(3). | Mark Kettenis | |
ok kurt@ | |||
2012-09-08 | Reverse the order that ctors and dtors are run in accordance with | Matthew Dempsky | |
GCC's documentation. Fixes GNU C++'s init_priority attribute. ok miod | |||
2012-08-28 | Add __guard_local as a hidden symbol to ld.so, kernel, and every | Matthew Dempsky | |
executable and DSO (via crtbegin.c/crtbeginS.c). Not used yet, but needed before GCC can start emitting -fstack-protector code that uses them instead of __guard. | |||
2012-08-22 | Convert cpp | as rules in bsd.lib.mk and lib/libc/sys/Makefile.inc to pure cc | Pascal Stumpf | |
invocations. This allows us to use the compiler builtin define __PIC__ to check for PIC/PIEness rather than passing -DPIC. Simplifies PIE work a lot. ok matthew@, conceptually ok kurt@ | |||
2012-04-12 | the fpu control symbol on sh (__fpscr_values) suddenly becomes local | Jonathan Gray | |
instead of global with gcc4 and this ends up breaking things in hard to debug ways. So move the definition to csu instead of libgcc. ok miod@ | |||
2011-11-08 | Pass install the -S option to avoid a window where the target isn't | Philip Guenthe | |
executable (by mode or content), which can trip up builds with 'make -j' (The generic fix is in share/mk/*; some Makefiles have their own INSTALL lines) ok millert@ deraadt@ | |||
2011-09-19 | Use long calls like we do on hppa, otherwise the function we want to call | Mark Kettenis | |
might be unreachable. | |||
2011-08-19 | Make sure the stack is properly aligned for using SSE instructions. While | Mark Kettenis | |
our in-tree compiler will emit code to do this at the start of main(), other compilers might not do that. ok miod@ | |||
2011-07-09 | On hppa64 we need to use __gp instead of $global$. | Mark Kettenis | |
2011-07-04 | enter ia64 for obj | Theo de Raadt | |
2011-07-04 | Add csu ia64 support. | Paul Irofti | |
2011-04-20 | Implement correct prologue and epilogue for hppa64. | Joel Sing | |
ok kettenis@ | |||
2011-03-31 | Make sure everything run from .init and .fini sections gets a properly aligned | Mark Kettenis | |
stack. ok fgsch@ | |||
2011-03-30 | Make sure everything run from .init and .fini sections gets a properly aligned | Mark Kettenis | |
stack. ok deraadt@, fgsch@ | |||
2010-12-24 | crtbeginS.o needs to be buit with -fPIC; with -fpic the relocations for the | Mark Kettenis | |
gcc3/4 exception handling related symbols will be truncated causing linker failures when building shared libraries. ok drahn@, deraadt@, miod@ | |||
2010-09-12 | Since the stack layout changes from gcc3 to gcc4, change the inline asm to | Mark Kettenis | |
deal with this. ok miod@ | |||
2010-05-01 | Sprinkle a few __used markers to prevent gcc4 from throwing away essential | Mark Kettenis | |
bits of code and data. With this change gcc4 builds usable crt*.o on sparc64, other architectures probably need some more love. ok marco@, jsg@ | |||
2010-02-03 | Use MACHINE_CPU instead of MACHINE_ARCH to pick the correct machine dependent | Miod Vallat | |
files or directories when applicable. The inspiration and name of MACHINE_CPU come from NetBSD, although the way to provide it to Makefiles is completely different. ok kettenis@ | |||
2009-12-10 | Make sure to use 64 bit instructions in the assembly statements (addi -> daddi) | Miod Vallat | |
in the prologue; this gives a chance for binaries loaded with their stack over 2GB virtual, to run. Who's your daddi now? | |||
2009-10-28 | rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and | Theo de Raadt | |
unmaintainable). these days, people use source. these id's do not provide any benefit, and do hurt the small install media (the 33,000 line diff is essentially mechanical) ok with the idea millert, ok dms | |||
2009-07-14 | Don't specify mode(SI) attribute for __EH_FRAME_END__ as we have | Jonathan Gray | |
32 bit ints on OpenBSD. ok kettenis@ |