In the linkers, collect objects in section "openbsd.mutable" and placethem into a page-aligned region in the bss, with the right markers forkernel/ld.so to identify the region and skip making it im
In the linkers, collect objects in section "openbsd.mutable" and placethem into a page-aligned region in the bss, with the right markers forkernel/ld.so to identify the region and skip making it immutable.While here, fix readelf/objdump versions to show all of this.ok miod kettenis
show more ...
Change gcc and ld semantics to make static PIE the default when invoking'cc -static'. To explicitly request the legacy behaviour, use -nopie.For the few port affected by this, bumps will follow s
Change gcc and ld semantics to make static PIE the default when invoking'cc -static'. To explicitly request the legacy behaviour, use -nopie.For the few port affected by this, bumps will follow shortly.looks good to kettenis@, ok kurt@
self-relocating crt0 bits for sh, and enable static pie by default. With somearchdep.h help from kettenis@
Change the default entry point from _start to __start.ok kurt@, guenther@
Teach ld(1) not to add a PT_INTERP entry for -static -pie.ok kurt@
Backport @file support from binutils-2.17@file allows reading command line arguments from a file. Gcc now uses this topass very long arguments lists to ld.ok guenther@ miod@
We don't use the __openbsd_randomdata_{start,end} symbols, but ratherget that info via the PT_OPENBSD_RANDOM segment info, so kill the symbolsWhile here, delete the commented out lines for __DYNAMI
We don't use the __openbsd_randomdata_{start,end} symbols, but ratherget that info via the PT_OPENBSD_RANDOM segment info, so kill the symbolsWhile here, delete the commented out lines for __DYNAMIC as the questionthey ask is answered 'no'ok matthew@ back in May
Recognize PT_OPENBSD_RANDOMIZE in linker scripts.ok miod@, matthew@
Make stderr buffered in einfo(). Speeds up display of error messageson slower platforms. Idea from espie@, OK espie@ deraadt@ guenther@
VAX ELF toolchain, using `%' as the register prefix. Heavily based uponNetBSD.
Crank MAXPAGESIZE from 4KB to 64KB to match what SVR4/m88k and DG/UX do.
Disable PIE-by-default if -static (or one of its aliases) is passed on thecommand line. While technically -static only controls whether we link againststatic libraries, people expect that doing so
Disable PIE-by-default if -static (or one of its aliases) is passed on thecommand line. While technically -static only controls whether we link againststatic libraries, people expect that doing so produces a fully static binary.tested by sthen@ok pascal@, miod@
ELF toolchain for m68k, following the SysV/m68k ABI (32-bit types aligned on32-bit boundaries, function return values being in %a0 instead of %d0 if theyare declared as pointers, and in fp register
ELF toolchain for m68k, following the SysV/m68k ABI (32-bit types aligned on32-bit boundaries, function return values being in %a0 instead of %d0 if theyare declared as pointers, and in fp registers if they are floating point types).Compiler configuration bits (including a few m68k PIC code generation fixes)borrowed from NetBSD.
Generate linker scripts for shared libraries. Force padding sections aroundplt, because it may need to be written to during initial relocation.
m88k ELF toolchain, supporting static binaries only so far.Assembler supports a register prefix of `#' when configured for SVR4, and `%'when configured for OpenBSD. Pseudo-ops do not need a leadin
m88k ELF toolchain, supporting static binaries only so far.Assembler supports a register prefix of `#' when configured for SVR4, and `%'when configured for OpenBSD. Pseudo-ops do not need a leading dot, exceptwhen configured for OpenBSD, allowing the `set' instruction to be recognizedcorrectly.Based upon various unfinished or unreliable works, including smurph@'s earlywork in 2003, my own attempts in 2004 and 2005, and Michael Kato's binutils2.15 diff from 2005. Support for register prefixes, as well as fixing anevil off-by-one in resolving 16-bit pc-relative relocations in ld (which wouldonly affect kernel .S files branching to global symbols), came as part of the2012 work.Not enabled yet (needs Makefile.bsd-wrapper, bfd/config.bfd andgdb/configure.tgt updates to completely enable) so as not to disturb theexisting a.out toolchain builds; will hopefully be enabled very soon.
Add support for PIE-by-default in both ld and gcc. This is a completelydifferent approach than the one taken in kurt@'s original diff, but deemedbetter after discussion and diff exchange with kett
Add support for PIE-by-default in both ld and gcc. This is a completelydifferent approach than the one taken in kurt@'s original diff, but deemedbetter after discussion and diff exchange with kettenis@ and matthew@.Lots of feedback by kettenis@ and matthew@, prodding and encouragement byderaadt@.ok kettenis@ matthew@
Add support for .openbsd.randomdata sections and PT_OPENBSD_RANDOMIZEsegments to the kernel, ld (2.15), and ld.so. Tested on alpha, amd64,i386, macppc, and sparc64 (thanks naddy, mpi, and okan!).
Add support for .openbsd.randomdata sections and PT_OPENBSD_RANDOMIZEsegments to the kernel, ld (2.15), and ld.so. Tested on alpha, amd64,i386, macppc, and sparc64 (thanks naddy, mpi, and okan!).Idea discussed for some time; committing now for further testing.ok deraadt
Fixup ldscripts for i386 when linked with -pie (no change to non-pieldscripts). Correct the xd and xdc ldscripts (pie and pie + combreloc)on i386 and add two new variants for pie + combreloc + Z an
Fixup ldscripts for i386 when linked with -pie (no change to non-pieldscripts). Correct the xd and xdc ldscripts (pie and pie + combreloc)on i386 and add two new variants for pie + combreloc + Z and pie + Z onall arches. ok drahn@
Add __data_start symbol to all ELF archs to consistently mark the beginningof the writable sections. This is useful for garbage collectors such asboehm-gc to locate these sections in a uniform way.
Add __data_start symbol to all ELF archs to consistently mark the beginningof the writable sections. This is useful for garbage collectors such asboehm-gc to locate these sections in a uniform way.input and okay drahn@, miod@
Define superH obsd-specific emulations for ld, and use it by default.
Early bits for a 32-bit SuperH toolchain, currently for little-endiansystems only; more work is necessary in ld land.
Don't free pathname after successfull _try_needed call; it's cached in thatcase. Fixes "could not read symbols: File truncated" problems.ok deraadt@
Provide openbsd emulation for mips64el as we do for mips64.ok miod@
Regenerate.
Invoke config.sub using the shell.ok drahn@
12345