summaryrefslogtreecommitdiff
path: root/gnu
AgeCommit message (Collapse)Author
2023-01-21enable --exec-only as default on AMD64. There will be a some ports falloutTheo de Raadt
for a little while more (a few more data tables inside text), but they are being handled quickly ok tb naddy
2023-01-19Revert previous commit (but leave the man page around); llvm-strip behavesMark Kettenis
differently on files that are hardlinked and this is tripping up ports. requested by naddy@
2023-01-19The binutils strip damages GNU_RELRO on binaries linked by ld.lld on atMark Kettenis
least amd64. Fix this by switching to the llvm strip on architectures that use ld.lld. ok deraadt@
2023-01-18Adjust how gcc4 handles the "missing braces around initializer" warning.Claudio Jeker
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@
2023-01-14Update the list of architectures where clang will accept theTheo de Raadt
--execute-only option, and also indicate which ones have enabled by default now (in our naming convention, that is arm64 and riscv64)
2023-01-14Allow people to try --execute-only on amd64 and sparc64. the default isTheo de Raadt
changed.
2023-01-12Fix trivial stack buf oflowMiod Vallat
2000-02-09TexInfo 4.0. New manpages, can create html.Marc Espie
A bit more grumpy about bad texinfo, though.
2023-01-11arm64 and riscv64 can now do --execute-only by defaultTheo de Raadt
ok kettenis
2023-01-11hppa can switch over to --execute-only by default.Theo de Raadt
ok kettenis
2023-01-10like hppa, sparc64 will need gcc's jump tables option disabled toTheo de Raadt
allow execute-only binaries ok miod
2023-01-10disable jump tables by default on hppa because they are incompatibleTheo de Raadt
with --execute-only in the linker ok kettenis
2023-01-10create infrastructure so that jump tables on/off can be tweaked by anTheo de Raadt
architecture by changing JUMP_TABLES_DEFAULT ok kettenis
2023-01-09Change the __canonicalize_funcptr_for_compare() implementation to stopMark 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@
2023-01-09Generate the "combreloc" scripts for the new linker script template as well.Mark Kettenis
ok deraadt@
2023-01-09Adjust the hppa linker scripts to order .rodata (and other sectionsMark Kettenis
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@
2023-01-09Implement --execute-only (and turn --no-execute-only from a no-op into anMark Kettenis
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@
2023-01-07accept --executable-only on aarch64, riscv64, and mips64 because theTheo de Raadt
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
2023-01-05do not blow up if NOMAN is setTheo de Raadt
2023-01-05Add a dummy --no-execute-only option for compatibility with ld.lld.Mark 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@
2023-01-04on sh/landisk, ELF binaries are currently unpadded between text and rodata.Theo de Raadt
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
2022-12-27gdb: fix build with clang 15Jeremie Courreges-Anglas
The code wants a pointer to a "CORE_ADDR", thus the "(CORE_ADDR)" cast is erroneous. Just pass NULL. ok jsg@
2022-12-27perl: avoid -Wdeclaration-after-statement warning in our local patchJeremie Courreges-Anglas
Fixes build with clang 15. Input + "seems ok" from afresh1@
2022-12-16Downgrade riscv64-specific LTO error to a warningJeremie Courreges-Anglas
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@
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2022-12-08Change ld.bfd to default to --enable-new-dtags so that it generatesPhilip Guenther
DT_RUNPATH tags by default, so that it is consistent with ld.lld. ok millert@ miod@ kettenis@ kmos@
2022-12-08Fix DT_MIPS_RLD_MAP_RELVisa Hankala
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@
2022-11-29Use correct size for mips64 .rld_map section.Visa Hankala
From FreeBSD commit 36afc9ab6c1c7fdb2e40bdcfde169501d962dd84 OK kettenis@
2022-11-19correct alignment; from bradTheo de Raadt
2022-11-17add .gnu.warning.SYMBOL support to ld.lld(1) to display the warnings inRobert Nagy
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@
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2022-11-14Recognize PT_OPENBSD_MUTABLE with LLVM's readobj / objdump.Theo de Raadt
from brad
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2022-11-01Do not neuter __attribute__ with __STRICT_ANSI__Theo Buehler
This broke readline support in newer Pythons and generally seems a bad idea. Upstream have removed this conditional in 5.0. ok millert
2001-03-18GNU readline-4.1Todd C. Miller
2022-10-28Remove antique^Wolder-than-binutils-2.17 c++filt(1).Miod Vallat
2022-10-28Build and install binutils-2.17's version of c++filt(1), since we alreadyMiod Vallat
install its manual page. Reported by vol at ljabl dot com
2022-10-28Decode DT_MIPS_RLD_MAP_REL.Mark Kettenis
ok deraadt@
2022-10-28Add DT_MIPS_RLD_MAP_REL support to the in-tree GDB.Mark Kettenis
ok deraadt@
2022-10-28Implement DT_MIPS_RLD_MAP_REL support and add such an entry to PIEMark Kettenis
executables. ok deraadt@
2022-10-07In the linkers, collect objects in section "openbsd.mutable" and placeTheo de Raadt
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
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2022-09-13support more than one input file in llvm-ranlib by backportingRobert Nagy
commit aa173573198e024b065c5f6523ce26bb865781b7 from upstream ok kettenis@
2022-08-10Build the Compress::Raw::Zlib perl module with /usr/lib/libzTheo Buehler
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
2010-09-24Perl 5.12.2 from CPANTodd C. Miller
2022-08-09Pull in inflateGetHeader() buffer overflow fixTheo Buehler
2022-08-08Build llvm-cov in base.Frederic Cambus
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@
2022-07-27Force disabling the use of delay slots. This is ugly but gets the compilerMiod Vallat
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)
2022-07-26For make obj, always the lldb* and llvm-ar directoriesJeremie Courreges-Anglas
Apparently favored by deraadt@, pointed out by patrick@, ok patrick@