Age | Commit message (Collapse) | Author |
|
for a little while more (a few more data tables inside text), but they are
being handled quickly
ok tb naddy
|
|
differently on files that are hardlinked and this is tripping up ports.
requested by naddy@
|
|
least amd64. Fix this by switching to the llvm strip on architectures
that use ld.lld.
ok deraadt@
|
|
In c99 any value can be initalised using a { 0 } constructor independent
of the type. Now if a struct's first member is another struct then gcc4
issues the above warning but it should not do that.
Move the warning check from push_init_level() to pop_init_level() and
check if either { 0 } or { } was used. If additional implicit braces
were added surpress the warning.
Inspired by gcc PR#64709
OK deraadt@ miod@
|
|
--execute-only option, and also indicate which ones have enabled by
default now (in our naming convention, that is arm64 and riscv64)
|
|
changed.
|
|
|
|
A bit more grumpy about bad texinfo, though.
|
|
ok kettenis
|
|
ok kettenis
|
|
allow execute-only binaries
ok miod
|
|
with --execute-only in the linker
ok kettenis
|
|
architecture by changing JUMP_TABLES_DEFAULT
ok kettenis
|
|
trying to read a branch instruction and decode it to extract the address
of the ld.so resolver function. Instead, directly execute that branch
instruction.
This is effectively a C runtime ABI change. In order to cross this if
you are building from source, make sure you install an updated ld.so
first.
ok deraadt@
|
|
ok deraadt@
|
|
classified as read-only) before .text. This makes it possible to make
.text execute-only as it no longer contains the ELF program headers.
This is achieved by forking the ELF linker script template. Adding another
level of conditionals to the existing ELF linker script template would be
utter madness.
ok deraadt@
|
|
options that does the opposite).
Note that this option is likely to be ineffective without changes to the
linker scripts. A change that adjusts the hppa linker scripts will follow
shortly. Other architectures will need some work.
ok deraadt@
|
|
linker is creating correct binaries. There can also be problems with
compilers generating incorrect data-inside-text, but those (so far minor)
issues are being resolved seperately.
ok kettenis
|
|
|
|
This will allow ports people to sprinkle -Wl,--no-execute-only across the
ports tree when necessary without having to distinguish between ld.bfd and
ld.lld arcitectures.
ok deraadt@, sthen@
|
|
Comment says because no nx support. Well, we'll soon be able to something
like nx, and need the rodata to not be mingled into the same pages as
executable, so enforce padding.
with kettenis, ok miod
|
|
The code wants a pointer to a "CORE_ADDR", thus the "(CORE_ADDR)" cast
is erroneous. Just pass NULL.
ok jsg@
|
|
Fixes build with clang 15. Input + "seems ok" from afresh1@
|
|
Error happens when mixing some PIC and non-PIC code in an LTO build/link
ld: error: linking module flags 'SmallDataLimit': IDs have conflicting values in '<REDACTED>.o' and 'ld-temp.o'
and affects a few ports now. Issue reported upstream where the proposed
fix uses llvm::Module::Min, which we don't have and would require
a backport. For now, work around this issue by downgrading to
a warning, which should have the intended effect in most cases (use the
value of the first module, which is smaller than the defaults value used
by ld-temp.o).
ok kettenis@
|
|
ok hackroom
tested by plenty
|
|
DT_RUNPATH tags by default, so that it is consistent with ld.lld.
ok millert@ miod@ kettenis@ kmos@
|
|
Use proper tag-relative values for DT_MIPS_RLD_MAP_REL tags.
This causes an ABI break on mips64. Your system must have latest ld.so
before applying this commit.
OK deraadt@ kettenis@
|
|
From FreeBSD commit 36afc9ab6c1c7fdb2e40bdcfde169501d962dd84
OK kettenis@
|
|
|
|
these sections like ld.bfd(1)
e.g:
add.c(add.o:(add)): warning: sprintf() is often misused, please use snprintf()
add.c(add.o:(add)): warning: strcpy() is almost always misused, please use strlcpy()
add.c(add.o:(add)): warning: strcat() is almost always misused, please use strlcat()
ok deraadt@
|
|
ok hackroom
tested by plenty
|
|
from brad
|
|
ok hackroom
tested by plenty
|
|
This broke readline support in newer Pythons and generally seems a
bad idea. Upstream have removed this conditional in 5.0.
ok millert
|
|
|
|
|
|
install its manual page.
Reported by vol at ljabl dot com
|
|
ok deraadt@
|
|
ok deraadt@
|
|
executables.
ok deraadt@
|
|
them into a page-aligned region in the bss, with the right markers for
kernel/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
|
|
ok hackroom
tested by plenty
|
|
ok hackroom
tested by plenty
|
|
commit aa173573198e024b065c5f6523ce26bb865781b7 from upstream
ok kettenis@
|
|
Two actively used copies of zlib in base are enough. This simplifies
handling security fixes. Now that zlib.h r1.7 is reverted, zlib ffi
works fine on 32-bit architectures.
Compared with an earlier attempt in March, this disables the Z_SOLO build
option (problem found by gkoehler) and fixes two regress tests to work
with zlib 1.2.12. Corresponding upstream commits:
https://github.com/pmqs/Compress-Raw-Zlib/commit/c44e0b732e214b7f77d42a3af6ae64e
https://github.com/pmqs/Compress-Raw-Zlib/commit/f47ea5f36c40fe19efe404dd75fd790
ok bluhm
|
|
|
|
|
|
Since llvm-profdata is in base as well, we can now produce reports from
coverage data without having to install the devel/llvm port.
OK gnezdo@
|
|
to produce 99+% correct code at all optimization levels, and can help people
who would like to tinker a bit with the backend.
(note m88k ports still use gcc 3 at the moment)
|
|
Apparently favored by deraadt@, pointed out by patrick@, ok patrick@
|