summaryrefslogtreecommitdiff
path: root/gnu
AgeCommit message (Collapse)Author
2024-07-13Implement investigate kernel corefile to lldb.ASOU Masato
2024-06-08Fix typo in last commits comment.Marcus Glocker
2024-06-07Inside LLVM, Functions become marked with exposesReturnsTwice() if theyTheo de Raadt
call a setjmp-type function (protyped with __attribute__((returns_twice)). LLVM anticipates the longjmp type function will perform a direct branch back (rather of a push;ret combo, almost certainly due to CET shadow-stack coherency difficulties). Since we have CET/IBT enforced, LLVM makes that direct branch legal by placing an endbr64 immediately after the callq. Where I was placing the ret-clean sequence... this blows up badly, in unhibernate / resume situations. In the Functions marked exposesReturnsTwice(), skip doing ret-clean. (placing the ret-clear after that endbr64 is much more difficult) observed by mglocker, diagnosed by mlarkin, kettenis, guenther.
2024-06-02add -fret-clean option (amd64 and i386 only at first), defaulting to off.Theo de Raadt
This causes the caller to cleans the return address off the stack after a callq completes. The option is best used in low-level libraries (such as libc), because libc contains low-level system call stubs. The option reduces hints (found on the stale parts of the stack) about libc.so's mapping location, and together with random-relinking, relro got/pic, and xonly makes some exploit methods more difficult. ok mortimer, mlarkin, much discussion with kettenis, in snaps for 2 weeks.
2024-06-02add -fret-clean option (amd64 and i386 only at first), defaulting to off.Theo de Raadt
This causes the caller to cleans the return address off the stack after a callq completes. The option is best used in low-level libraries (such as libc), because libc contains low-level system call stubs. The option reduces hints (found on the stale parts of the stack) about libc.so's mapping location, and together with random-relinking, relro got/pic, and xonly makes some exploit methods more difficult. ok mortimer, mlarkin, much discussion with kettenis, in snaps for 2 weeks.
2024-05-24Remove target getting in the way of config.status and causing compilationMiod Vallat
failure when using make -j; this used to be hidden because of the objective-C generated files, which are no longer built. No change for regular make.
2024-05-17Fix possible segmentation fault in Perl 5.38.2.Alexander Bluhm
When calling POSIX::setlocale() with unknown locale category, Perl could crash due to NULL dereference. found by sthen@ in smokeping build; OK afresh1@
2024-05-14Apply pre-built unicore patch - perl-5.38.2Andrew Fresh
ok gkoehler@ Commit and we'll fix fallout bluhm@ Right away, please deraadt@
2024-05-14Apply local patches - perl-5.38.2Andrew Fresh
ok gkoehler@ Commit and we'll fix fallout bluhm@ Right away, please deraadt@
2024-05-14Fix merge issues, remove excess files - match perl-5.38.2 distAndrew Fresh
ok gkoehler@ Commit and we'll fix fallout bluhm@ Right away, please deraadt@
2024-05-14Import perl-5.38.2Andrew Fresh
ok gkoehler@ Commit and we'll fix fallout bluhm@ Right away, please deraadt@
2021-03-01Import perl-5.32.1Andrew Fresh
OK sthen@
2019-12-30Import perl-5.30.1Andrew Fresh
Timing is good deraadt@, OK sthen@
2019-02-13Import perl-5.28.1Andrew Fresh
looking good sthen@, Great! bluhm@
2013-03-25import perl 5.16.3 from CPAN - worked on by Andrew Fresh and myselfStuart Henderson
2013-03-25import perl 5.16.3 from CPAN - worked on by Andrew Fresh and myselfStuart Henderson
2010-09-24Perl 5.12.2 from CPANTodd C. Miller
2024-04-12gnu/cvs: avoid a harmless configure warningTheo Buehler
Ever since the prehistoric zlib was removed last fall, the configure script would complain because of a missing file: sed: 0: /usr/src/gnu/usr.bin/cvs/zlib/Makefile.in: No such file or directory noticed by deraadt ok bluhm
2024-04-10When rewriting an ELF header (i.e. in strip and objcopy), keep theMiod Vallat
.openbsd.syscalls section with the PT_OPENBSD_SYSCALLS phdr, even though is does not have the ALLOC flag; otherwise the phdr gets rewritten with a size of zero, which prevents the binary from working. ok kettenis@
2024-03-30Provide illop1 instruction encoding as TRAP.Miod Vallat
2024-03-29No longer build the objective-C compiler (cc1obj). Its standard libraryMiod Vallat
(libobjc) had been removed from the build years ago, there is no need to keep the compiler. ok beck@ joshua@
2024-03-03For macppc, add missing CFI for cr2, cr3, cr4George Koehler
clang -S was missing a line like ".cfi_offset cr2, -16" in functions that spill cr2 (or cr3, cr4) to the stack. This was breaking a few C++ exceptions. This fix adds the missing CFI. This will fix the C++ exception that was crashing egdb from ports/devel/gdb when you did "q to quit" in the pager. ok kettenis@ tobhe@
2024-02-27Linux still doesn't actually implement IBT for userland. And by the paceMark Kettenis
things are going, it will take another decade before it does. But OpenBSD has it enabled *by default* already. Drop the #ifdef __linux__. This should hurt other OSes when they finally catch up with us. ok robert@, tb@
2024-02-19Revert the change that enabled retpoline thunks by default. The use ofMark Kettenis
retpolines makes IBT less useful and we have enabled additional mitigations in our kernel now that should make them (mostly) unnecessary. ok guenther@
2024-02-19Remove "noretpolineplt" from the list of known -z flags. Missed in theMark Kettenis
previous commit. ok guenther@
2024-02-12Revert the change that enables retpoline PLTs by default. While theseMark Kettenis
provide a mitigation against branch speculation attacks, they also make IBT control flow integrity less effective. Our kernel now uses IBPB to as a mitigation against branch speculation attacks, so we can disable retpoline PLTs again. ok deraadt@
2024-02-08Feed more generated files to the clean target; joint work with naddy@Miod Vallat
2024-02-07riscv64 fix: Handle relaxation reductions of more than 65536 bytesJeremie Courreges-Anglas
Upstream commit: https://github.com/llvm/llvm-project/commit/9d37ea95df1b84cca9b5e954d8964c976a5e303e Already needed at least by ports/math/hdf5, prerequisite if we want to enable linker relaxation (clang upstream defaults). ok kettenis@
2020-08-03Import LLVM 10.0.0 release including clang, lld and lldb.Patrick Wildt
ok hackroom tested by plenty
2024-02-06Add risc-v support code for clang -msave-restoreJeremie Courreges-Anglas
ok kettenis@
2024-02-06Fix RTARCH in our Makefile and lets us access riscv-specific implementationsJeremie Courreges-Anglas
This brings us fp_mode.c used in softfloat code, and muldi3.S used when the target ISA doesn't have the Multiply extension. ok kettenis@
2024-02-04Add minimal support for GNU_PROPERTYTheo de Raadt
2024-02-04Adapt base libstdc++ to the new ctype.h definesJeremie Courreges-Anglas
ctype_base.h is correctly installed by make includes so the transition should be automatic. If you hit a failure with this header, make sure ctype.h and ctype_base.h are in sync. ok miod@ tb@
2024-02-03On OpenBSD we always want IBT-compatible PLT entries. Currently we useMark Kettenis
repoline PLT entries that were changed to include the necessary endbr64 instructions. But with -Wl,-znoretpolineplt we would still emit non-BIT PLT entries under certain circumstances. Fix this. ok deraadt@, guenther@
2024-01-31Swap the r10 and rcx registers in the amd64 trapframe so that thePhilip Guenther
first six entries are in the same order as syscall arguments, such that syscall() can just use the trapframe as the argument vector for mi_syscall() and not need to reorder into another buffer on the stack. This doesn't affect coredump layout or ptrace(2), but does affect kernel crash dumps. Possibility noted during miod@'s cleanup of the MD syscall() implementations ok mlarkin@ kurt@
2024-01-26update libcxx, libcxxabi and libunwind to 16.0.6;Robert Nagy
tested by and input from tb@; ok kettenis@
2024-01-26merge llvm libcxx 16.0.6Robert Nagy
2024-01-26import of libcxx-16.0.6Robert Nagy
2024-01-26merge llvm libcxxabi 16.0.6Robert Nagy
2021-04-28Import libc++ 11.1.0 release.Patrick Wildt
2021-01-02Import libc++ 10.0.1 release.Patrick Wildt
2024-01-26import of libcxxabi 16.0.6Robert Nagy
2024-01-26merge llvm libunwind 16.0.6Robert Nagy
2024-01-26import of llvm libunwind 16.0.6Robert Nagy
2024-01-26merge llvm compiler-rt 16.0.6Robert Nagy
2024-01-26import llvm compiler-rt 16.0.6Robert Nagy
2021-01-02Import libc++abi 10.0.1 release.Patrick Wildt
2020-08-10Import compiler-rt 10.0.1 release.Patrick Wildt
ok kettenis@
2024-01-15From "Lorenz (xha)" (me(at)xha.li): teach binutils how to assemblePhilip Guenther
endbr{64,32} "sure" dv@ deraadt@
2024-01-11Add basic support for R_386_GOT32XJeremie Courreges-Anglas
Repairs ld.bfd operations on i386: since the switch to llvm-16 clang emits such relocations (eg one is present in /usr/lib/crtbegin.o). This unbreaks the build of ports/lang/fpc. Help and tests from tb@, ok tb@ kettenis@