History log of /openbsd/gnu/usr.bin/binutils/ld/emulparams/elf32_sparc.sh (Results 1 – 11 of 11)
Revision Date Author Comments
# 007c2a45 02-Nov-2004 miod <miod@openbsd.org>

Merge conflicts, bringing our changes back in:
- extra $(SHELL) and sugar for make (so that files not mode +x still work)
- safer temp file handling
- our W^X binary layout changes in ld
- OpenBSD po

Merge conflicts, bringing our changes back in:
- extra $(SHELL) and sugar for make (so that files not mode +x still work)
- safer temp file handling
- our W^X binary layout changes in ld
- OpenBSD policy for library file selection in ld
- arm and m88k changes which were not merged in time for official 2.15
- bfd core file handling
- a couple typos

New for 2.15:
- ld(1) and as(1) manpages now generated at build time
- binutils/stabs.c reverted to use our in-tree libiberty for now
- we still use our VIA C3 crypto code over stock binutils, as it recognizes
more instructions
- new emulations for OpenBSD on mips64 machines, to help OpenBSD/sgi
- relaxed %f# handling in gas on OpenBSD/sparc64 (same as was in 2.14)

Tested on all platforms by various people; special thanks to sturm@ and
otto@.

show more ...


# c074d1c9 17-May-2004 drahn <drahn@openbsd.org>

Resolve merge conflicts, adjust method of W^X handing (.sh files)
remove testsuites (not useable) remove mmalloc (not part of new binutils).


# 66a284fd 17-Apr-2003 drahn <drahn@openbsd.org>

Switch i386 to new binutils, i386 tools now do ELF.
RODATA_* align macros to preserve current behavior on other
archs and allow for 1G sep between beginning of exe and beginning of data
DARPA funded

Switch i386 to new binutils, i386 tools now do ELF.
RODATA_* align macros to preserve current behavior on other
archs and allow for 1G sep between beginning of exe and beginning of data
DARPA funded work.

show more ...


# c3b79b47 30-Jan-2003 drahn <drahn@openbsd.org>

ELF security enhancement: put .rodata into it's own load section instead
of putting it with the text. This removes the execute permission
from readonly data. This constrains the executable region to

ELF security enhancement: put .rodata into it's own load section instead
of putting it with the text. This removes the execute permission
from readonly data. This constrains the executable region to portions
of the executable which need to be executable. Note: not all processors
or mmus are capable of -X protection at the page level, but should
handle ELF images which specify specific RWX protections on each section.

show more ...


# 58cb0658 17-Jan-2003 drahn <drahn@openbsd.org>

This is a project to modify executables so that they do not have any
executable regions which are writable. If a section of an executable is
writable and executable, it is much easier for errant code

This is a project to modify executables so that they do not have any
executable regions which are writable. If a section of an executable is
writable and executable, it is much easier for errant code to modify the
executable's behavior.

Two current areas in shared library environments which have this
critical problem are the GOT (Global Offset Table) and PLT (Procedure
Linkage Table). The PLT is required to be executable and both GOT and
PLT are writable on most architectures. On most ELF architecture
machines this would cause shared libraries to have data and BSS marked
as executable.

Padding to the linker script for programs and shared libraries/objects
to isolate the GOT and PLT into their own load sections in the
executables. This allows only the text(readonly) region and the PLT
region to be marked executable with the normal data and BSS not marked
as executable. The PLT region is still marked executable on most
architectures because the PLT lives in the "data" or "BSS" regions
and the dynamic loader will need to modify it. Since the GOT and PLT
should only ever be written by the dynamic linker, it will be modified
to mprotect those regions so that they are not writable during normal
execution. If the dynamic linker needs to modify the regions later,
(eg for lazy binding), it will mprotect the region, make the necessary
changes, and mprotect it back. Since it is possible to receive a
signal which would interrupt the program flow and perhaps cause the
dynamic linker to modify the same (or nearby) PLT references, it is now
necessary for signals to be blocked for the duration of the mprotect.

show more ...


# 76637d3f 23-Sep-2002 art <art@openbsd.org>

In an ELF binary the end of the text segment and the start of the data
segment can share the same page in the file. Since we can't mmap it with
the same permissions, the data segment is loaded offset

In an ELF binary the end of the text segment and the start of the data
segment can share the same page in the file. Since we can't mmap it with
the same permissions, the data segment is loaded offset by a constant so
that it ends up in a different page.

On sparc that's not really enough. To avoid cache aliases we have to make
the offset big enough to make sure that we don't get incoherent aliases
that would have to be mapped uncached. This offset has been 64k this
far and noone noticed until some change actually made us fault in those
pages at the same time and incoherent aliases reduced make build time on
some hypersparcs (only hypersparcs have big enough caches to notice this)
from 14 hours to 23 hours.

Bump that offset (MAXPAGESIZE) to 1MB.

deraadt@ ok

show more ...


# 6a4c786f 12-Sep-2000 espie <espie@openbsd.org>

Resolve other problems that dumb cvs can't find out by itself.

(trivial part done, `interesting' patches remain)


# b305b0f1 12-Sep-2000 espie <espie@openbsd.org>

Help stupid cvs fixing basic conflicts.


# f7cc78ec 12-Sep-2000 espie <espie@openbsd.org>

Import binutils-2.10
- only the binutils package (no gdb here)
- don't import libiberty and texinfo, they are elsewhere
- remove all .info* generated files


# fddef416 29-May-1997 niklas <niklas@openbsd.org>

Import of binutils-2.8.1 from Cygnus/FSF


# 2159047f 08-Jan-1996 niklas <niklas@openbsd.org>

Initial GNU binutils 2.6 import