Commit Graph

306427 Commits

Author SHA1 Message Date
riastradh 20b05e74e4 tests/lib/libm/t_fe_round.c: Tidy.
nextafter/nexttoward tests didn't make much sense, and are now
supplanted by t_next.

PR misc/58054
2024-05-09 12:18:28 +00:00
pho 3dc92541ec port-arm/58194: Resurrect vmt(4) from bitrot
On this architecture vmt(4) used to search for a node "/hypervisor" in the
FDT and probed the VMware hypervisor call only when the node was
found. However, things appear to have changed and VMware no longer provides
the FDT node.

Since vmt(4) doesn't actually need to read anything from FDT, and the
hypervisor call logically resides in virtual CPUs themselves, it would be
better to attach it directly to cpu, just like how it's probed on x86.
2024-05-09 12:09:58 +00:00
rillig 151775b8cf lint: in C23 mode, support the nullptr constant 2024-05-09 11:08:07 +00:00
nia cbd7fd84d4 unhook libXxf86misc from the build and mark obsolete
library has no users in src or pkgsrc, it's primarily useful for
managing input devices on mid-2000s xfree86 servers
2024-05-09 06:38:27 +00:00
nia 6543f2f229 stop using and linking against libXxf86misc
support for this extension was removed from xorg in 2008,
our xorg-server and our xorg-server.old can't use it.
2024-05-09 06:34:50 +00:00
kre 966af04570 No point testing if the spec file is empty before running makespec,
the previous commands guarantee that cannot be the case, so makespec
was never being run.   Just run it unconditionally.

Seems to fix the build for me.
2024-05-09 03:41:05 +00:00
mrg 63829c3207 fix gcc 12 support. 2024-05-09 02:14:21 +00:00
dyoung 0d209957b5 If the ACPI flag "non-removable" is present and true for an SD/MMC
slot, then set a new flag on that slot to indicate that the media
is non-removable.  Make sdhc_card_detect always return true for a
slot if its non-removable media flag is set.

This change lets the kernel automatically configure the
permanently-installed MMC slot on the NXP LX2160-based HoneyComb
LX2 board.
2024-05-09 01:33:12 +00:00
riastradh 5499b93eb2 libm: Split expected symbols in mips further by 32-bit vs 64-bit.
32-bit has binary64 long double, same as double; 64-bit has binary128
long double, which is implemented with a few more symbols in libm
(which should maybe be hidden internal symbols, but let's get this
diagnostic measure in the build working before we think about
possibly deleting private symbols).
2024-05-09 00:04:23 +00:00
riastradh 8e8afff063 libm: Record expected symbols for sh3. 2024-05-08 23:28:31 +00:00
riastradh c0a4905dd8 libm: Split expected symbols on arm and mips by hard/soft float. 2024-05-08 23:28:07 +00:00
riastradh 47b9ac9413 tests/lib/libm/t_fe_round: xfail for modfl uses.
PR lib/58237: modfl returns wrong answers on ld128 architectures
2024-05-08 22:59:07 +00:00
riastradh 03e019893b tests/lib/libm/t_modf: Mark modfl xfail on ld128.
PR lib/58237: modfl returns wrong answers on ld128 architectures
2024-05-08 22:57:37 +00:00
riastradh 40fb0c39c9 bsd.lib.mk: Use LIBC_MACHINE_ARCH/CPU if set for expected symbols.
Otherwise, we get the wrong list of symbols for compat library
builds, where MACHINE_ARCH/CPU is different from
LIBC_MACHINE_ARCH/CPU, e.g. building compat 32-bit sparc libm on
sparc64.

XXX This is kinda kludgey -- `libc' seems wrong here.
2024-05-08 20:38:55 +00:00
riastradh 1252743ac7 tests/lib/libc/stdio/t_printf: Add another %La test.
This one was adapted from the screw case shown in

https://mail-index.netbsd.org/tech-userlevel/2020/04/11/msg012329.html

which wasn't broken in our libc, but which nevertheless prompted us
to commit a wrong and apparently untested patch that has rendered
printf %La broken for the last four years, which is a little
embarrassing.  (The part of that patch that led to a buffer overrun
has been worked around, so now the output is just incorrect.)

PR lib/56937: printf(3) long double %a formatting is broken
2024-05-08 20:23:15 +00:00
riastradh 65c3528ff8 tests/lib/libc/stdio/t_printf: Fix %a test the same way. 2024-05-08 20:19:37 +00:00
riastradh 1076b20b39 tests/lib/libc/stdio/t_printf: Fix %La test.
0xa.99ap+0 is closer to (long double)10.6 in x86 ld80 and in
binary128 (and possibly more formats, haven't verified).
2024-05-08 20:04:33 +00:00
riastradh 5c6dfe9899 tests/lib/libc/stdio/t_printf: Add a couple simple %La tests.
PR lib/56937: printf(3) long double %a formatting is broken
2024-05-08 18:19:57 +00:00
riastradh e37d2bb0d8 tests/lib/libm/t_next: Expand substantially.
This covers many more potential problem areas -- and includes a new
xfail test for PR lib/58236: nexttoward(3) is broken on subnormals.
2024-05-08 17:27:03 +00:00
christos 1faf623fbf fix clang lint build (except for the programs that enables -T) 2024-05-08 16:53:34 +00:00
christos 4967e4351f Fail on incomplete mtree specs 2024-05-08 16:08:08 +00:00
christos 0fe82aa40b Add an option to warn and error out for mtree missing entries. 2024-05-08 15:57:56 +00:00
wiz 71dca2bb1e gcc 14.1 out 2024-05-08 09:52:07 +00:00
riastradh 078777ba38 libm: Add rintl, rintf to non-IEEE754 architectures.
While here, delete #ifdef to handle ns32k -- I don't think that's
gonna be relevant any time soon; in case you hadn't noticed, the
world has moved on from ns32k to vax by now.

PR 57881
2024-05-08 02:08:11 +00:00
riastradh 51f70d1537 libm: ldbl_dummy.c is no longer needed -- nix it. 2024-05-08 01:58:52 +00:00
riastradh 81421ada3b libm: Don't export symbol `pio4' from s_cosl.c.
This appears to have been added unintentionally in the recent FreeBSD
long double update, and never went out in a release.
2024-05-08 01:42:23 +00:00
riastradh 9ff0c4291d libm: Do the weak alias dance for sin/cos/tan/finite{,f}.
tan isn't used internally, but it's confusing for it to be treated
differently from sin and cos, and there's no harm in doing the dance
unnecessarily.
2024-05-08 01:40:26 +00:00
riastradh b6653282bf libm/arch/m68k: Do the weak alias dance for finite.
This is used internally.
2024-05-08 01:05:25 +00:00
riastradh 62e6bb72de libm/arch/mc68881: Do the weak alias dance for sin, cos, tan.
These are used internally.
2024-05-08 01:04:40 +00:00
riastradh 62841561df libm/arch/vax: Do the weak alias dance for finite, finitef.
These are used internally.
2024-05-08 01:04:24 +00:00
riastradh 89f1761863 libm/arch/i387: Do the weak alias dance for finite and finitef.
These are used internally by some things.
2024-05-08 01:04:03 +00:00
riastradh 06a9ffe262 libm: Add expected symbols for m68k.
Not sure if this'll work for all ports -- we might need to split it
up finer-grained by different m68k flavours -- but let's give it a
try and see what breaks.
2024-05-07 23:13:32 +00:00
riastradh 5f4c33f35e lib/libm/arch/m68060: regen 2024-05-07 22:51:19 +00:00
riastradh f349ddea9b lib/libm/m68060/makeas.sh: Delimit symbols with END.
This way we get symbol sizes in the ELF output.
2024-05-07 22:30:16 +00:00
riastradh 9750c027c7 lib/libm/arch/m68060/makeas.sh: Create public weak aliases.
Use _foo for internal names, and weak alias foo when it's public like
sin/cos/tan.
2024-05-07 22:29:53 +00:00
riastradh 2e8caa3647 lib/libm/m68060/makeas.sh: Use `set -eu' to detect script mistakes.
No functional change intended.
2024-05-07 22:19:42 +00:00
riastradh b1bc5af1e1 lib/libm/m68060/makeas.sh: Pass arguments to dummy more idiomatically.
No functional change intended.
2024-05-07 22:18:19 +00:00
riastradh 150c79c867 lib/libm/m68060/makeas.sh: Use local for shell functions.
No functional change intended.
2024-05-07 22:17:24 +00:00
riastradh a45e4331c1 lib/libm/arch/m68060/makeas.sh: Indent sh blocks.
No functional change intended.
2024-05-07 22:17:08 +00:00
riastradh 5bc608efaf lib/libm/arch/m68060: regen 2024-05-07 21:18:47 +00:00
riastradh bd91cc76f2 lib/libm/arch/m68060/makeas.sh: Strip the $ when emitting RCS id. 2024-05-07 21:14:12 +00:00
rillig 1cdc580354 lint: in C23 mode, support the keywords 'bool', 'false' and 'true' 2024-05-07 21:13:26 +00:00
riastradh 8383bd5dda libm/arch/m68060/Makefile: bsd.sys.mk -> bsd.host.mk
Somewhat belatedly, after bsd.sys.mk was forbidden to use directly
from Makefiles back in 2014.
2024-05-07 21:11:24 +00:00
riastradh 7065ff01cd libm/arch/m68060/makeas.sh: Tag output with makeas.sh RCS id.
No functional change intended to the output -- only changes are to
comments.
2024-05-07 21:05:47 +00:00
riastradh d48db9a528 tests/lib/libc/gen/t_fpclassify: Enable long double tests.
The necessary long double symbols should all be available now.  If
there are any architectures where they're not, we can fix those
architectures.
2024-05-07 21:00:00 +00:00
riastradh cd9dfcd0c5 libm: Memorialize expected symbols on various architectures.
This will reduce the risk of accidentally adding or deleting the
wrong symbols while fixing the aliases.

(This is all the architectures I have a build tree for handy; can add
other architectures like m68k later.)
2024-05-07 20:58:33 +00:00
riastradh 2ea04e5047 bsd.lib.mk: Allow MACHINE_CPU for default expsym file. 2024-05-07 20:56:25 +00:00
christos 27fb837206 PR/58196: Jan-Benedict Glaw: If there was no spec file specified, generate
one on the fly. Should fix reproducible builds where the mode and the
ownership/group is not fixed and picked up from the filesystem.
2024-05-07 20:33:20 +00:00
christos d6c3c02a1d Simple script to create an mtree spec file from a directory tree with
fixed default owner/group/perms.
2024-05-07 20:30:33 +00:00
tsutsui babc3bb6b8 Use proper signedness for the LIF file system data structures.
Ancient 4.3BSD used short and int for location, file size, file type,
and addresses etc. but all of them should be unsigned.
Also rename several variables and add comments for readability.

The LIF file system info can be found in "The HPDir Project" page:
 https://www.hp9845.net/9845/projects/hpdir/

The same uboot.lif binaries are generated.
2024-05-07 19:55:14 +00:00