Age | Commit message (Collapse) | Author |
|
(committing without log message), but to a)bort.
ok jcs, natano; millert and tj agree
|
|
section; remove the PAD_GOT0 use that I should have deleted before. This
caused ld.so crashes on arm when building binutils.
critical debugging observations by kettenis@
|
|
Per feedback from kettenis@, Miod, and deraadt@, the padding between
text and rodata will be retained for consistency with other archs,
to minimize reliance on the R4000 EOP bug workaround, and to enable
possible future work.
ok deraadt@
|
|
Teach ld to access that and PT_GNU_RELRO in linker scripts.
ok deraadt@
|
|
have been disturbed: rework the linker script and then enable RELRO support
on all but mips64 (something something padding) and m88k (untested).
This extends the RO coverage from just .got and .cdtors to also include
.openbsd.randomdata, .jcr, .dynamic, and .data.rel.ro., and moves more
segments from the text section to the rodata section. Depends on the
previous csu and ld.so work; reinstall those *before* rebuilding ld, or
just get a snapshot.
clues from kettenis
assistance testing and ok deraadt@
|
|
ok kettenis@
|
|
when generating the link map output (-M) too
ok kettenis@
|
|
In elf.c, do not increment `s' before it is initialized. At the time
of the increment, `s' is otherwise unused anyway.
In elflink.c, initialize sec_contents and l_sec_contents to make
sure that the free(sec_contents) and free(l_sec_contents) are called
on valid pointers.
ok jca@ guenther@
|
|
OK sthen@
|
|
problem noted by Juan Francisco Cantero Hurtado (iam (at) juanfra.info)
ok deraadt@
|
|
The problem relates to Perl 5 ("perl") loading modules from the
includes directory array ("@INC") in which the last element is the
current directory ("."). That means that, when "perl" wants to
load a module (during first compilation or during lazy loading of
a module in run-time), perl will look for the module in the current
directory at the end, since '.' is the last include directory in
its array of include directories to seek. The issue is with requiring
libraries that are in "." but are not otherwise installed.
The major problem with this behavior is that it unexpectedly puts
a user at risk whenever they execute any Perl scripts from a directory
that is writable by other accounts on the system. For instance, if
a user is logged in as root and changes directory into /tmp or an
account's home directory, it is possible to now run any shell
commands that are written in C, Python or Ruby without fear.
The same isn't true for any shell commands that are written in Perl,
since a significant proportion of Perl scripts will execute code
in the current working directory whenever they are run. For example,
if a user on a shared system creates the file /tmp/Pod/Perldoc/Toterm.pm,
and then I log in as root, change directory to /tmp, and run "perldoc
perlrun", it will execute the code they have placed in the file.
ok deraadt@
|
|
|
|
|
|
|
|
|
|
This fixes a bug where XSLoader could try to load from a subdir
of the cwd when called via eval. OK afresh1@
|
|
|
|
contains -g by default anyway
problem noted by Edgar Pettijohn (edgar (at) pettijohn-web.com)
ok millert@ kettenis@ deraadt@
|
|
OK bluhm@
|
|
|
|
OK espie@ sthen@ deraadt@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Which provides hires `utime`
requested by espie@ OK millert@
|
|
|
|
|
|
ok mikeb@
|
|
No longer necessary with TIB work
from guenther@ ok sthen@
|
|
from guenther@ ok sthen@
|
|
symbol such that hidden symbols get handled properly. Gets rid of the
spurious DT_TEXTREL entries seen with (typically) C++ code.
ok deraadt@, guenther@
|
|
but we first have to make sure that our tree is clean.
ok deraadt@
|
|
to permit it and -ztext to reenable the default of forbidding it.
ok kettenis@
|
|
ok kettenis@
|
|
|
|
actually uses the fact that the PLT is in a writable segment to avoid
the dependency on the __plt_start and __plt_end symbols.
ok deraadt@
|
|
Adapted from a change to mainline gcc while it was still GPLv2.
Original diff found by stefan@
Adaptation by me
ICE caught by ml(at)extensibl(dot)com while he was porting MLton
to OpenBSD.
Ok stefan@
"Go for it" deraadt@
|
|
to always be exported so ld.so can use them. This isn't the Right Thing,
but pushing strict W^X is usefully turning up issues, so unbreak stuff
until we can slog into binutils and do the Right Thing
ok kettenis@
|
|
This greatly speeds up up linking of object files that contain
lots of dwarf2 symbols by caching symbol tables.
Original patch before binutils was switched to GPLv3 from:
https://sourceware.org/ml/binutils/2006-08/msg00334.html
Aaron Miller made us aware of that diff and adapted it to our
in-tree binutils. Many thanks!
Ports build testing on amd64 by krw@
ok deraadt@ krw@
|
|
on a binary by a software builder (ie. packager) to indicate to the kernel
that this software performs W^X violations.
ok kettenis guenther millert
|