Commit Graph

208 Commits

Author SHA1 Message Date
thorpej 85e843ca83 Don't include both <lwp.h> and <compat/include/lwp.h>. 2024-06-01 13:33:46 +00:00
christos 95f35978fa finish renaming __dup3110 to __dup3100 2024-05-20 01:33:39 +00:00
christos 381b1356d0 version dup3 2024-05-19 22:25:47 +00:00
christos ace5b9b5fe Catch up with all the lint warnings since exit on warning was disabled.
Disable 'missing header declaration' and 'nested extern' warnings for now.
2024-01-20 14:52:45 +00:00
christos 89098d2011 Update tzcode from 2022g to 2023c:
Release 2023c - 2023-03-28 12:42:14 -0700

Release 2023b - 2023-03-23 19:50:38 -0700

Release 2023a - 2023-03-22 12:39:33 -0700

  Changes to code

    You can now tell tzselect local time, to simplify later choices.
    Select the 'time' option in its first prompt.

    You can now compile with -DTZNAME_MAXIMUM=N to limit time zone
    abbreviations to N bytes (default 255).  The reference runtime
    library now rejects POSIX-style TZ strings that contain longer
    abbreviations, treating them as UTC.  Previously the limit was
    platform dependent and abbreviations were silently truncated to
    16 bytes even when the limit was greater than 16.

    The code by default is now designed for C99 or later.  To build in
    a C89 environment, compile with -DPORT_TO_C89.  To support C89
    callers of the tzcode library, compile with -DSUPPORT_C89.  The
    two new macros are transitional aids planned to be removed in a
    future version, when C99 or later will be required.

    The code now builds again on pre-C99 platforms, if you compile
    with -DPORT_TO_C89.  This fixes a bug introduced in 2022f.

    On C23-compatible platforms tzcode no longer uses syntax like
    'static [[noreturn]] void usage(void);'.  Instead, it uses
    '[[noreturn]] static void usage(void);' as strict C23 requires.
    (Problem reported by Houge Langley.)

    The code's functions now constrain their arguments with the C
    'restrict' keyword consistently with their documentation.
    This may allow future optimizations.

    zdump again builds standalone with ckdadd and without setenv,
    fixing a bug introduced in 2022g.  (Problem reported by panic.)

    leapseconds.awk can now process a leap seconds file that never
    expires; this might be useful if leap seconds are discontinued.

  Changes to commentary

    tz-link.html has a new section "Coordinating with governments and
    distributors".  (Thanks to Neil Fuller for some of the text.)

    To improve tzselect diagnostics, zone1970.tab's comments column is
    now limited to countries that have multiple timezones.

    Note that leap seconds are planned to be discontinued by 2035.
2023-09-16 18:40:26 +00:00
mrg f8570f8a97 fix simple mis-matched function prototype and definitions.
most of these are like, eg

   void foo(int[2]);

with either of these

   void foo(int*) { ... }
   void foo(int[]) { ... }

in some cases (such as stat or utimes* calls found in our header files),
we now match standard definition from opengroup.

found by GCC 12.
2023-08-01 07:04:14 +00:00
rin 437217c4cf libc: Warn of __kevent50 when itself (not kevent) is referenced 2023-07-29 10:01:24 +00:00
christos d11110f473 Add epoll(2) from Theodore Preduta as part of GSoC 2023 2023-07-28 18:18:59 +00:00
skrll d0ff2affc8 Add the compat calls for renamed symbols so that configure scripts
can find them. sigprocmask being the most problematic.

RISC-V doesn't need the compat syscalls, but seeing them fail in
ktrace is helpful.
2023-05-19 06:50:07 +00:00
nia 934ddb935f libc: Use a functional example when warning about incorrect alloca usage 2022-10-08 12:56:51 +00:00
andvar 369abe069b fix various typos, mainly s/prefered/preferred/ 2021-11-07 20:31:09 +00:00
thorpej 7c30b7e17f Adjust for new __sigaction_siginfo symbol. 2021-11-02 06:54:10 +00:00
thorpej 02edde8aa3 Version the sigaction(2) libc wrapper. The new version uses the "siginfo"
trampoline exclusively, thus relegating "sigcontext"-style handlers (which
have not been documented for many years now) to the dustbin of the compat
library.
2021-11-01 05:53:45 +00:00
christos 7a6d5cb630 Put back the sigcontext sigtramp code. 2021-10-30 21:39:28 +00:00
andvar 6584ea569e fix various typos in compatibility, mainly in comments. 2021-08-09 20:49:08 +00:00
thorpej 2a8eed4fde POSIX sez:
The longjmp() function shall not cause setjmp() to return 0; if val
    is 0, setjmp() shall return 1.

Fixes the _longjmp_zero and longjmp_zero test cases in the t_setjmp
test on alpha.
2021-05-25 00:14:41 +00:00
skrll 95cc57f231 spaces to tab 2020-12-05 11:18:21 +00:00
skrll 252fbae288 Remove '_OFFSETOF' prefix for genassm(1) generate CPP identifers for
consistency with other arches.

NFCI and libc.so is the same before and after.
2020-10-15 05:27:53 +00:00
skrll 90309fbee9 Trailing whitespace 2020-10-15 05:10:30 +00:00
christos a121fa6581 Add symbol entries for the missing signal functions for the benefit of
autoconf. Autoconf compiles simple programs like:
    char symbol();
    int main() { return symbol(); }
To check if the symbol is present. This makes it happy.
Another way our symbol renaming breaks things.
This fixes gdb native build, which does not find sigprocmask otherwise
and fails to build because it finds pthread_sigmask() and not sigprocmask()!
2020-09-20 20:14:50 +00:00
riastradh 59ccc04e14 Teach libc's compat ldexp stub to raise fp exceptions.
This ldexp stub will shadow the ldexp weak alias for scalbn in libm,
which is unfortunate but hard to fix properly without chasing the
mythical libc bump beast.  With the change here, we should raise all
the same exceptions that libm's scalbn does -- overflow, underflow,
inexact-result, and (for signalling NaN only) invalid-operation.
This in turn should correct the missing overflow/underflow exceptions
of our portable C fma, and perhaps other routines.

XXX pullup
2020-05-21 05:56:31 +00:00
skrll fd7fe8589e Mark __cerror as hidden to avoid using the PLT. This is required for new
binutils where the PLT stubs now use %t1 (%r22) which is used to pass
the errno to __cerror.
2020-05-05 20:43:47 +00:00
skrll 2af01421ec Add a space before any non-nullified instruction. NFCI. 2020-05-05 06:20:55 +00:00
skrll cfd190c74d Use the delay slot 2020-05-05 06:11:06 +00:00
skrll 94eade6946 More trailing whitespace 2020-05-03 15:27:06 +00:00
skrll 4210e62106 Trailing whitespace 2020-05-03 08:36:09 +00:00
christos c8863f455b deduplicate the conversion function from statvfs -> statfs12 2019-10-04 01:28:02 +00:00
christos 02cdd248ec Add a new member to struct vfsstat and grow the unused members
The new member is caled f_mntfromlabel and it is the dkw_wname
of the corresponding wedge. This is now used by df -W to display
the mountpoint name as NAME=
2019-09-22 22:59:37 +00:00
kamil a04979c2ea Fix warning message for mknod symbol linkage
The correct reference for mknod(2) is in <sys/stat.h>
2019-06-18 14:25:04 +00:00
jmcneill e9bedda7d9 Add some compat stubs for aarch64. Not providing any actual compatibility
with old binaries (there are none), but having these symbols helps GNU
configure scripts.
2018-04-29 17:47:06 +00:00
christos 6ee2d92011 Fix const argument inconsistency (found by lint(1)) 2017-12-26 17:01:25 +00:00
mrg f1582e88f7 scandir/alphasort take "const struct dirent **" not "const void *" in
modern unix.  since we claim to be 'IEEE Std 1003.1-2008', make it so.
2016-12-16 04:45:04 +00:00
christos 1acb507c2d Sync with compat and remove dup implementations of ldexp and modf, switching
mips and m68k to the compat copies.
2016-10-07 11:10:43 +00:00
christos bb5114e4e0 remove debugging 2016-08-27 09:35:13 +00:00
christos a66a750e64 detect overflow in oldexp + newexp 2016-08-27 09:11:56 +00:00
mrg 5f3362148f various ia64 updates:
- add a compat vfork because of stupid
- add a weak sbrk
- add a shmat syscall
- add an empty kvm implementation that links
- add missing fp stuff
2016-06-30 09:14:30 +00:00
martin 1d9390077f Do not store FP registers in softfloat userland 2016-03-26 11:57:32 +00:00
christos f4d28d09d8 Add tzgetgmtoff() prototype I forgot to commit. 2015-10-30 03:08:56 +00:00
justin 59fd6f1da5 Return type of compat wait functions should be pid_t not int. 2015-03-26 11:17:08 +00:00
pooka 7578f98047 Include compat in rumprun libc
Not including non-renamed symbols in libc caused all kinds of configure
scripts to do the wrong thing when they just tested linkage without
including headers.  So, go for the "least moving parts" bandaid for now.
2015-02-09 22:44:34 +00:00
joerg 68179c3df2 Remove va_arg hack for Clang/PPC. 2015-01-29 20:44:38 +00:00
christos 26ba80487b Fix non _REENTRANT build. 2015-01-20 18:31:24 +00:00
matt 6cf6fe02a9 New files for Userland support of UCB RISC-V (both 32-bit and 64-bit) 2014-09-19 17:36:24 +00:00
matt 27620987b8 New files for OR1K support 2014-09-03 19:34:25 +00:00
joerg 9074b7ff29 Use the lint path as workaround for Clang on 32bit PPC for now.
Document this hack.
2014-08-13 14:43:48 +00:00
joerg 76ef534724 If LINT code path uses memcpy, it should also include string.h. 2014-08-10 17:55:08 +00:00
matt beb9c6d1b5 Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
2014-08-10 05:47:35 +00:00
christos b27e135433 rename to 60 2014-06-12 18:49:37 +00:00
christos 1eb0dcbb1d fix srandom and initstate signatures (from enh at google) 2014-06-12 18:44:36 +00:00
uebayasi 0d34bfa26d Put missing END() markers to set ELF symbol size. 2014-05-23 02:34:19 +00:00