Search host bridge on all devices from PCI bus 0
We look for host bridge MSI capability to enable MSI on PCI devices,
which require locating the host bridge itself. Previously we assumed
it was on bus 0, device 0, but that assmption misses some setups.
For instance, Dell Poweredge r760xd2 has its host bridge on bus 0,
device 20, function 4.
This change iterates on all devices on bus 0 to find the host bridge.
src/Makefile: update a reference to where MKUPDATE is documented
It was removed from share/mk/bsd.README in r. 1.445 back in 2023.
(Perhaps redundant because of the other mk.conf.5 reference lower
down, but, it was obviously felt it needed particular attention.)
fix the i386 build.
format specifiers didn't match between Dwarf_* types and printf(),
and since some of them want to be "long long unsigned" on i386,
force everything to be that type and those printf formats.
If a KERNEL_DIR=yes kernel is booted via a "naked" filename (Ie, no
directory name) use the old-style /stand/... for module path. This
eases transition to the neew order.
While here, ignore any leading '/' in the booted kernel name; the
boot code always does lookups from the root of the directory tree.
Should address kern/59394
lint: in a parameter declaration using typedef, keep the qualifiers
While C23 6.7.7.4p6 doesn't explicitly mention this particular case of a
'const typedef', keeping the qualifiers fixes a warning in probably
legitimate code.
Seen in cvs, regex_internal.c, function 'bitset_contain'.
openssh: Fix version number typo
Looks like a merge error, based on a diff between the vendor branch
versions of the version.h file (1.1.1.39 and 1.1.1.40).
lint: add more details to message about discarding qualifiers
The name of the function (or, if not available, its type) is useful in
lines that contain more than one function call.
Make readlink(1) compliant with the POSIX-2004 (Issue 8).
POSIX 2004 requires that if a given file name to readlink(1)
doesn't refer to a symlink, an error be printed.
That conflicts with historic usage on NetBSD where readlink is
silent in that case (except for the exit status) -- rather than
altering our default behaviour, look for POSIXLY_CORRECT in the
environment, and issue an error only in that case (just means
switching between -q and -v as the default noise option).
While here, generate usage if no file args are given - POSIX
requires at least 1 (it actually specifies exactly 1) and while
we can extend that without issues to allow more than one, allowing
0 args (just because we do that for stat(1) and readlink(1) is
the same code) makes no sense at all for readlink - stdin cannot
possibly be a symbolic link.
Also, in the case of stat(1) if we do have no args, and the
[8 lines not shown]
PR bin/47333
Note that -L will fall back to use lstat() if the stat() requested
returns ENOENT (if the following lstat() fails, the ENOENT from
the lstat() is returned - that generally indicates that the original
ENOENT came from the filename passed to stat() rather than the
value of the symlink. (The man page doesn't say all of that.)
If "stat -L name" returns data from a symlink (eg: if -f %T is @)
then name must refer to a symlink which points to nothing.
(The man page does say that.)
arm: Nix most __PIC__ conditionals in .S files.
New macros PCREL_GET(rN,label,pclabel) and PCREL_SYM(label,pclabel)
to enable this by the pattern:
ldr rN, label
#ifdef __PIC__
pclabel:
add rN, rN, pc
#endif
...
label:
#ifdef __PIC__
.word (label - (pclabel + 2*sizeof(instruction)))
#else
.word label
#endif
(sizeof(instruction) = 2 for thumb, 4 for non-thumb.)
[14 lines not shown]