[ELF] Support DW_EH_PE_sdata8 encoding in .eh_frame_hdr (#179089)
Currently, both GNU ld and lld only support
`table_enc = DW_EH_PE_datarel | DW_EH_PE_sdata4` for .eh_frame_hdr.
When a table entry exceeds the 32-bit range, we can use
`DW_EH_PE_sdata8` instead of reporting an error
(https://reviews.llvm.org/D49607 introduced the "PC offset is too large"
error). This is useful for certain large executables.
This patch auto-detects when 64-bit encoding is needed and upgrades
the encoding accordingly. We use DW_EH_PE_sdata8 when either a table
entry or eh_frame_ptr exceeds the 32-bit range.
Technically, eh_frame_ptr could remain sdata4 when only table entries
require sdata8, but there is little value in this flexibility since
.eh_frame/.eh_frame_hdr distance is a much less strict constraint than
.text/.eh_frame_hdr distance.
The implementation caches FDE data in EhFrameHeader during
[16 lines not shown]
cron: Implement full PAM session lifecycle for user jobs
Extend PAM integration beyond account checks to include credential
establishment and session management, allowing PAM modules to configure
the execution environment for user cron jobs.
Previously, cron only called pam_acct_mgmt() to verify account validity
but immediately terminated the PAM handle before job execution. This
prevented PAM modules from establishing sessions, setting credentials
(e.g., Kerberos tickets), or exporting environment variables needed by
jobs.
The PAM handle now persists in the intermediate process throughout the
job execution, enabling proper session open/close pairing. Credentials
are established and sessions opened while still running as root, before
dropping privileges in the grandchild. PAM environment variables are
exported in the job process with user crontab variables taking precedence.
A session rule (pam_permit.so) is added to /etc/pam.d/cron to enable
[10 lines not shown]
cron: Implement full PAM session lifecycle for user jobs
Extend PAM integration beyond account checks to include credential
establishment and session management, allowing PAM modules to configure
the execution environment for user cron jobs.
Previously, cron only called pam_acct_mgmt() to verify account validity
but immediately terminated the PAM handle before job execution. This
prevented PAM modules from establishing sessions, setting credentials
(e.g., Kerberos tickets), or exporting environment variables needed by
jobs.
The PAM handle now persists in the intermediate process throughout the
job execution, enabling proper session open/close pairing. Credentials
are established and sessions opened while still running as root, before
dropping privileges in the grandchild. PAM environment variables are
exported in the job process with user crontab variables taking precedence.
A session rule (pam_permit.so) is added to /etc/pam.d/cron to enable
[10 lines not shown]
17853 the last vnic will not go gentle into that good night
Reviewed by: Dan Cross <cross at oxidecomputer.com>
Reviewed by: Kyle Simpson <kyle at oxide.computer>
Approved by: Joshua M. Clulow <josh at sysmgr.org>
netstat(1): Use same width for 'Netif' column in IPv4/IPv6 cases
This utility used a narrower 'Netif' column for IPv4 than IPv6, which
looks a bit strange and is actually insufficient nowadays, since we
supports to customize the interface name. So just use the same column
width for both IPv4 and IPv6.
misc/emacs-libvterm: New port for Emacs libvterm integration
Emacs-libvterm (vterm) is fully-fledged terminal emulator inside GNU
Emacs based on libvterm, a C library. As a result of using compiled
code (instead of elisp), emacs-libvterm is fully capable, fast, and it
can seamlessly handle large outputs.
Reviewed by: jrm
Pull Request: https://github.com/freebsd/freebsd-ports/pull/480
[RISCV] Add isel patterns to form vwsll.vx/vi when the LHS is an any_extend. (#179571)
If we know the shift amount is greater than or equal to the
incoming EEW, the zext will have been converted to an anyext by
SimplifyDemandedBits. Treat this case the same as zext.
[WinEH] Fix crash object unwinding in seh block (#172287)
On Windows, prevent object unwinding when the current function uses SEH, consistent with MSVC. It also avoids EH number algorithm crashes
[MLIR][Arith] Fix crash in `arith.select` verification with mixed types (#178840)
The `BooleanConditionOrMatchingShape` trait was assuming that if the
condition was not i1, both condition and result must be `ShapedTypes`.
It would then call `AllShapesMatch` which performs a blind cast to
`ShapedType`, causing a crash when one of the operands was a scalar.
This PATCH fixes the problem.
Closes [#178230](https://github.com/llvm/llvm-project/issues/178230)