Age | Commit message (Collapse) | Author |
|
compiler generate code for armv7 by default (giving us proper atomic
operations) and selects the right default ABI.
ok patrick@, tom@
|
|
ok guenther
|
|
ok patrick@
|
|
ok stefan@, jsg@, patrick@
|
|
ok patrick@, jsg@, pascal@
|
|
ok natano@
|
|
noperm builds.
ok deraadt some time ago
|
|
Some ports try to use it and fail, let's make Landry's life easier.
ok guenther@
|
|
ok deraadt
|
|
Install info and data files with -o ${DOCOWN} -g ${DOCGRP} -m ${NONBINMODE}
Prompted by natano@
Tweaks and oks deraadt@ natano@
|
|
-Wstring-plus-int -Wempty-body and -Wshift-negative-value warnings
as binutils is built with -Werror.
ok guenther@ millert@
|
|
with clang
ok guenther@
|
|
ok patrick@
|
|
ok guenther@, jsg@
|
|
noticed by and ok jsg@
|
|
ok pascal@
Original commit message:
[SSP] Do not set __guard_local to hidden for OpenBSD SSP
guard_local is defined as long on OpenBSD. If the source file contains
a definition of guard_local, it mismatches with the int8 pointer type
used in LLVM. In that case, Module::getOrInsertGlobal() returns a
cast operation instead of a GlobalVariable. Trying to set the
visibility on the cast operation leads to random segfaults (seen when
compiling the OpenBSD kernel, which also runs with stack
protection).
In the kernel, the hidden attribute does not matter. For userspace code,
guard_local is defined as hidden in the startup code. If a program
re-defines guard_local, the definition from the startup code will
either win or the linker complains about multiple definitions
(depending on whether the re-defined __guard_local is placed in the
common segment or not).
It also matches what gcc on OpenBSD does.
|
|
looks good to stefan@
|
|
does not tell our linker to produce that header for statically linked
binaries. Just create that header for all binaries and we are fine.
ok guenther@
|
|
ok jsg@
|
|
use the old libstdc++ by specifying -stdlib=libstdc++.
with hints from/looks good to patrick@, ok kettenis@
|
|
ok kettenis@
|
|
|
|
to get a working "clang" binary.
Note that you need GCC from ports to bootstrap clang.
looks good to patrick@, ok jsg@ kettenis@
|
|
|
|
ok hackroom@
|
|
ok hackroom@
|
|
shared library need to test for 'shared && !executable' so that PIE
files can optimize to initial-exec and local-exec models
ok kettenis@
|
|
for __{got,plt}_{start,end} symbols
ok kettenis@
|
|
ok and testing aoyama@
|
|
used and the m88k-specific logic can be retired
ok and testing aoyama@
|
|
generation. From daniel, ok tb
|
|
|
|
libsupc++. Passes the (limited) tests in the gcc 4.2.1 testsuite.
ok patrick@, tom@
|
|
ok guenther@
|
|
break which cannot be easily crossed.
ok kettenis@ jsg@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this version bails out if the revision has a commitid already
ok guenther deraadt tom
|
|
(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@
|