Commit Graph

281960 Commits

Author SHA1 Message Date
roy
37a768187e le(4): add link status change reporting to drivers which support it
Reviewed by thorpej@
Tested by martin@
2020-10-20 18:17:58 +00:00
christos
ee6f901c72 only define hooks for 32 bit cores if we need them. 2020-10-20 13:47:30 +00:00
christos
184e35ae6c Fix build for _LP64 machines that don't have COMPAT_NETBSD32 (alpha, ia64) 2020-10-20 13:16:26 +00:00
rin
06f9eb9427 Add NetBSD/aarch64eb support to */config.guess for self-building and mknative.
XXX
Instead of patching each file, it would be better to maintain single
config.*'s as done in pkgsrc...

Patch provided by ryo@.
OK mrg@.
2020-10-20 10:41:49 +00:00
ryo
5c1fc9ae2e add header file hack to resolve conflict of ALIGN macro. (on __BIG_ENDIAN) 2020-10-20 09:53:59 +00:00
nia
41a2db1f31 ossaudio(3): Add SNDCTL_AUDIOINFO_EX as an alias of SNDCTL_AUDIOINFO 2020-10-20 08:57:45 +00:00
msaitoh
6b533c04da Add Intel I347-AT4. 2020-10-20 08:53:34 +00:00
nia
f1e5511902 doc/CHANGES: Added support for the OSSv4 Mixer API 2020-10-20 07:52:45 +00:00
wiz
0e2cbe842f Remove trailing whitespace. 2020-10-20 07:52:04 +00:00
nia
d1d954926b ossaudio(3): Plug a fd leak in the new mixer API 2020-10-20 06:53:37 +00:00
nia
bbfc3fa4fd ossaudio.3: Bump date 2020-10-20 06:43:55 +00:00
nia
6abc2e7583 ossaudio(3): Turn BUGS section into a list of potential compat issues 2020-10-20 06:43:34 +00:00
nia
988ec12f1c ossaudio(3): Add some endian-specific U16 formats
for compatibility with FreeBSD
2020-10-20 06:33:52 +00:00
rillig
8288993505 make(1): clean up headers, no functional change 2020-10-19 23:43:55 +00:00
rillig
d1438731b2 make(1): move struct Shell from job.h to job.c
This type is only needed in job.c.
2020-10-19 23:07:22 +00:00
kamil
c82c3566be Restore SP from mcontext
Improves unwinding of multiple frames without frame pointer.
2020-10-19 22:33:53 +00:00
rillig
859199ba81 make(1): inline simple Lst getters
The function call variant takes more screen space than the direct field
access.  Having an abstract API is usually a good idea, in this case of
simple read-only member access it makes the code more difficult to read.

LstNode_Set has been kept as a function since it is not a read-only
accessor function.
2020-10-19 21:57:37 +00:00
dholland
c58ad948af Add missing HISTORY and AUTHORS. Bump date.
Noticed by qjsgkem on freenode.
2020-10-19 21:46:15 +00:00
rillig
6c8a1ff384 make(1): remove unused Lst_ForEach
All of its uses have been inlined since iterating through a linked list
is trivial.  This avoids the cumbersome callback functions with void
pointer parameters, allowing the compiler to perform better type checks.
2020-10-19 21:41:31 +00:00
rillig
8bb2c8d765 make(1): use consistent formatting for DEBUG_SRC
No trailing whitespace anymore, %p instead of %lx.
2020-10-19 21:38:10 +00:00
rillig
474732b5c3 make(1): remove void pointers from DEBUG_SRC debugging code
This debugging code is completely broken.  Part of the output goes to
debug_file, the other part goes to stdout.  The spacing in the output is
inconsistent.  The printf directives vary between %p and %lx.

All these inconsistencies have already been there in June 2020, before
the big refactoring started.
2020-10-19 21:33:09 +00:00
rillig
49528a91f9 make(1): remove void pointers from SuffRebuildGraph 2020-10-19 21:23:07 +00:00
rillig
3430e10645 make(1): remove void pointers from suffix debug printing 2020-10-19 21:17:35 +00:00
rillig
c73198e2cd make(1): remove void pointers from ParseAddDir 2020-10-19 20:55:30 +00:00
rillig
e98d5fb093 make(1): remove void pointers from ParseClearPath 2020-10-19 20:51:18 +00:00
rillig
c679cfbc3e make(1): remove void pointers from printCMD 2020-10-19 20:41:53 +00:00
rillig
0ae422bbb3 make(1): inline link_parent into Make_ProcessWait 2020-10-19 19:55:25 +00:00
rillig
9bab925585 make(1): inline MakeTimeStamp in Make_OODate 2020-10-19 19:48:09 +00:00
rillig
00e393acbb make(1): eliminate void pointer from MakeAddAllSrc 2020-10-19 19:45:50 +00:00
rillig
8337c42b75 make(1): fix variable names in Targ_Propagate
List nodes are called ln, not pn or cn.

While here, extract a common subexpression to save a few instructions.
The compiler cannot know that gn->type will not change during the whole
loop.  For this, it would have to know that a GNode cannot have itself
as a cohort, and this is not expressed anywhere in the code.
2020-10-19 19:34:18 +00:00
christos
3d852e0ec8 Arrange so that no options COREDUMP and no options PTRACE work together.
Thanks to Paul Goyette for testing.
2020-10-19 19:33:01 +00:00
rillig
637b8f48e5 make(1): fix test shell-csh in case no csh is available 2020-10-19 19:14:11 +00:00
rillig
942439aeff make(1): fix test directive-export-gmake.mk for dash 2020-10-19 18:59:53 +00:00
kre
dbbe561cbe Check the year field of a tentative ISO-8601 date format for overflow
before committing to it being an 8601 format date, rather than after
(or the fall back grammar parser doesn't start with a clean slate).

This isn't likely to ever bother anyone, the chances of encountering
something that looks just like an 8601 format date, but with a year
field so large it overflows a long are kind of slim.   If it did happen
the chances that the string could be correctly parsed (into something
different) by the grammar are even slimmer. But better to do it properly.
2020-10-19 17:47:45 +00:00
christos
8e8fe15a74 _KERNEL_OPT police 2020-10-19 17:47:37 +00:00
tnn
20dcec26d0 remove superfluous parentheses in PREAD4/PWRITE4 macros 2020-10-19 17:00:02 +00:00
kamil
cf532a4113 Remove advertising clause from the code distributed from UCB
Follow ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
2020-10-19 15:25:57 +00:00
kre
0c44d33848 Catch the parsedate man page up with recent updates, ans also include
some general improvements I've had kicking around for a long time, but
never got around to committing.
2020-10-19 15:08:39 +00:00
kre
569a03414c For touch -d (which uses parsedate()) POSIX specifies that the
ISO-8601 format yyyy-mm-ddTHH:MM:SS[radix_and+frac][Z]
be accepted.

We didn't handle that, as in parsedate(), 'T' represents the
military timezone designator, not a padding separator between
date & time as POSIX specified it.

The way parsedate() is written, fixing this in the grammar/lexer
would be hard without deleting support for T as a zone indicator
(it is *my* timezone!).

So, instead of doing that, parse an ISO-8901 string which occurs
right at the start of the input (not even any preceding white space)
by hand, before invoking the grammar, and so not involving the lexer.
This is sufficient to make touch -d conform.

After doing that, we still need to allow earlier valid inputs,
where an ISO-8601 format (using space as the separator, but without
the 'Z' (Zulu, or UTC) suffix) followed by an arbitrary timezone
designation, and other modifiers (eg: "+5 minutes" work.  So we
call the grammar on whatever is left of the input after the 8601
string has been consumed.   This all "just works" with one exception,
a format like "yyyy-mm-dd hh:mm:ss +0700" would have the grammar parse
just "+0700" which by itself would be meaningless, and so wasn't
handled.    Add a grammar rule & processing to Handle it.

Also note that while POSIX specifies "at least 4" digits in the YYYY
field, we implement "at least one" so years from 0-999 continue to be
parsed as they always have (nb: these were, and continue to be, treated
as absolute year numbers, year 10 is year 10, not 2010).  Years > 2 billion
(give or take) cannot be represented in the tm_year field of a struct tm,
so there's a limit on the max number of digits as well.
2020-10-19 15:08:17 +00:00
kamil
ff1a080029 This file does not contain any code written by cgd@
Delete the BSD 4-clause license.
2020-10-19 15:07:47 +00:00
kre
e12ce6c4ea Adapt for change to parsedate() which now follows POSIX and altered the
dividing line between 21st and 20th century conversions from 69/70 to
68/69.   Adapt the tests for this to conform.
2020-10-19 15:06:49 +00:00
kre
28d278e3ae POSIX requires that when converting 2 digit year representations to
actual specific years, values from 69-99 be treated as 20th century,
and values from 0-68 be treated as 21st century.  This allows for those
unfortunate enough to reside in a timezone west of Greenwich to convert
the epoch (or a time very close to it) to text, write that with just two
digits, and correctly convert it back to a time near the epoch, rather
than to something in 2069.

We used to split things so 0-69 were 21st century, and 70-99 were 20th.
Change that (this requires a change in the parsedate ATF tests which
test this specific boundary).

While here, add support for another POSIX requirement, that the radix
char before fractional seconds can be either a ',' or a '.'.  We used
to allow only '.', add support for ','.   This is something of a meaningless
change, as parsedate() returns a time_t in which there is no way to
represent fractional seconds, so there's little point in ever specifying
them regardless of what char is used for the "decimal point" - they will
be ignored anyway.    But at least fractional seconds using a ',' as the
radix char will no longer cause the conversion to fail (or do something else
bizarre).
2020-10-19 15:05:53 +00:00
kamil
484b4a0217 Rollback unintended changes in the previous commit 2020-10-19 14:52:19 +00:00
kamil
0fcf63620e Remove obsolete references to 4.4BSD papers 2020-10-19 14:47:01 +00:00
tnn
167b79c646 bus_space_write_4 does not have a return value 2020-10-19 13:44:25 +00:00
rin
9f4a23d06a Fix assembling "isb sy" for aarch64{,eb} on LP64BE architectures.
Cherry-picked from upstream:

https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=05cfb0d8cc9b7f8676f5ae55a93642f091d5405f;hp=0ec992e6647c00fc234cdf4c11732b6711b024af

Now, working kernel can be self-built on aarch64eb.

Thanks to ryo@ for fixing and upstreaming this!
2020-10-19 12:47:53 +00:00
rin
9df0660400 Define OPENSSL_NO_EC_NISTP_64_GCC_128 also for aarch64eb.
Fix ssh-keygen(1) on aarch64eb. Also, all tests in tests/crypto pass
with this change.

As martin pointed out when this macro was defined for sparc64,

http://cvsweb.netbsd.org/bsdweb.cgi/src/crypto/external/bsd/openssl/include/openssl/opensslconf.h#rev1.5

this code seems broken on LP64BE architectures.

At the moment, mips64eb is not affected since only N32 is supported as
userland. Also, we do not support powerpc64 (eb) yet. But we may need to
take care of them in future.
2020-10-19 12:46:04 +00:00
jmcneill
5b34795350 Define __BIG_ENDIAN or __LITTLE_ENDIAN depending on target endianness 2020-10-19 11:49:56 +00:00
kamil
aeae5ce1c3 Restore ESP from mcontext
Improves unwinding of multiple frames without base pointer.
2020-10-19 11:31:01 +00:00
kamil
28928a88a3 Restore RSP from mcontext
Fixes unwinding of multiple frames without base pointer.

Patch by: Nikhil Benesch via PR lib/55719
2020-10-19 11:29:26 +00:00