From efb30ec1d7857970a78c8de2dd1fb876f916431d Mon Sep 17 00:00:00 2001 From: eabdullin Date: Tue, 12 Aug 2025 10:48:45 +0000 Subject: [PATCH] import OL man-pages-6.06-6.el10_0 --- .gitignore | 3 +- .man-pages.metadata | 3 +- ...ment-how-to-check-errors-from-mktime.patch | 173 ++ ...0-sched.7-Clarifications-corrections.patch | 74 + ...NOTES-to-a-subsection-within-CAVEATS.patch | 32 + ....3-Document-the-RTLD_DI_PHDR-request.patch | 44 + ...Add-note-about-tm_isdst-handling-in-.patch | 76 + ...to-detect-invalid-or-ambiguous-times.patch | 162 ++ SOURCES/man-pages-3.42-close.patch | 9 +- SOURCES/man-pages-4.15-aarch64-syscalls.patch | 2498 ----------------- .../man-pages-4.15-host.conf.5-multi.patch | 29 - ...pages-4.15-host.conf.5-spoof-options.patch | 37 - ...15-nl_langinfo.3-charsets.7-codesets.patch | 45 - .../man-pages-4.15-nsswitch.conf.5-sss.patch | 43 - ...4.15-proc.5-Speculation_Store_Bypass.patch | 43 - ...n-pages-4.15-resolv.conf.5-no-reload.patch | 36 - .../man-pages-posix-2013-a-pthread_once.patch | 35 - SPECS/man-pages.spec | 379 ++- 18 files changed, 869 insertions(+), 2852 deletions(-) create mode 100644 SOURCES/0000-ctime.3-Document-how-to-check-errors-from-mktime.patch create mode 100644 SOURCES/0000-sched.7-Clarifications-corrections.patch create mode 100644 SOURCES/0001-ctime.3-Move-NOTES-to-a-subsection-within-CAVEATS.patch create mode 100644 SOURCES/0001-dlinfo.3-Document-the-RTLD_DI_PHDR-request.patch create mode 100644 SOURCES/0002-ctime.3-CAVEATS-Add-note-about-tm_isdst-handling-in-.patch create mode 100644 SOURCES/0003-ctime.3-EXAMPLES-Document-how-to-detect-invalid-or-ambiguous-times.patch delete mode 100644 SOURCES/man-pages-4.15-aarch64-syscalls.patch delete mode 100644 SOURCES/man-pages-4.15-host.conf.5-multi.patch delete mode 100644 SOURCES/man-pages-4.15-host.conf.5-spoof-options.patch delete mode 100644 SOURCES/man-pages-4.15-nl_langinfo.3-charsets.7-codesets.patch delete mode 100644 SOURCES/man-pages-4.15-nsswitch.conf.5-sss.patch delete mode 100644 SOURCES/man-pages-4.15-proc.5-Speculation_Store_Bypass.patch delete mode 100644 SOURCES/man-pages-4.15-resolv.conf.5-no-reload.patch delete mode 100644 SOURCES/man-pages-posix-2013-a-pthread_once.patch diff --git a/.gitignore b/.gitignore index c1b15f8..bf6c1a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,2 @@ -SOURCES/man-pages-4.15.tar.xz +SOURCES/man-pages-6.06.tar.xz SOURCES/man-pages-additional-20140218.tar.xz -SOURCES/man-pages-posix-2013-a.tar.xz diff --git a/.man-pages.metadata b/.man-pages.metadata index eb6677c..a0e48bd 100644 --- a/.man-pages.metadata +++ b/.man-pages.metadata @@ -1,3 +1,2 @@ -05ec29cc69586f276fbeaccd3b466f3456292010 SOURCES/man-pages-4.15.tar.xz +185079a8ff04d739bd38e62d670e0feda2e6bb18 SOURCES/man-pages-6.06.tar.xz 315c9144f71c0edf1af823fb3f7735e93f6f17c3 SOURCES/man-pages-additional-20140218.tar.xz -91b5b10a7a596615789782dad0adb477a8bf9f84 SOURCES/man-pages-posix-2013-a.tar.xz diff --git a/SOURCES/0000-ctime.3-Document-how-to-check-errors-from-mktime.patch b/SOURCES/0000-ctime.3-Document-how-to-check-errors-from-mktime.patch new file mode 100644 index 0000000..8688747 --- /dev/null +++ b/SOURCES/0000-ctime.3-Document-how-to-check-errors-from-mktime.patch @@ -0,0 +1,173 @@ +commit e541b219854e6be90b5628f88cd62edb44c9e9f2 +Author: Alejandro Colomar +Date: Fri Aug 23 14:34:00 2024 +0200 + + ctime.3: Document how to check errors from mktime(3) + + -1 is a valid successful time_t, for one second before the Epoch. And + mktime(3) is allowed (like most libc calls) to set errno on success. + This makes it impossible to determine errors from the return value or + errno. + + ISO C specifies that tp->tm_wday is unmodified after a failed call, and + puts an example where this is used to determine errors. It is indeed + the only way to check for errors from this call. + + Document this detail in the RETURN VALUE section, add a CAVEATS section + that warns about this, and write an example program that shows how to + properly call this function. + + Most code I've been able to find in several search engines either + doesn't check for errors after mktime(3), or checks them incorrectly, so + this documentation should help fix those. + + This is guaranteed since ISO C23 and POSIX.1-2024. Prior to those + standards, there was no standard way to check for errors. However, + there are no known implementations that do not conform to this. + + Link: + Link: + Link: + Link: + Link: + Link: + Reported-by: Paul Eggert + Cc: Vincent Lefevre + Cc: DJ Delorie + Cc: Carlos O'Donell + Cc: Xi Ruoyao + Cc: Brian Inglis + Cc: "Robert C. Seacord" + Cc: Jens Gustedt + Cc: Robert Elz + Cc: Andrew Josey + Cc: Geoff Clare + Cc: Hans Åberg + Cc: GNU C Library + Cc: Austin Group + Signed-off-by: Alejandro Colomar + +Conflicts: + Minor wording differences + +diff -Nrup a/man3/ctime.3 b/man3/ctime.3 +--- a/man3/ctime.3 2023-04-02 20:27:24.000000000 -0400 ++++ b/man3/ctime.3 2025-06-18 09:39:54.782440669 -0400 +@@ -247,7 +247,10 @@ expressed as a value of type + On error, + .BR mktime () + returns the value +-.IR "(time_t)\ \-1" . ++.IR "(time_t)\ \-1" , ++and leaves the ++.I tm->tm_wday ++member unmodified. + The remaining functions return NULL on error. + On error, + .I errno +@@ -400,6 +403,105 @@ a broken-down time structure and an arra + Execution of any of the functions may overwrite the information returned + in either of these objects by any of the other functions." + This can occur in the glibc implementation. ++.SH CAVEATS ++.SS mktime() ++.I (time_t) \-1 ++can represent a valid time ++(one second before the Epoch). ++To determine whether ++.BR mktime () ++failed, ++one must use the ++.I tm->tm_wday ++field. ++See the example program in EXAMPLES. ++.SH EXAMPLES ++The following shell session shows sample runs of the program: ++.P ++.in +4n ++.EX ++.RB $\~ "TZ=UTC ./a.out 1969 12 31 23 59 59 0" ; ++\-1 ++$ ++.RB $\~ "export TZ=Europe/Madrid" ; ++$ ++.RB $\~ "./a.out 2147483647 2147483647 00 00 00 00 -1" ; ++a.out: mktime: Value too large for defined data type ++$ ++.RB $\~ "./a.out 2024 08 23 00 17 53 \-1" ; ++1724365073 ++.RB $\~ "./a.out 2024 08 23 00 17 53 0" ; ++1724368673 ++.RB $\~ "./a.out 2024 08 23 00 17 53 1" ; ++1724365073 ++$ ++.RB $\~ "./a.out 2024 02 23 00 17 53 \-1" ; ++1708643873 ++.RB $\~ "./a.out 2024 02 23 00 17 53 0" ; ++1708643873 ++.RB $\~ "./a.out 2024 02 23 00 17 53 1" ; ++1708640273 ++$ ++.RB $\~ "./a.out 2023 03 26 02 17 53 \-1" ; ++1679793473 ++$ ++.RB $\~ "./a.out 2023 10 29 02 17 53 \-1" ; ++1698542273 ++.RB $\~ "./a.out 2023 10 29 02 17 53 0" ; ++1698542273 ++.RB $\~ "./a.out 2023 10 29 02 17 53 1" ; ++1698538673 ++$ ++.RB $\~ "./a.out 2023 02 29 12 00 00 \-1" ; ++1677668400 ++.EE ++.SS Program source: mktime.c ++\& ++.\" SRC BEGIN (mktime.c) ++.EX ++#include ++#include ++#include ++#include ++#include ++\& ++#define is_signed(T) ((T) \-1 < 1) ++\& ++int ++main(int argc, char *argv[]) ++{ ++ char **p; ++ time_t t; ++ struct tm tm; ++\& ++ if (argc != 8) { ++ fprintf(stderr, "Usage: %s yyyy mm dd HH MM SS isdst\[rs]n", argv[0]); ++ exit(EXIT_FAILURE); ++ } ++\& ++ p = &argv[1]; ++ tm.tm_year = atoi(*p++) \- 1900; ++ tm.tm_mon = atoi(*p++) \- 1; ++ tm.tm_mday = atoi(*p++); ++ tm.tm_hour = atoi(*p++); ++ tm.tm_min = atoi(*p++); ++ tm.tm_sec = atoi(*p++); ++ tm.tm_isdst = atoi(*p++); ++\& ++ tm.tm_wday = \-1; ++ t = mktime(&tm); ++ if (tm.tm_wday == \-1) ++ err(EXIT_FAILURE, "mktime"); ++\& ++ if (is_signed(time_t)) ++ printf("%jd\[rs]n", (intmax_t) t); ++ else ++ printf("%ju\[rs]n", (uintmax_t) t); ++\& ++ exit(EXIT_SUCCESS); ++} ++.EE ++.\" SRC END + .SH SEE ALSO + .BR date (1), + .BR gettimeofday (2), diff --git a/SOURCES/0000-sched.7-Clarifications-corrections.patch b/SOURCES/0000-sched.7-Clarifications-corrections.patch new file mode 100644 index 0000000..4fee907 --- /dev/null +++ b/SOURCES/0000-sched.7-Clarifications-corrections.patch @@ -0,0 +1,74 @@ +commit ca69daf45f94fda061f796efcc4f24ca76d8e380 +Author: Phil Auld +Date: Thu Jan 16 14:37:47 2025 +0000 + + man/man7/sched.7: Mention autogroup disabled behavior + + The autogroup feature can be contolled at runtime when built into the + kernel. Disabling it in this case still creates autogroups and still + shows the autogroup membership for the task in /proc. The scheduler + code will just not use the the autogroup task group. This can be + confusing to users. Add a sentence to this effect to sched.7 to point + this out. + + The kernel code shows how this is used. The sched_autogroup_enabled + toggle is only used in one place. + + kernel/sched/autogroup.h: + + static inline struct task_group * + autogroup_task_group(struct task_struct *p, struct task_group *tg) + { + extern unsigned int sysctl_sched_autogroup_enabled; + int enabled = READ_ONCE(sysctl_sched_autogroup_enabled); + + if (enabled && task_wants_autogroup(p, tg)) + return p->signal->autogroup->tg; + + return tg; + } + + task_wants_autogroup() is in kernel/sched/autogroup.c: + + bool task_wants_autogroup(struct task_struct *p, struct task_group *tg) + { + if (tg != &root_task_group) + return false; + ... + + return true; + } + + One can see that any group set other than root also bypasses the use of + the autogroup. All of the machinery around the creation of the + autogroup is not effected by the toggle. + + From userspace: + 0 + /autogroup-112 nice 0 + + Note, systemd based system these days is not really using autogroups at + all anyway because any task in a non-root cgroup bypasses the autogroup + as well. + + Cc: Carlos O'Donell + Signed-off-by: Phil Auld + Message-ID: <20250116143747.2366152-1-pauld@redhat.com> + Signed-off-by: Alejandro Colomar + +diff --git a/man7/sched.7 b/man/man7/sched.7 +index 71f098e48..fb8a69918 100644 +--- a/man7/sched.7 ++++ b/man7/sched.7 +@@ -724,6 +724,11 @@ in the group terminates. + .P + When autogrouping is enabled, all of the members of an autogroup + are placed in the same kernel scheduler "task group". ++When disabled, ++the group creation happens as above, ++and autogroup membership is still visible in ++.IR /proc , ++but the autogroups are not used. + The CFS scheduler employs an algorithm that equalizes the + distribution of CPU cycles across task groups. + The benefits of this for interactive desktop performance diff --git a/SOURCES/0001-ctime.3-Move-NOTES-to-a-subsection-within-CAVEATS.patch b/SOURCES/0001-ctime.3-Move-NOTES-to-a-subsection-within-CAVEATS.patch new file mode 100644 index 0000000..3dcd500 --- /dev/null +++ b/SOURCES/0001-ctime.3-Move-NOTES-to-a-subsection-within-CAVEATS.patch @@ -0,0 +1,32 @@ +commit 6a7f1461b0e5474d50ef1920558dec103c0c058f +Author: Alejandro Colomar +Date: Sat Aug 24 00:20:49 2024 +0200 + + ctime.3: Move NOTES to a subsection within CAVEATS + + Signed-off-by: Alejandro Colomar + +Conflicts: + Minor wording differences + +diff -Nrup a/man3/ctime.3 b/man3/ctime.3 +--- a/man3/ctime.3 2025-06-18 16:14:51.847871469 -0400 ++++ b/man3/ctime.3 2025-06-18 16:25:22.406139771 -0400 +@@ -374,7 +374,8 @@ POSIX.1-2001. + POSIX.1-2001. + Marked obsolete in POSIX.1-2008 (recommending + .BR strftime (3)). +-.SH NOTES ++.SH CAVEATS ++.SS Thread safety + The four functions + .BR asctime (), + .BR ctime (), +@@ -403,7 +404,6 @@ a broken-down time structure and an arra + Execution of any of the functions may overwrite the information returned + in either of these objects by any of the other functions." + This can occur in the glibc implementation. +-.SH CAVEATS + .SS mktime() + .I (time_t) \-1 + can represent a valid time diff --git a/SOURCES/0001-dlinfo.3-Document-the-RTLD_DI_PHDR-request.patch b/SOURCES/0001-dlinfo.3-Document-the-RTLD_DI_PHDR-request.patch new file mode 100644 index 0000000..9aa9726 --- /dev/null +++ b/SOURCES/0001-dlinfo.3-Document-the-RTLD_DI_PHDR-request.patch @@ -0,0 +1,44 @@ +From f1016b60769174da8e396e30fd25f58bb58d4232 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Wed, 28 Aug 2024 13:01:56 +0200 +Subject: [PATCH] dlinfo.3: Document the RTLD_DI_PHDR request + +First added in glibc 2.36, backported upstream to glibc 2.34, +so mention 2.34.1 for the first version. + +Signed-off-by: Florian Weimer +Message-ID: <87o75chpwb.fsf@oldenburg.str.redhat.com> +Signed-off-by: Alejandro Colomar +--- + man/man3/dlinfo.3 | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/man3/dlinfo.3 b/man3/dlinfo.3 +index bc331dc..a77e514 100644 +--- a/man3/dlinfo.3 ++++ b/man3/dlinfo.3 +@@ -194,10 +194,23 @@ If this object does not define a PT_TLS segment, + or if the calling thread has not allocated a block for it, + NULL is placed in + .IR *info . ++.TP ++.BR RTLD_DI_PHDR " (\fIconst ElfW(Phdr *)\fP, since glibc 2.34.1)" ++.\" glibc commit d056c212130280c0a54d9a4f72170ec621b70ce5 (2.36) ++.\" glibc commit 28ea43f8d64f0dd1f2de75525157730e1532e600 (2.35.1) ++.\" glibc commit 91c2e6c3db44297bf4cb3a2e3c40236c5b6a0b23 (2.34.1) ++Obtain the address of this shared object's program header and place it ++in ++.IR *info . ++This ++.B dlinfo ++call returns the number of program headers in the shared object. + .SH RETURN VALUE + On success, + .BR dlinfo () +-returns 0. ++returns 0 ++(if not specified explicitly), ++or a positive value corresponding to the request. + On failure, it returns \-1; the cause of the error can be diagnosed using + .BR dlerror (3). + .SH ATTRIBUTES diff --git a/SOURCES/0002-ctime.3-CAVEATS-Add-note-about-tm_isdst-handling-in-.patch b/SOURCES/0002-ctime.3-CAVEATS-Add-note-about-tm_isdst-handling-in-.patch new file mode 100644 index 0000000..3b5c0ce --- /dev/null +++ b/SOURCES/0002-ctime.3-CAVEATS-Add-note-about-tm_isdst-handling-in-.patch @@ -0,0 +1,76 @@ +From 9fdca71e4aba3605caa88b0c9eff3dc2c3f6fcfe Mon Sep 17 00:00:00 2001 +From: DJ Delorie +Date: Thu, 29 Aug 2024 21:10:32 -0400 +Subject: [PATCH] ctime.3: CAVEATS: Add note about tm_isdst handling in + mktime(3) + +Handling of "invalid" values for tm_isdst is not clearly specified +in any standard, and implementations vary as to how they react when you +(for example) pass tm_isdst=1 at a time when DST is not in effect. +Add a note about this, and a suggestion for a workaround. + +I go into further detail about this in the link below. + +Link: +Cc: Paul Eggert +Cc: Carlos O'Donell +Signed-off-by: DJ Delorie +Message-ID: +Signed-off-by: Alejandro Colomar +--- + man/man3/ctime.3 | 39 +++++++++++++++++++++++++++++++++++++++ + 1 file changed, 39 insertions(+) + +diff --git a/man3/ctime.3 b/man3/ctime.3 +index 0ad2b530f..53abab6d9 100644 +--- a/man3/ctime.3 ++++ b/man3/ctime.3 +@@ -427,6 +427,45 @@ one must use the + .I tm->tm_wday + field. + See the example program in EXAMPLES. ++.P ++The handling of a non-negative ++.I tm_isdst ++in ++.BR mktime () ++is poorly specified, ++and passing a value that is incorrect for the time specified ++yields unspecified results. ++Since ++.BR mktime () ++is one of the few functions that knows when DST is in effect, ++providing a correct value may be difficult. ++One workaround for this is to call ++.BR mktime () ++twice, ++once with ++.I tm_isdst ++set to zero, ++and once with ++.I tm_isdst ++set to a positive value, ++and discarding the results from the call that changes it. ++If neither call changes ++.I tm_isdst ++then the time specified probably happens during a fall-back period ++where DST begins or ends, ++and both results are valid ++but represent two different times. ++If both calls change it, that could indicate a fall-forward transition, ++or some other reason why the time specified does not exist. ++.P ++The specification of time zones and daylight saving time ++are up to regional governments, change often, ++and may include discontinuities beyond ++.IR mktime 's ++ability to document a result. ++For example, a change in the timezone definition ++may cause a clock time to be repeated or skipped ++without a corresponding DST change. + .SH EXAMPLES + The following shell session shows sample runs of the program: + .P +-- +2.46.1 + diff --git a/SOURCES/0003-ctime.3-EXAMPLES-Document-how-to-detect-invalid-or-ambiguous-times.patch b/SOURCES/0003-ctime.3-EXAMPLES-Document-how-to-detect-invalid-or-ambiguous-times.patch new file mode 100644 index 0000000..b7cd11b --- /dev/null +++ b/SOURCES/0003-ctime.3-EXAMPLES-Document-how-to-detect-invalid-or-ambiguous-times.patch @@ -0,0 +1,162 @@ +commit bd576aaf5fce40100133c1d48c02eacbf25594c8 +Author: Alejandro Colomar +Date: Sat Aug 24 00:51:55 2024 +0200 + + ctime.3: EXAMPLES: Document how to detect invalid or ambiguous times + + This example documents how to detect some corner cases of mktime(3), + such as DST transitions and other jumps in the calendar. + + Link: + Cc: DJ Delorie + Cc: Carlos O'Donell + Cc: Paul Eggert + Signed-off-by: Alejandro Colomar + +diff --git a/man3/ctime.3 b/man/man3/ctime.3 +index 53abab6d9..acd6f1565 100644 +--- a/man3/ctime.3 ++++ b/man3/ctime.3 +@@ -467,6 +467,14 @@ For example, a change in the timezone definition + may cause a clock time to be repeated or skipped + without a corresponding DST change. + .SH EXAMPLES ++The program below defines a wrapper that ++allows detecting invalid and ambiguous times, ++with ++.B EINVAL ++and ++.BR ENOTUNIQ , ++respectively. ++.P + The following shell session shows sample runs of the program: + .P + .in +4n +@@ -482,6 +490,7 @@ $ + .RB $\~ "./a.out 2024 08 23 00 17 53 \-1" ; + 1724365073 + .RB $\~ "./a.out 2024 08 23 00 17 53 0" ; ++a.out: my_mktime: Invalid argument + 1724368673 + .RB $\~ "./a.out 2024 08 23 00 17 53 1" ; + 1724365073 +@@ -491,12 +500,15 @@ $ + .RB $\~ "./a.out 2024 02 23 00 17 53 0" ; + 1708643873 + .RB $\~ "./a.out 2024 02 23 00 17 53 1" ; ++a.out: my_mktime: Invalid argument + 1708640273 + $ + .RB $\~ "./a.out 2023 03 26 02 17 53 \-1" ; ++a.out: my_mktime: Invalid argument + 1679793473 + $ + .RB $\~ "./a.out 2023 10 29 02 17 53 \-1" ; ++a.out: my_mktime: Name not unique on network + 1698542273 + .RB $\~ "./a.out 2023 10 29 02 17 53 0" ; + 1698542273 +@@ -504,6 +516,7 @@ $ + 1698538673 + $ + .RB $\~ "./a.out 2023 02 29 12 00 00 \-1" ; ++a.out: my_mktime: Invalid argument + 1677668400 + .EE + .SS Program source: mktime.c +@@ -511,13 +524,17 @@ $ + .\" SRC BEGIN (mktime.c) + .EX + #include ++#include + #include + #include + #include ++#include + #include + \& + #define is_signed(T) ((T) \-1 < 1) + \& ++time_t my_mktime(struct tm *tp); ++\& + int + main(int argc, char *argv[]) + { +@@ -539,10 +556,13 @@ main(int argc, char *argv[]) + tm.tm_sec = atoi(*p++); + tm.tm_isdst = atoi(*p++); + \& ++ errno = 0; + tm.tm_wday = \-1; +- t = mktime(&tm); ++ t = my_mktime(&tm); + if (tm.tm_wday == \-1) + err(EXIT_FAILURE, "mktime"); ++ if (errno == EINVAL || errno == ENOTUNIQ) ++ warn("my_mktime"); + \& + if (is_signed(time_t)) + printf("%jd\[rs]n", (intmax_t) t); +@@ -551,6 +571,62 @@ main(int argc, char *argv[]) + \& + exit(EXIT_SUCCESS); + } ++\& ++time_t ++my_mktime(struct tm *tp) ++{ ++ int e, isdst; ++ time_t t; ++ struct tm tm; ++ unsigned char wday[sizeof(tp\->tm_wday)]; ++\& ++ e = errno; ++\& ++ tm = *tp; ++ isdst = tp\->tm_isdst; ++\& ++ memcpy(wday, &tp\->tm_wday, sizeof(wday)); ++ tp\->tm_wday = \-1; ++ t = mktime(tp); ++ if (tp\->tm_wday == \-1) { ++ memcpy(&tp\->tm_wday, wday, sizeof(wday)); ++ return \-1; ++ } ++\& ++ if (isdst == \-1) ++ tm.tm_isdst = tp\->tm_isdst; ++\& ++ if ( tm.tm_sec != tp\->tm_sec ++ || tm.tm_min != tp\->tm_min ++ || tm.tm_hour != tp\->tm_hour ++ || tm.tm_mday != tp\->tm_mday ++ || tm.tm_mon != tp\->tm_mon ++ || tm.tm_year != tp\->tm_year ++ || tm.tm_isdst != tp\->tm_isdst) ++ { ++ errno = EINVAL; ++ return t; ++ } ++\& ++ if (isdst != \-1) ++ goto out; ++\& ++ tm = *tp; ++ tm.tm_isdst = !tm.tm_isdst; ++\& ++ tm.tm_wday = \-1; ++ mktime(&tm); ++ if (tm.tm_wday == \-1) ++ goto out; ++\& ++ if (tm.tm_isdst != tp\->tm_isdst) { ++ errno = ENOTUNIQ; ++ return t; ++ } ++out: ++ errno = e; ++ return t; ++} + .EE + .\" SRC END + .SH SEE ALSO diff --git a/SOURCES/man-pages-3.42-close.patch b/SOURCES/man-pages-3.42-close.patch index 0f6105a..7572f65 100644 --- a/SOURCES/man-pages-3.42-close.patch +++ b/SOURCES/man-pages-3.42-close.patch @@ -1,7 +1,8 @@ -diff -up man-pages-3.59/man2/close.2.orig man-pages-3.59/man2/close.2 ---- man-pages-3.59/man2/close.2.orig 2014-02-16 08:33:52.000000000 +0100 -+++ man-pages-3.59/man2/close.2 2014-02-18 13:49:27.685917162 +0100 -@@ -120,6 +120,13 @@ other threads in the same process. +diff --git a/man2/close.2 b/man2/close.2 +index c920b24..a57b0f4 100644 +--- a/man2/close.2 ++++ b/man2/close.2 +@@ -123,6 +123,13 @@ other threads in the same process. Since a file descriptor may be reused, there are some obscure race conditions that may cause unintended side effects. diff --git a/SOURCES/man-pages-4.15-aarch64-syscalls.patch b/SOURCES/man-pages-4.15-aarch64-syscalls.patch deleted file mode 100644 index 8081785..0000000 --- a/SOURCES/man-pages-4.15-aarch64-syscalls.patch +++ /dev/null @@ -1,2498 +0,0 @@ -From 1cb64d264cb92d55cfa2b6d3ea5ebc1adca7444f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Nikola=20Forr=C3=B3?= -Date: Fri, 27 Jul 2018 17:27:24 +0200 -Subject: [PATCH 5/5] remove syscalls deprecated on aarch64 - ---- - man2/_sysctl.2 | 1 - - man2/access.2 | 5 + - man2/alarm.2 | 105 -------------- - man2/bdflush.2 | 133 ----------------- - man2/chmod.2 | 5 + - man2/chown.2 | 7 + - man2/clone.2 | 21 +++ - man2/dup.2 | 7 + - man2/epoll_create.2 | 5 + - man2/epoll_wait.2 | 5 + - man2/eventfd.2 | 5 + - man2/fork.2 | 337 ------------------------------------------ - man2/futimesat.2 | 142 ------------------ - man2/getdents.2 | 7 + - man2/inotify_init.2 | 5 + - man2/link.2 | 5 + - man2/mkdir.2 | 5 + - man2/mknod.2 | 5 + - man2/open.2 | 7 + - man2/pause.2 | 72 --------- - man2/pipe.2 | 5 + - man2/poll.2 | 5 + - man2/readlink.2 | 5 + - man2/recv.2 | 7 + - man2/rename.2 | 5 + - man2/rmdir.2 | 150 ------------------- - man2/select.2 | 5 + - man2/send.2 | 7 + - man2/setpgid.2 | 5 + - man2/signalfd.2 | 5 + - man2/symlink.2 | 5 + - man2/sysctl.2 | 190 ------------------------ - man2/time.2 | 140 ------------------ - man2/umount.2 | 5 + - man2/unlink.2 | 5 + - man2/uselib.2 | 138 ------------------ - man2/ustat.2 | 127 ---------------- - man2/utime.2 | 9 +- - man2/vfork.2 | 346 -------------------------------------------- - man2/wait4.2 | 7 + - 40 files changed, 171 insertions(+), 1884 deletions(-) - delete mode 100644 man2/_sysctl.2 - delete mode 100644 man2/alarm.2 - delete mode 100644 man2/bdflush.2 - delete mode 100644 man2/fork.2 - delete mode 100644 man2/futimesat.2 - delete mode 100644 man2/pause.2 - delete mode 100644 man2/rmdir.2 - delete mode 100644 man2/sysctl.2 - delete mode 100644 man2/time.2 - delete mode 100644 man2/uselib.2 - delete mode 100644 man2/ustat.2 - delete mode 100644 man2/vfork.2 - -diff --git a/man2/_sysctl.2 b/man2/_sysctl.2 -deleted file mode 100644 -index 9e14d4b..0000000 ---- a/man2/_sysctl.2 -+++ /dev/null -@@ -1 +0,0 @@ --.so man2/sysctl.2 -diff --git a/man2/access.2 b/man2/access.2 -index 2d194b5..9d8f444 100644 ---- a/man2/access.2 -+++ b/man2/access.2 -@@ -76,6 +76,11 @@ _ATFILE_SOURCE - .PD - .SH DESCRIPTION - .BR access () -+system call is DEPRECATED, use -+.BR faccessat () -+instead!!! -+.PP -+.BR access () - checks whether the calling process can access the file - .IR pathname . - If -diff --git a/man2/alarm.2 b/man2/alarm.2 -deleted file mode 100644 -index 43d7664..0000000 ---- a/man2/alarm.2 -+++ /dev/null -@@ -1,105 +0,0 @@ --.\" This manpage is Copyright (C) 1992 Drew Eckhardt; --.\" and Copyright (C) 1993 Michael Haardt, Ian Jackson. --.\" --.\" %%%LICENSE_START(VERBATIM) --.\" Permission is granted to make and distribute verbatim copies of this --.\" manual provided the copyright notice and this permission notice are --.\" preserved on all copies. --.\" --.\" Permission is granted to copy and distribute modified versions of this --.\" manual under the conditions for verbatim copying, provided that the --.\" entire resulting derived work is distributed under the terms of a --.\" permission notice identical to this one. --.\" --.\" Since the Linux kernel and libraries are constantly changing, this --.\" manual page may be incorrect or out-of-date. The author(s) assume no --.\" responsibility for errors or omissions, or for damages resulting from --.\" the use of the information contained herein. The author(s) may not --.\" have taken the same level of care in the production of this manual, --.\" which is licensed free of charge, as they might when working --.\" professionally. --.\" --.\" Formatted or processed versions of this manual, if unaccompanied by --.\" the source, must acknowledge the copyright and authors of this work. --.\" %%%LICENSE_END --.\" --.\" Modified Wed Jul 21 19:42:57 1993 by Rik Faith --.\" Modified Sun Jul 21 21:25:26 1996 by Andries Brouwer --.\" Modified Wed Nov 6 03:46:05 1996 by Eric S. Raymond --.\" --.TH ALARM 2 2017-05-03 "Linux" "Linux Programmer's Manual" --.SH NAME --alarm \- set an alarm clock for delivery of a signal --.SH SYNOPSIS --.nf --.B #include --.PP --.BI "unsigned int alarm(unsigned int " seconds ); --.fi --.SH DESCRIPTION --.BR alarm () --arranges for a --.B SIGALRM --signal to be delivered to the calling process in --.I seconds --seconds. --.PP --If --.I seconds --is zero, any pending alarm is canceled. --.PP --In any event any previously set --.BR alarm () --is canceled. --.SH RETURN VALUE --.BR alarm () --returns the number of seconds remaining until any previously scheduled --alarm was due to be delivered, or zero if there was no previously --scheduled alarm. --.SH CONFORMING TO --POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. --.SH NOTES --.BR alarm () --and --.BR setitimer (2) --share the same timer; calls to one will interfere with use of the --other. --.PP --Alarms created by --.BR alarm () --are preserved across --.BR execve (2) --and are not inherited by children created via --.BR fork (2). --.PP --.BR sleep (3) --may be implemented using --.BR SIGALRM ; --mixing calls to --.BR alarm () --and --.BR sleep (3) --is a bad idea. --.PP --Scheduling delays can, as ever, cause the execution of the process to --be delayed by an arbitrary amount of time. --.SH SEE ALSO --.BR gettimeofday (2), --.BR pause (2), --.BR select (2), --.BR setitimer (2), --.BR sigaction (2), --.BR signal (2), --.BR timer_create (2), --.BR timerfd_create (2), --.BR sleep (3), --.BR time (7) --.SH COLOPHON --This page is part of release 4.15 of the Linux --.I man-pages --project. --A description of the project, --information about reporting bugs, --and the latest version of this page, --can be found at --\%https://www.kernel.org/doc/man\-pages/. -diff --git a/man2/bdflush.2 b/man2/bdflush.2 -deleted file mode 100644 -index ac0df3e..0000000 ---- a/man2/bdflush.2 -+++ /dev/null -@@ -1,133 +0,0 @@ --.\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995. --.\" --.\" %%%LICENSE_START(GPLv2+_DOC_FULL) --.\" This is free documentation; you can redistribute it and/or --.\" modify it under the terms of the GNU General Public License as --.\" published by the Free Software Foundation; either version 2 of --.\" the License, or (at your option) any later version. --.\" --.\" The GNU General Public License's references to "object code" --.\" and "executables" are to be interpreted as the output of any --.\" document formatting or typesetting system, including --.\" intermediate and printed output. --.\" --.\" This manual is distributed in the hope that it will be useful, --.\" but WITHOUT ANY WARRANTY; without even the implied warranty of --.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --.\" GNU General Public License for more details. --.\" --.\" You should have received a copy of the GNU General Public --.\" License along with this manual; if not, see --.\" . --.\" %%%LICENSE_END --.\" --.\" Modified 1997-01-31 by Eric S. Raymond --.\" Modified 2004-06-17 by Michael Kerrisk --.\" --.TH BDFLUSH 2 2016-10-08 "Linux" "Linux Programmer's Manual" --.SH NAME --bdflush \- start, flush, or tune buffer-dirty-flush daemon --.SH SYNOPSIS --.nf --.B #include --.PP --.BI "int bdflush(int " func ", long *" address ); --.BI "int bdflush(int " func ", long " data ); --.fi --.SH DESCRIPTION --.IR Note : --Since Linux 2.6, --.\" As noted in a changes in the 2.5.12 source --this system call is deprecated and does nothing. --It is likely to disappear altogether in a future kernel release. --Nowadays, the task performed by --.BR bdflush () --is handled by the kernel --.I pdflush --thread. --.PP --.BR bdflush () --starts, flushes, or tunes the buffer-dirty-flush daemon. --Only a privileged process (one with the --.B CAP_SYS_ADMIN --capability) may call --.BR bdflush (). --.PP --If --.I func --is negative or 0, and no daemon has been started, then --.BR bdflush () --enters the daemon code and never returns. --.PP --If --.I func --is 1, --some dirty buffers are written to disk. --.PP --If --.I func --is 2 or more and is even (low bit is 0), then --.I address --is the address of a long word, --and the tuning parameter numbered --.RI "(" "func" "\-2)/2" --is returned to the caller in that address. --.PP --If --.I func --is 3 or more and is odd (low bit is 1), then --.I data --is a long word, --and the kernel sets tuning parameter numbered --.RI "(" "func" "\-3)/2" --to that value. --.PP --The set of parameters, their values, and their valid ranges --are defined in the Linux kernel source file --.IR fs/buffer.c . --.SH RETURN VALUE --If --.I func --is negative or 0 and the daemon successfully starts, --.BR bdflush () --never returns. --Otherwise, the return value is 0 on success and \-1 on failure, with --.I errno --set to indicate the error. --.SH ERRORS --.TP --.B EBUSY --An attempt was made to enter the daemon code after --another process has already entered. --.TP --.B EFAULT --.I address --points outside your accessible address space. --.TP --.B EINVAL --An attempt was made to read or write an invalid parameter number, --or to write an invalid value to a parameter. --.TP --.B EPERM --Caller does not have the --.B CAP_SYS_ADMIN --capability. --.SH VERSIONS --Since version 2.23, glibc no longer supports this obsolete system call. --.SH CONFORMING TO --.BR bdflush () --is Linux-specific and should not be used in programs --intended to be portable. --.SH SEE ALSO --.BR sync (1), --.BR fsync (2), --.BR sync (2) --.SH COLOPHON --This page is part of release 4.15 of the Linux --.I man-pages --project. --A description of the project, --information about reporting bugs, --and the latest version of this page, --can be found at --\%https://www.kernel.org/doc/man\-pages/. -diff --git a/man2/chmod.2 b/man2/chmod.2 -index 5c55553..9637954 100644 ---- a/man2/chmod.2 -+++ b/man2/chmod.2 -@@ -91,6 +91,11 @@ _ATFILE_SOURCE - .PD - .ad - .SH DESCRIPTION -+.BR chmod () -+system call is DEPRECATED, use -+.BR fchmodat () -+instead!!! -+.PP - The - .BR chmod () - and -diff --git a/man2/chown.2 b/man2/chown.2 -index ef358e0..b917e5c 100644 ---- a/man2/chown.2 -+++ b/man2/chown.2 -@@ -83,6 +83,13 @@ _ATFILE_SOURCE - .ad - .PD - .SH DESCRIPTION -+.BR chown () -+and -+.BR lchown () -+system calls are DEPRECATED, use -+.BR fchownat () -+instead!!! -+.PP - These system calls change the owner and group of a file. - The - .BR chown (), -diff --git a/man2/clone.2 b/man2/clone.2 -index 20ead6d..62bb4e6 100644 ---- a/man2/clone.2 -+++ b/man2/clone.2 -@@ -1206,6 +1206,27 @@ On i386, - .BR clone () - should not be called through vsyscall, but directly through - .IR "int $0x80" . -+ -+.BR clone() -+replaces -+.BR fork (2) -+and -+.BR vfork (2) -+system calls. -+A call to -+.BR fork (2) -+is equivalent to a call to -+.BR clone () -+specifying -+.I flags -+as just SIGCHLD. -+A call to -+.BR vfork (2) -+is equivalent to calling -+.BR clone () -+with -+.I flags -+specified as: CLONE_VM | CLONE_VFORK | SIGCHLD. - .SH BUGS - GNU C library versions 2.3.4 up to and including 2.24 - contained a wrapper function for -diff --git a/man2/dup.2 b/man2/dup.2 -index 1829b5e..6782677 100644 ---- a/man2/dup.2 -+++ b/man2/dup.2 -@@ -51,6 +51,13 @@ dup, dup2, dup3 \- duplicate a file descriptor - .BI "int dup3(int " oldfd ", int " newfd ", int " flags ); - .fi - .SH DESCRIPTION -+.BR dup2 () -+system call is DEPRECATED, use -+.BR dup3 () -+with -+.I flags -+set to 0 instead!!! -+.PP - The - .BR dup () - system call creates a copy of the file descriptor -diff --git a/man2/epoll_create.2 b/man2/epoll_create.2 -index 2bc253d..64143d6 100644 ---- a/man2/epoll_create.2 -+++ b/man2/epoll_create.2 -@@ -33,6 +33,11 @@ epoll_create, epoll_create1 \- open an epoll file descriptor - .fi - .SH DESCRIPTION - .BR epoll_create () -+system call is DEPRECATED, use -+.BR epoll_create1 () -+instead!!! -+.PP -+.BR epoll_create () - creates a new - .BR epoll (7) - instance. -diff --git a/man2/epoll_wait.2 b/man2/epoll_wait.2 -index 5edf20e..c3793ef 100644 ---- a/man2/epoll_wait.2 -+++ b/man2/epoll_wait.2 -@@ -33,6 +33,11 @@ epoll_wait, epoll_pwait \- wait for an I/O event on an epoll file descriptor - .BI " const sigset_t *" sigmask ); - .fi - .SH DESCRIPTION -+.BR epoll_wait () -+system call is DEPRECATED, use -+.BR epoll_pwait () -+instead!!! -+.PP - The - .BR epoll_wait () - system call waits for events on the -diff --git a/man2/eventfd.2 b/man2/eventfd.2 -index de2461f..0d06430 100644 ---- a/man2/eventfd.2 -+++ b/man2/eventfd.2 -@@ -28,6 +28,11 @@ eventfd \- create a file descriptor for event notification - .BI "int eventfd(unsigned int " initval ", int " flags ); - .SH DESCRIPTION - .BR eventfd () -+system call is DEPRECATED, use -+.BR eventfd2 () -+instead!!! -+.PP -+.BR eventfd () - creates an "eventfd object" that can be used as - an event wait/notify mechanism by user-space applications, - and by the kernel to notify user-space applications of events. -diff --git a/man2/fork.2 b/man2/fork.2 -deleted file mode 100644 -index c217a3a..0000000 ---- a/man2/fork.2 -+++ /dev/null -@@ -1,337 +0,0 @@ --.\" Copyright (C) 2006 Michael Kerrisk --.\" A few fragments remain from an earlier (1992) page by --.\" Drew Eckhardt (drew@cs.colorado.edu), --.\" --.\" %%%LICENSE_START(VERBATIM) --.\" Permission is granted to make and distribute verbatim copies of this --.\" manual provided the copyright notice and this permission notice are --.\" preserved on all copies. --.\" --.\" Permission is granted to copy and distribute modified versions of this --.\" manual under the conditions for verbatim copying, provided that the --.\" entire resulting derived work is distributed under the terms of a --.\" permission notice identical to this one. --.\" --.\" Since the Linux kernel and libraries are constantly changing, this --.\" manual page may be incorrect or out-of-date. The author(s) assume no --.\" responsibility for errors or omissions, or for damages resulting from --.\" the use of the information contained herein. The author(s) may not --.\" have taken the same level of care in the production of this manual, --.\" which is licensed free of charge, as they might when working --.\" professionally. --.\" --.\" Formatted or processed versions of this manual, if unaccompanied by --.\" the source, must acknowledge the copyright and authors of this work. --.\" %%%LICENSE_END --.\" --.\" Modified by Michael Haardt (michael@moria.de) --.\" Modified Sat Jul 24 13:22:07 1993 by Rik Faith (faith@cs.unc.edu) --.\" Modified 21 Aug 1994 by Michael Chastain (mec@shell.portal.com): --.\" Referenced 'clone(2)'. --.\" Modified 1995-06-10, 1996-04-18, 1999-11-01, 2000-12-24 --.\" by Andries Brouwer (aeb@cwi.nl) --.\" Modified, 27 May 2004, Michael Kerrisk --.\" Added notes on capability requirements --.\" 2006-09-04, Michael Kerrisk --.\" Greatly expanded, to describe all attributes that differ --.\" parent and child. --.\" --.TH FORK 2 2017-09-15 "Linux" "Linux Programmer's Manual" --.SH NAME --fork \- create a child process --.SH SYNOPSIS --.B #include --.br --.B #include --.PP --.B pid_t fork(void); --.SH DESCRIPTION --.BR fork () --creates a new process by duplicating the calling process. --The new process is referred to as the --.I child --process. --The calling process is referred to as the --.I parent --process. --.PP --The child process and the parent process run in separate memory spaces. --At the time of --.BR fork () --both memory spaces have the same content. --Memory writes, file mappings --.RB ( mmap (2)), --and unmappings --.RB ( munmap (2)) --performed by one of the processes do not affect the other. --.PP --The child process is an exact duplicate of the parent --process except for the following points: --.IP * 3 --The child has its own unique process ID, --and this PID does not match the ID of any existing process group --.RB ( setpgid (2)) --or session. --.IP * --The child's parent process ID is the same as the parent's process ID. --.IP * --The child does not inherit its parent's memory locks --.RB ( mlock (2), --.BR mlockall (2)). --.IP * --Process resource utilizations --.RB ( getrusage (2)) --and CPU time counters --.RB ( times (2)) --are reset to zero in the child. --.IP * --The child's set of pending signals is initially empty --.RB ( sigpending (2)). --.IP * --The child does not inherit semaphore adjustments from its parent --.RB ( semop (2)). --.IP * --The child does not inherit process-associated record locks from its parent --.RB ( fcntl (2)). --(On the other hand, it does inherit --.BR fcntl (2) --open file description locks and --.BR flock (2) --locks from its parent.) --.IP * --The child does not inherit timers from its parent --.RB ( setitimer (2), --.BR alarm (2), --.BR timer_create (2)). --.IP * --The child does not inherit outstanding asynchronous I/O operations --from its parent --.RB ( aio_read (3), --.BR aio_write (3)), --nor does it inherit any asynchronous I/O contexts from its parent (see --.BR io_setup (2)). --.PP --The process attributes in the preceding list are all specified --in POSIX.1. --The parent and child also differ with respect to the following --Linux-specific process attributes: --.IP * 3 --The child does not inherit directory change notifications (dnotify) --from its parent --(see the description of --.B F_NOTIFY --in --.BR fcntl (2)). --.IP * --The --.BR prctl (2) --.B PR_SET_PDEATHSIG --setting is reset so that the child does not receive a signal --when its parent terminates. --.IP * --The default timer slack value is set to the parent's --current timer slack value. --See the description of --.BR PR_SET_TIMERSLACK --in --.BR prctl (2). --.IP * --Memory mappings that have been marked with the --.BR madvise (2) --.B MADV_DONTFORK --flag are not inherited across a --.BR fork (). --.IP * --Memory in address ranges that have been marked with the --.BR madvise (2) --.B MADV_WIPEONFORK --flag is zeroed in the child after a --.BR fork (). --(The --.B MADV_WIPEONFORK --setting remains in place for those address ranges in the child.) --.IP * --The termination signal of the child is always --.B SIGCHLD --(see --.BR clone (2)). --.IP * --The port access permission bits set by --.BR ioperm (2) --are not inherited by the child; --the child must turn on any bits that it requires using --.BR ioperm (2). --.PP --Note the following further points: --.IP * 3 --The child process is created with a single thread\(emthe --one that called --.BR fork (). --The entire virtual address space of the parent is replicated in the child, --including the states of mutexes, condition variables, --and other pthreads objects; the use of --.BR pthread_atfork (3) --may be helpful for dealing with problems that this can cause. --.IP * --After a --.BR fork () --in a multithreaded program, --the child can safely call only async-signal-safe functions (see --.BR signal-safety (7)) --until such time as it calls --.BR execve (2). --.IP * --The child inherits copies of the parent's set of open file descriptors. --Each file descriptor in the child refers to the same --open file description (see --.BR open (2)) --as the corresponding file descriptor in the parent. --This means that the two file descriptors share open file status flags, --file offset, --and signal-driven I/O attributes (see the description of --.B F_SETOWN --and --.B F_SETSIG --in --.BR fcntl (2)). --.IP * --The child inherits copies of the parent's set of open message --queue descriptors (see --.BR mq_overview (7)). --Each file descriptor in the child refers to the same --open message queue description --as the corresponding file descriptor in the parent. --This means that the two file descriptors share the same flags --.RI ( mq_flags ). --.IP * --The child inherits copies of the parent's set of open directory streams (see --.BR opendir (3)). --POSIX.1 says that the corresponding directory streams --in the parent and child --.I may --share the directory stream positioning; --on Linux/glibc they do not. --.SH RETURN VALUE --On success, the PID of the child process is returned in the parent, --and 0 is returned in the child. --On failure, \-1 is returned in the parent, --no child process is created, and --.I errno --is set appropriately. --.SH ERRORS --.TP --.B EAGAIN --.\" NOTE! The following should match the description in pthread_create(3) --A system-imposed limit on the number of threads was encountered. --There are a number of limits that may trigger this error: --.RS --.IP * 3 --the --.BR RLIMIT_NPROC --soft resource limit (set via --.BR setrlimit (2)), --which limits the number of processes and threads for a real user ID, --was reached; --.IP * --the kernel's system-wide limit on the number of processes and threads, --.IR /proc/sys/kernel/threads-max , --was reached (see --.BR proc (5)); --.IP * --the maximum number of PIDs, --.IR /proc/sys/kernel/pid_max , --was reached (see --.BR proc (5)); --or --.IP * --the PID limit --.RI ( pids.max ) --imposed by the cgroup "process number" (PIDs) controller was reached. --.RE --.TP --.B EAGAIN --The caller is operating under the --.BR SCHED_DEADLINE --scheduling policy and does not have the reset-on-fork flag set. --See --.BR sched (7). --.TP --.B ENOMEM --.BR fork () --failed to allocate the necessary kernel structures because memory is tight. --.TP --.B ENOMEM --An attempt was made to create a child process in a PID namespace --whose "init" process has terminated. --See --.BR pid_namespaces (7). --.TP --.B ENOSYS --.BR fork () --is not supported on this platform (for example, --.\" e.g., arm (optionally), blackfin, c6x, frv, h8300, microblaze, xtensa --hardware without a Memory-Management Unit). --.TP --.BR ERESTARTNOINTR " (since Linux 2.6.17)" --.\" commit 4a2c7a7837da1b91468e50426066d988050e4d56 --System call was interrupted by a signal and will be restarted. --(This can be seen only during a trace.) --.SH CONFORMING TO --POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. --.SH NOTES --.PP --Under Linux, --.BR fork () --is implemented using copy-on-write pages, so the only penalty that it incurs --is the time and memory required to duplicate the parent's page tables, --and to create a unique task structure for the child. --.SS C library/kernel differences --Since version 2.3.3, --.\" nptl/sysdeps/unix/sysv/linux/fork.c --rather than invoking the kernel's --.BR fork () --system call, --the glibc --.BR fork () --wrapper that is provided as part of the --NPTL threading implementation invokes --.BR clone (2) --with flags that provide the same effect as the traditional system call. --(A call to --.BR fork () --is equivalent to a call to --.BR clone (2) --specifying --.I flags --as just --.BR SIGCHLD .) --The glibc wrapper invokes any fork handlers that have been --established using --.BR pthread_atfork (3). --.\" and does some magic to ensure that getpid(2) returns the right value. --.SH EXAMPLE --See --.BR pipe (2) --and --.BR wait (2). --.SH SEE ALSO --.BR clone (2), --.BR execve (2), --.BR exit (2), --.BR setrlimit (2), --.BR unshare (2), --.BR vfork (2), --.BR wait (2), --.BR daemon (3), --.BR pthread_atfork (3), --.BR capabilities (7), --.BR credentials (7) --.SH COLOPHON --This page is part of release 4.15 of the Linux --.I man-pages --project. --A description of the project, --information about reporting bugs, --and the latest version of this page, --can be found at --\%https://www.kernel.org/doc/man\-pages/. -diff --git a/man2/futimesat.2 b/man2/futimesat.2 -deleted file mode 100644 -index 8991c98..0000000 ---- a/man2/futimesat.2 -+++ /dev/null -@@ -1,142 +0,0 @@ --.\" This manpage is Copyright (C) 2006, Michael Kerrisk --.\" --.\" %%%LICENSE_START(VERBATIM) --.\" Permission is granted to make and distribute verbatim copies of this --.\" manual provided the copyright notice and this permission notice are --.\" preserved on all copies. --.\" --.\" Permission is granted to copy and distribute modified versions of this --.\" manual under the conditions for verbatim copying, provided that the --.\" entire resulting derived work is distributed under the terms of a --.\" permission notice identical to this one. --.\" --.\" Since the Linux kernel and libraries are constantly changing, this --.\" manual page may be incorrect or out-of-date. The author(s) assume no --.\" responsibility for errors or omissions, or for damages resulting from --.\" the use of the information contained herein. The author(s) may not --.\" have taken the same level of care in the production of this manual, --.\" which is licensed free of charge, as they might when working --.\" professionally. --.\" --.\" Formatted or processed versions of this manual, if unaccompanied by --.\" the source, must acknowledge the copyright and authors of this work. --.\" %%%LICENSE_END --.\" --.TH FUTIMESAT 2 2017-09-15 "Linux" "Linux Programmer's Manual" --.SH NAME --futimesat \- change timestamps of a file relative to a \ --directory file descriptor --.SH SYNOPSIS --.nf --.B #include /* Definition of AT_* constants */ --.B #include --.PP --.BI "int futimesat(int " dirfd ", const char *" pathname , --.BI " const struct timeval " times [2]); --.fi --.PP --.in -4n --Feature Test Macro Requirements for glibc (see --.BR feature_test_macros (7)): --.in --.PP --.BR futimesat (): --_GNU_SOURCE --.SH DESCRIPTION --This system call is obsolete. --Use --.BR utimensat (2) --instead. --.PP --The --.BR futimesat () --system call operates in exactly the same way as --.BR utimes (2), --except for the differences described in this manual page. --.PP --If the pathname given in --.I pathname --is relative, then it is interpreted relative to the directory --referred to by the file descriptor --.I dirfd --(rather than relative to the current working directory of --the calling process, as is done by --.BR utimes (2) --for a relative pathname). --.PP --If --.I pathname --is relative and --.I dirfd --is the special value --.BR AT_FDCWD , --then --.I pathname --is interpreted relative to the current working --directory of the calling process (like --.BR utimes (2)). --.PP --If --.I pathname --is absolute, then --.I dirfd --is ignored. --.SH RETURN VALUE --On success, --.BR futimesat () --returns a 0. --On error, \-1 is returned and --.I errno --is set to indicate the error. --.SH ERRORS --The same errors that occur for --.BR utimes (2) --can also occur for --.BR futimesat (). --The following additional errors can occur for --.BR futimesat (): --.TP --.B EBADF --.I dirfd --is not a valid file descriptor. --.TP --.B ENOTDIR --.I pathname --is relative and --.I dirfd --is a file descriptor referring to a file other than a directory. --.SH VERSIONS --.BR futimesat () --was added to Linux in kernel 2.6.16; --library support was added to glibc in version 2.4. --.SH CONFORMING TO --This system call is nonstandard. --It was implemented from a specification that was proposed for POSIX.1, --but that specification was replaced by the one for --.BR utimensat (2). --.PP --A similar system call exists on Solaris. --.SH NOTES --.SS Glibc notes --If --.I pathname --is NULL, then the glibc --.BR futimesat () --wrapper function updates the times for the file referred to by --.IR dirfd . --.\" The Solaris futimesat() also has this strangeness. --.SH SEE ALSO --.BR stat (2), --.BR utimensat (2), --.BR utimes (2), --.BR futimes (3), --.BR path_resolution (7) --.SH COLOPHON --This page is part of release 4.15 of the Linux --.I man-pages --project. --A description of the project, --information about reporting bugs, --and the latest version of this page, --can be found at --\%https://www.kernel.org/doc/man\-pages/. -diff --git a/man2/getdents.2 b/man2/getdents.2 -index 73d57cc..0a650fe 100644 ---- a/man2/getdents.2 -+++ b/man2/getdents.2 -@@ -42,6 +42,13 @@ getdents, getdents64 \- get directory entries - .IR Note : - There are no glibc wrappers for these system calls; see NOTES. - .SH DESCRIPTION -+.BR getdents () -+system call is DEPRECATED, use -+.BR getdents64 () -+or -+.BR readdir (3) -+instead!!! -+.PP - These are not the interfaces you are interested in. - Look at - .BR readdir (3) -diff --git a/man2/inotify_init.2 b/man2/inotify_init.2 -index cf95d03..b55979e 100644 ---- a/man2/inotify_init.2 -+++ b/man2/inotify_init.2 -@@ -41,6 +41,11 @@ For an overview of the inotify API, see - .BR inotify (7). - .PP - .BR inotify_init () -+system call is DEPRECATED, use -+.BR inotify_init1 () -+instead!!! -+.PP -+.BR inotify_init () - initializes a new inotify instance and returns a file descriptor associated - with a new inotify event queue. - .PP -diff --git a/man2/link.2 b/man2/link.2 -index 0742aed..442115c 100644 ---- a/man2/link.2 -+++ b/man2/link.2 -@@ -65,6 +65,11 @@ _ATFILE_SOURCE - .PD - .SH DESCRIPTION - .BR link () -+system call is DEPRECATED, use -+.BR linkat () -+instead!!! -+.PP -+.BR link () - creates a new link (also known as a hard link) to an existing file. - .PP - If -diff --git a/man2/mkdir.2 b/man2/mkdir.2 -index 28839bd..9a2f151 100644 ---- a/man2/mkdir.2 -+++ b/man2/mkdir.2 -@@ -45,6 +45,11 @@ _ATFILE_SOURCE - .PD - .SH DESCRIPTION - .BR mkdir () -+system call is DEPRECATED, use -+.BR mkdirat () -+instead!!! -+.PP -+.BR mkdir () - attempts to create a directory named - .IR pathname . - .PP -diff --git a/man2/mknod.2 b/man2/mknod.2 -index 82134da..49ef104 100644 ---- a/man2/mknod.2 -+++ b/man2/mknod.2 -@@ -46,6 +46,11 @@ _XOPEN_SOURCE\ >=\ 500 - .RE - .ad - .SH DESCRIPTION -+.BR mknod () -+system call is DEPRECATED, use -+.BR mknodat () -+instead!!! -+.PP - The system call - .BR mknod () - creates a filesystem node (file, device special file, or -diff --git a/man2/open.2 b/man2/open.2 -index 0f9a9e7..2eec9c6 100644 ---- a/man2/open.2 -+++ b/man2/open.2 -@@ -86,6 +86,13 @@ _ATFILE_SOURCE - .ad - .PD - .SH DESCRIPTION -+.BR open () -+and -+.BR creat () -+system calls are DEPRECATED, use -+.BR openat () -+instead!!! -+.PP - The - .BR open () - system call opens the file specified by -diff --git a/man2/pause.2 b/man2/pause.2 -deleted file mode 100644 -index 1a3aa54..0000000 ---- a/man2/pause.2 -+++ /dev/null -@@ -1,72 +0,0 @@ --.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 --.\" --.\" %%%LICENSE_START(VERBATIM) --.\" Permission is granted to make and distribute verbatim copies of this --.\" manual provided the copyright notice and this permission notice are --.\" preserved on all copies. --.\" --.\" Permission is granted to copy and distribute modified versions of this --.\" manual under the conditions for verbatim copying, provided that the --.\" entire resulting derived work is distributed under the terms of a --.\" permission notice identical to this one. --.\" --.\" Since the Linux kernel and libraries are constantly changing, this --.\" manual page may be incorrect or out-of-date. The author(s) assume no --.\" responsibility for errors or omissions, or for damages resulting from --.\" the use of the information contained herein. The author(s) may not --.\" have taken the same level of care in the production of this manual, --.\" which is licensed free of charge, as they might when working --.\" professionally. --.\" --.\" Formatted or processed versions of this manual, if unaccompanied by --.\" the source, must acknowledge the copyright and authors of this work. --.\" %%%LICENSE_END --.\" --.\" Modified by Michael Haardt (michael@moria.de) --.\" Modified Sat Jul 24 14:48:00 1993 by Rik Faith (faith@cs.unc.edu) --.\" Modified 1995 by Mike Battersby (mib@deakin.edu.au) --.\" Modified 2000 by aeb, following Michael Kerrisk --.\" --.TH PAUSE 2 2015-08-08 "Linux" "Linux Programmer's Manual" --.SH NAME --pause \- wait for signal --.SH SYNOPSIS --.B #include --.PP --.B int pause(void); --.SH DESCRIPTION --.BR pause () --causes the calling process (or thread) to sleep --until a signal is delivered that either terminates the process or causes --the invocation of a signal-catching function. --.SH RETURN VALUE --.BR pause () --returns only when a signal was caught and the --signal-catching function returned. --In this case, --.BR pause () --returns \-1, and --.I errno --is set to --.\" .BR ERESTARTNOHAND . --.BR EINTR . --.SH ERRORS --.TP --.B EINTR --a signal was caught and the signal-catching function returned. --.SH CONFORMING TO --POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. --.SH SEE ALSO --.BR kill (2), --.BR select (2), --.BR signal (2), --.BR sigsuspend (2) --.SH COLOPHON --This page is part of release 4.15 of the Linux --.I man-pages --project. --A description of the project, --information about reporting bugs, --and the latest version of this page, --can be found at --\%https://www.kernel.org/doc/man\-pages/. -diff --git a/man2/pipe.2 b/man2/pipe.2 -index 1f2e565..baffbee 100644 ---- a/man2/pipe.2 -+++ b/man2/pipe.2 -@@ -50,6 +50,11 @@ pipe, pipe2 \- create pipe - .fi - .SH DESCRIPTION - .BR pipe () -+system call is DEPRECATED, use -+.BR pipe2 () -+instead!!! -+.PP -+.BR pipe () - creates a pipe, a unidirectional data channel that - can be used for interprocess communication. - The array -diff --git a/man2/poll.2 b/man2/poll.2 -index ea4fed9..8c7fb37 100644 ---- a/man2/poll.2 -+++ b/man2/poll.2 -@@ -46,6 +46,11 @@ poll, ppoll \- wait for some event on a file descriptor - .fi - .SH DESCRIPTION - .BR poll () -+system call is DEPRECATED, use -+.BR ppoll () -+instead!!! -+.PP -+.BR poll () - performs a similar task to - .BR select (2): - it waits for one of a set of file descriptors to become ready -diff --git a/man2/readlink.2 b/man2/readlink.2 -index 8a72a37..9b00999 100644 ---- a/man2/readlink.2 -+++ b/man2/readlink.2 -@@ -86,6 +86,11 @@ _ATFILE_SOURCE - .PD - .SH DESCRIPTION - .BR readlink () -+system call is DEPRECATED, use -+.BR readlinkat () -+instead!!! -+.PP -+.BR readlink () - places the contents of the symbolic link - .I pathname - in the buffer -diff --git a/man2/recv.2 b/man2/recv.2 -index c6d4c86..3400ea7 100644 ---- a/man2/recv.2 -+++ b/man2/recv.2 -@@ -57,6 +57,13 @@ recv, recvfrom, recvmsg \- receive a message from a socket - .BI "ssize_t recvmsg(int " sockfd ", struct msghdr *" msg ", int " flags ); - .fi - .SH DESCRIPTION -+.BR recv () -+system call is DEPRECATED, use -+.BR recvfrom () -+with a NULL -+.I src_addr -+argument! -+.PP - The - .BR recv (), - .BR recvfrom (), -diff --git a/man2/rename.2 b/man2/rename.2 -index f8b4991..457e081 100644 ---- a/man2/rename.2 -+++ b/man2/rename.2 -@@ -76,6 +76,11 @@ _ATFILE_SOURCE - .PD - .SH DESCRIPTION - .BR rename () -+system call is DEPRECATED, use -+.BR renameat () -+instead!!! -+.PP -+.BR rename () - renames a file, moving it between directories if required. - Any other hard links to the file (as created using - .BR link (2)) -diff --git a/man2/rmdir.2 b/man2/rmdir.2 -deleted file mode 100644 -index 1eff7cd..0000000 ---- a/man2/rmdir.2 -+++ /dev/null -@@ -1,150 +0,0 @@ --.\" This manpage is Copyright (C) 1992 Drew Eckhardt; --.\" and Copyright (C) 1993 Michael Haardt, Ian Jackson. --.\" --.\" %%%LICENSE_START(VERBATIM) --.\" Permission is granted to make and distribute verbatim copies of this --.\" manual provided the copyright notice and this permission notice are --.\" preserved on all copies. --.\" --.\" Permission is granted to copy and distribute modified versions of this --.\" manual under the conditions for verbatim copying, provided that the --.\" entire resulting derived work is distributed under the terms of a --.\" permission notice identical to this one. --.\" --.\" Since the Linux kernel and libraries are constantly changing, this --.\" manual page may be incorrect or out-of-date. The author(s) assume no --.\" responsibility for errors or omissions, or for damages resulting from --.\" the use of the information contained herein. The author(s) may not --.\" have taken the same level of care in the production of this manual, --.\" which is licensed free of charge, as they might when working --.\" professionally. --.\" --.\" Formatted or processed versions of this manual, if unaccompanied by --.\" the source, must acknowledge the copyright and authors of this work. --.\" %%%LICENSE_END --.\" --.\" Modified 1993-07-24 by Rik Faith --.\" Modified 1997-01-31 by Eric S. Raymond --.\" Modified 2004-06-23 by Michael Kerrisk --.\" --.TH RMDIR 2 2015-08-08 "Linux" "Linux Programmer's Manual" --.SH NAME --rmdir \- delete a directory --.SH SYNOPSIS --.B #include --.PP --.BI "int rmdir(const char *" pathname ); --.SH DESCRIPTION --.BR rmdir () --deletes a directory, which must be empty. --.SH RETURN VALUE --On success, zero is returned. --On error, \-1 is returned, and --.I errno --is set appropriately. --.SH ERRORS --.TP --.B EACCES --Write access to the directory containing --.I pathname --was not allowed, or one of the directories in the path prefix of --.I pathname --did not allow search permission. --(See also --.BR path_resolution (7). --.TP --.B EBUSY --.I pathname --is currently in use by the system or some process that prevents its --removal. --On Linux, this means --.I pathname --is currently used as a mount point --or is the root directory of the calling process. --.TP --.B EFAULT --.IR pathname " points outside your accessible address space." --.TP --.B EINVAL --.I pathname --has --.I . --as last component. --.TP --.B ELOOP --Too many symbolic links were encountered in resolving --.IR pathname . --.TP --.B ENAMETOOLONG --.IR pathname " was too long." --.TP --.B ENOENT --A directory component in --.I pathname --does not exist or is a dangling symbolic link. --.TP --.B ENOMEM --Insufficient kernel memory was available. --.TP --.B ENOTDIR --.IR pathname , --or a component used as a directory in --.IR pathname , --is not, in fact, a directory. --.TP --.B ENOTEMPTY --.I pathname --contains entries other than --.IR . " and " .. " ;" --or, --.I pathname --has --.I .. --as its final component. --POSIX.1 also allows --.\" POSIX.1-2001, POSIX.1-2008 --.B EEXIST --for this condition. --.TP --.B EPERM --The directory containing --.I pathname --has the sticky bit --.RB ( S_ISVTX ) --set and the process's effective user ID is neither the user ID --of the file to be deleted nor that of the directory containing it, --and the process is not privileged (Linux: does not have the --.B CAP_FOWNER --capability). --.TP --.B EPERM --The filesystem containing --.I pathname --does not support the removal of directories. --.TP --.B EROFS --.I pathname --refers to a directory on a read-only filesystem. --.SH CONFORMING TO --POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. --.SH BUGS --Infelicities in the protocol underlying NFS can cause the unexpected --disappearance of directories which are still being used. --.SH SEE ALSO --.BR rm (1), --.BR rmdir (1), --.BR chdir (2), --.BR chmod (2), --.BR mkdir (2), --.BR rename (2), --.BR unlink (2), --.BR unlinkat (2) --.SH COLOPHON --This page is part of release 4.15 of the Linux --.I man-pages --project. --A description of the project, --information about reporting bugs, --and the latest version of this page, --can be found at --\%https://www.kernel.org/doc/man\-pages/. -diff --git a/man2/select.2 b/man2/select.2 -index c0a3a47..9fce598 100644 ---- a/man2/select.2 -+++ b/man2/select.2 -@@ -73,6 +73,11 @@ Feature Test Macro Requirements for glibc (see - _POSIX_C_SOURCE\ >=\ 200112L - .SH DESCRIPTION - .BR select () -+system call is DEPRECATED, use -+.BR pselect () -+instead!!! -+.PP -+.BR select () - and - .BR pselect () - allow a program to monitor multiple file descriptors, -diff --git a/man2/send.2 b/man2/send.2 -index e0bea6d..e5b4082 100644 ---- a/man2/send.2 -+++ b/man2/send.2 -@@ -56,6 +56,13 @@ send, sendto, sendmsg \- send a message on a socket - ", int " flags ); - .fi - .SH DESCRIPTION -+.BR send () -+system call is DEPRECATED, use -+.BR sendto () -+with a NULL -+.I dest_addr -+instead!!! -+.PP - The system calls - .BR send (), - .BR sendto (), -diff --git a/man2/setpgid.2 b/man2/setpgid.2 -index 6f6b337..3574aed 100644 ---- a/man2/setpgid.2 -+++ b/man2/setpgid.2 -@@ -99,6 +99,11 @@ _XOPEN_SOURCE\ >=\ 500 - .fi - .ad - .SH DESCRIPTION -+.BR getpgrp () -+system call is DEPRECATED, use -+.BR getpgid () -+instead!!! -+.PP - All of these interfaces are available on Linux, - and are used for getting and setting the - process group ID (PGID) of a process. -diff --git a/man2/signalfd.2 b/man2/signalfd.2 -index 90e81ef..10ac204 100644 ---- a/man2/signalfd.2 -+++ b/man2/signalfd.2 -@@ -26,6 +26,11 @@ signalfd \- create a file descriptor for accepting signals - .BI "int signalfd(int " fd ", const sigset_t *" mask ", int " flags ); - .SH DESCRIPTION - .BR signalfd () -+system call is DEPRECATED, use -+.BR signalfd4 () -+instead!!! -+.PP -+.BR signalfd () - creates a file descriptor that can be used to accept signals - targeted at the caller. - This provides an alternative to the use of a signal handler or -diff --git a/man2/symlink.2 b/man2/symlink.2 -index ce0cbe7..78ad595 100644 ---- a/man2/symlink.2 -+++ b/man2/symlink.2 -@@ -74,6 +74,11 @@ _ATFILE_SOURCE - .PD - .SH DESCRIPTION - .BR symlink () -+system call is DEPRECATED, use -+.BR symlinkat () -+instead!!! -+.PP -+.BR symlink () - creates a symbolic link named - .I linkpath - which contains the string -diff --git a/man2/sysctl.2 b/man2/sysctl.2 -deleted file mode 100644 -index 849f1b5..0000000 ---- a/man2/sysctl.2 -+++ /dev/null -@@ -1,190 +0,0 @@ --.\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl) --.\" --.\" %%%LICENSE_START(VERBATIM) --.\" Permission is granted to make and distribute verbatim copies of this --.\" manual provided the copyright notice and this permission notice are --.\" preserved on all copies. --.\" --.\" Permission is granted to copy and distribute modified versions of this --.\" manual under the conditions for verbatim copying, provided that the --.\" entire resulting derived work is distributed under the terms of a --.\" permission notice identical to this one. --.\" --.\" Since the Linux kernel and libraries are constantly changing, this --.\" manual page may be incorrect or out-of-date. The author(s) assume no --.\" responsibility for errors or omissions, or for damages resulting from --.\" the use of the information contained herein. The author(s) may not --.\" have taken the same level of care in the production of this manual, --.\" which is licensed free of charge, as they might when working --.\" professionally. --.\" --.\" Formatted or processed versions of this manual, if unaccompanied by --.\" the source, must acknowledge the copyright and authors of this work. --.\" %%%LICENSE_END --.\" --.\" Written 11 April 1996 by Andries Brouwer --.\" 960412: Added comments from Stephen Tweedie --.\" Modified Tue Oct 22 22:28:41 1996 by Eric S. Raymond --.\" Modified Mon Jan 5 20:31:04 1998 by aeb. --.\" --.TH SYSCTL 2 2017-09-15 "Linux" "Linux Programmer's Manual" --.SH NAME --sysctl \- read/write system parameters --.SH SYNOPSIS --.nf --.B #include --.B #include --.PP --.BI "int _sysctl(struct __sysctl_args *" args ); --.fi --.PP --.IR Note : --There is no glibc wrapper for this system call; see NOTES. --.SH DESCRIPTION --.B Do not use this system call! --See NOTES. --.PP --The --.BR _sysctl () --call reads and/or writes kernel parameters. --For example, the hostname, --or the maximum number of open files. --The argument has the form --.PP --.in +4n --.EX --struct __sysctl_args { -- int *name; /* integer vector describing variable */ -- int nlen; /* length of this vector */ -- void *oldval; /* 0 or address where to store old value */ -- size_t *oldlenp; /* available room for old value, -- overwritten by actual size of old value */ -- void *newval; /* 0 or address of new value */ -- size_t newlen; /* size of new value */ --}; --.EE --.in --.PP --This call does a search in a tree structure, possibly resembling --a directory tree under --.IR /proc/sys , --and if the requested item is found calls some appropriate routine --to read or modify the value. --.SH RETURN VALUE --Upon successful completion, --.BR _sysctl () --returns 0. --Otherwise, a value of \-1 is returned and --.I errno --is set to indicate the error. --.SH ERRORS --.TP --.BR EACCES ", " EPERM --No search permission for one of the encountered "directories", --or no read permission where --.I oldval --was nonzero, or no write permission where --.I newval --was nonzero. --.TP --.B EFAULT --The invocation asked for the previous value by setting --.I oldval --non-NULL, but allowed zero room in --.IR oldlenp . --.TP --.B ENOTDIR --.I name --was not found. --.SH CONFORMING TO --This call is Linux-specific, and should not be used in programs --intended to be portable. --A --.BR sysctl () --call has been present in Linux since version 1.3.57. --It originated in --4.4BSD. --Only Linux has the --.I /proc/sys --mirror, and the object naming schemes differ between Linux and 4.4BSD, --but the declaration of the --.BR sysctl () --function is the same in both. --.SH NOTES --Glibc does not provide a wrapper for this system call; call it using --.BR syscall (2). --Or rather... --.I don't --call it: --use of this system call has long been discouraged, --and it is so unloved that --\fBit is likely to disappear in a future kernel version\fP. --.\" See http://lwn.net/Articles/247243/ --Since Linux 2.6.24, --uses of this system call result in warnings in the kernel log. --.\" Though comments in suggest that it is needed by old glibc binaries, --.\" so maybe it's not going away. --Remove it from your programs now; use the --.I /proc/sys --interface instead. --.PP --This system call is available only if the kernel was configured with the --.B CONFIG_SYSCTL_SYSCALL --option. --.SH BUGS --The object names vary between kernel versions, --making this system call worthless for applications. --.PP --Not all available objects are properly documented. --.PP --It is not yet possible to change operating system by writing to --.IR /proc/sys/kernel/ostype . --.SH EXAMPLE --.EX --#define _GNU_SOURCE --#include --#include --#include --#include --#include --#include -- --int _sysctl(struct __sysctl_args *args ); -- --#define OSNAMESZ 100 -- --int --main(void) --{ -- struct __sysctl_args args; -- char osname[OSNAMESZ]; -- size_t osnamelth; -- int name[] = { CTL_KERN, KERN_OSTYPE }; -- -- memset(&args, 0, sizeof(struct __sysctl_args)); -- args.name = name; -- args.nlen = sizeof(name)/sizeof(name[0]); -- args.oldval = osname; -- args.oldlenp = &osnamelth; -- -- osnamelth = sizeof(osname); -- -- if (syscall(SYS__sysctl, &args) == \-1) { -- perror("_sysctl"); -- exit(EXIT_FAILURE); -- } -- printf("This machine is running %*s\\n", osnamelth, osname); -- exit(EXIT_SUCCESS); --} --.EE --.SH SEE ALSO --.BR proc (5) --.SH COLOPHON --This page is part of release 4.15 of the Linux --.I man-pages --project. --A description of the project, --information about reporting bugs, --and the latest version of this page, --can be found at --\%https://www.kernel.org/doc/man\-pages/. -diff --git a/man2/time.2 b/man2/time.2 -deleted file mode 100644 -index 00a9b4d..0000000 ---- a/man2/time.2 -+++ /dev/null -@@ -1,140 +0,0 @@ --.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 --.\" --.\" %%%LICENSE_START(VERBATIM) --.\" Permission is granted to make and distribute verbatim copies of this --.\" manual provided the copyright notice and this permission notice are --.\" preserved on all copies. --.\" --.\" Permission is granted to copy and distribute modified versions of this --.\" manual under the conditions for verbatim copying, provided that the --.\" entire resulting derived work is distributed under the terms of a --.\" permission notice identical to this one. --.\" --.\" Since the Linux kernel and libraries are constantly changing, this --.\" manual page may be incorrect or out-of-date. The author(s) assume no --.\" responsibility for errors or omissions, or for damages resulting from --.\" the use of the information contained herein. The author(s) may not --.\" have taken the same level of care in the production of this manual, --.\" which is licensed free of charge, as they might when working --.\" professionally. --.\" --.\" Formatted or processed versions of this manual, if unaccompanied by --.\" the source, must acknowledge the copyright and authors of this work. --.\" %%%LICENSE_END --.\" --.\" Modified by Michael Haardt --.\" Modified Sat Jul 24 14:13:40 1993 by Rik Faith --.\" Additions by Joseph S. Myers , 970909 --.\" --.TH TIME 2 2017-09-15 "Linux" "Linux Programmer's Manual" --.SH NAME --time \- get time in seconds --.SH SYNOPSIS --.B #include --.PP --.BI "time_t time(time_t *" tloc ); --.SH DESCRIPTION --.BR time () --returns the time as the number of seconds since the --Epoch, 1970-01-01 00:00:00 +0000 (UTC). --.PP --If --.I tloc --is non-NULL, --the return value is also stored in the memory pointed to by --.IR tloc . --.SH RETURN VALUE --On success, the value of time in seconds since the Epoch is returned. --On error, \fI((time_t)\ \-1)\fP is returned, and \fIerrno\fP is set --appropriately. --.SH ERRORS --.TP --.B EFAULT --.I tloc --points outside your accessible address space (but see BUGS). --.IP --On systems where the C library --.BR time () --wrapper function invokes an implementation provided by the --.BR vdso (7) --(so that there is no trap into the kernel), --an invalid address may instead trigger a --.B SIGSEGV --signal. --.SH CONFORMING TO --SVr4, 4.3BSD, C89, C99, POSIX.1-2001. --.\" Under 4.3BSD, this call is obsoleted by --.\" .BR gettimeofday (2). --POSIX does not specify any error conditions. --.SH NOTES --POSIX.1 defines --.I seconds since the Epoch --using a formula that approximates the number of seconds between a --specified time and the Epoch. --This formula takes account of the facts that --all years that are evenly divisible by 4 are leap years, --but years that are evenly divisible by 100 are not leap years --unless they are also evenly divisible by 400, --in which case they are leap years. --This value is not the same as the actual number of seconds between the time --and the Epoch, because of leap seconds and because system clocks are not --required to be synchronized to a standard reference. --The intention is that the interpretation of seconds since the Epoch values be --consistent; see POSIX.1-2008 Rationale A.4.15 for further rationale. --.PP --On Linux, a call to --.BR time () --with --.I tloc --specified as NULL cannot fail with the error --.BR EOVERFLOW , --even on ABIs where --.I time_t --is a signed 32-bit integer and the clock ticks past the time 2**31 --(2038-01-19 03:14:08 UTC, ignoring leap seconds). --(POSIX.1 permits, but does not require, the --.B EOVERFLOW --error in the case where the seconds since the Epoch will not fit in --.IR time_t .) --Instead, the behavior on Linux is undefined when the system time is out of the --.I time_t --range. --Applications intended to run after 2038 should use ABIs with --.I time_t --wider than 32 bits. --.SH BUGS --Error returns from this system call are indistinguishable from --successful reports that the time is a few seconds --.I before --the Epoch, so the C library wrapper function never sets --.I errno --as a result of this call. --.PP --The --.I tloc --argument is obsolescent and should always be NULL in new code. --When --.I tloc --is NULL, the call cannot fail. --.\" --.SS C library/kernel differences --On some architectures, an implementation of --.BR time () --is provided in the --.BR vdso (7). --.SH SEE ALSO --.BR date (1), --.BR gettimeofday (2), --.BR ctime (3), --.BR ftime (3), --.BR time (7), --.BR vdso (7) --.SH COLOPHON --This page is part of release 4.15 of the Linux --.I man-pages --project. --A description of the project, --information about reporting bugs, --and the latest version of this page, --can be found at --\%https://www.kernel.org/doc/man\-pages/. -diff --git a/man2/umount.2 b/man2/umount.2 -index 292076c..b43443a 100644 ---- a/man2/umount.2 -+++ b/man2/umount.2 -@@ -40,6 +40,11 @@ umount, umount2 \- unmount filesystem - .fi - .SH DESCRIPTION - .BR umount () -+system call is DEPRECATED, use -+.BR umount2 () -+instead!!! -+.PP -+.BR umount () - and - .BR umount2 () - remove the attachment of the (topmost) filesystem mounted on -diff --git a/man2/unlink.2 b/man2/unlink.2 -index b25b153..93bdb63 100644 ---- a/man2/unlink.2 -+++ b/man2/unlink.2 -@@ -65,6 +65,11 @@ _ATFILE_SOURCE - .PD - .SH DESCRIPTION - .BR unlink () -+system call is DEPRECATED, use -+.BR unlinkat () -+instead!!! -+.PP -+.BR unlink () - deletes a name from the filesystem. - If that name was the - last link to a file and no processes have the file open, the file is -diff --git a/man2/uselib.2 b/man2/uselib.2 -deleted file mode 100644 -index df7bad5..0000000 ---- a/man2/uselib.2 -+++ /dev/null -@@ -1,138 +0,0 @@ --.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 --.\" --.\" %%%LICENSE_START(VERBATIM) --.\" Permission is granted to make and distribute verbatim copies of this --.\" manual provided the copyright notice and this permission notice are --.\" preserved on all copies. --.\" --.\" Permission is granted to copy and distribute modified versions of this --.\" manual under the conditions for verbatim copying, provided that the --.\" entire resulting derived work is distributed under the terms of a --.\" permission notice identical to this one. --.\" --.\" Since the Linux kernel and libraries are constantly changing, this --.\" manual page may be incorrect or out-of-date. The author(s) assume no --.\" responsibility for errors or omissions, or for damages resulting from --.\" the use of the information contained herein. The author(s) may not --.\" have taken the same level of care in the production of this manual, --.\" which is licensed free of charge, as they might when working --.\" professionally. --.\" --.\" Formatted or processed versions of this manual, if unaccompanied by --.\" the source, must acknowledge the copyright and authors of this work. --.\" %%%LICENSE_END --.\" --.\" Modified by Michael Haardt --.\" Modified 1993-07-24 by Rik Faith --.\" Modified 1996-10-22 by Eric S. Raymond --.\" Modified 2004-06-23 by Michael Kerrisk --.\" Modified 2005-01-09 by aeb --.\" --.TH USELIB 2 2017-09-15 "Linux" "Linux Programmer's Manual" --.SH NAME --uselib \- load shared library --.SH SYNOPSIS --.B #include --.PP --.BI "int uselib(const char *" library ); --.PP --.IR Note : --No declaration of this system call is provided in glibc headers; see NOTES. --.SH DESCRIPTION --The system call --.BR uselib () --serves to load --a shared library to be used by the calling process. --It is given a pathname. --The address where to load is found --in the library itself. --The library can have any recognized --binary format. --.SH RETURN VALUE --On success, zero is returned. --On error, \-1 is returned, and --.I errno --is set appropriately. --.SH ERRORS --In addition to all of the error codes returned by --.BR open (2) --and --.BR mmap (2), --the following may also be returned: --.TP --.B EACCES --The library specified by --.I library --does not have read or execute permission, or the caller does not have --search permission for one of the directories in the path prefix. --(See also --.BR path_resolution (7).) --.TP --.B ENFILE --The system-wide limit on the total number of open files has been reached. --.TP --.B ENOEXEC --The file specified by --.I library --is not an executable of a known type; --for example, it does not have the correct magic numbers. --.SH CONFORMING TO --.BR uselib () --is Linux-specific, and should not be used in programs --intended to be portable. --.SH NOTES --This obsolete system call is not supported by glibc. --No declaration is provided in glibc headers, but, through a quirk of history, --glibc versions before 2.23 did export an ABI for this system call. --Therefore, in order to employ this system call, --it was sufficient to manually declare the interface in your code; --alternatively, you could invoke the system call using --.BR syscall (2). --.PP --In ancient libc versions, --.BR uselib () --was used to load --the shared libraries with names found in an array of names --in the binary. --.PP --.\" libc 4.3.1f - changelog 1993-03-02 --Since libc 4.3.2, startup code tries to prefix these names --with "/usr/lib", "/lib" and "" before giving up. --.\" libc 4.3.4 - changelog 1993-04-21 --In libc 4.3.4 and later these names are looked for in the directories --found in --.BR LD_LIBRARY_PATH , --and if not found there, --prefixes "/usr/lib", "/lib" and "/" are tried. --.PP --From libc 4.4.4 on only the library "/lib/ld.so" is loaded, --so that this dynamic library can load the remaining libraries needed --(again using this call). --This is also the state of affairs in libc5. --.PP --glibc2 does not use this call. --.PP --Since Linux 3.15, --.\" commit 69369a7003735d0d8ef22097e27a55a8bad9557a --this system call is available only when the kernel is configured with the --.B CONFIG_USELIB --option. --.SH SEE ALSO --.BR ar (1), --.BR gcc (1), --.BR ld (1), --.BR ldd (1), --.BR mmap (2), --.BR open (2), --.BR dlopen (3), --.BR capabilities (7), --.BR ld.so (8) --.SH COLOPHON --This page is part of release 4.15 of the Linux --.I man-pages --project. --A description of the project, --information about reporting bugs, --and the latest version of this page, --can be found at --\%https://www.kernel.org/doc/man\-pages/. -diff --git a/man2/ustat.2 b/man2/ustat.2 -deleted file mode 100644 -index 41e9a88..0000000 ---- a/man2/ustat.2 -+++ /dev/null -@@ -1,127 +0,0 @@ --.\" Copyright (C) 1995, Thomas K. Dyas --.\" --.\" %%%LICENSE_START(VERBATIM) --.\" Permission is granted to make and distribute verbatim copies of this --.\" manual provided the copyright notice and this permission notice are --.\" preserved on all copies. --.\" --.\" Permission is granted to copy and distribute modified versions of this --.\" manual under the conditions for verbatim copying, provided that the --.\" entire resulting derived work is distributed under the terms of a --.\" permission notice identical to this one. --.\" --.\" Since the Linux kernel and libraries are constantly changing, this --.\" manual page may be incorrect or out-of-date. The author(s) assume no --.\" responsibility for errors or omissions, or for damages resulting from --.\" the use of the information contained herein. The author(s) may not --.\" have taken the same level of care in the production of this manual, --.\" which is licensed free of charge, as they might when working --.\" professionally. --.\" --.\" Formatted or processed versions of this manual, if unaccompanied by --.\" the source, must acknowledge the copyright and authors of this work. --.\" %%%LICENSE_END --.\" --.\" Created 1995-08-09 Thomas K. Dyas --.\" Modified 1997-01-31 by Eric S. Raymond --.\" Modified 2001-03-22 by aeb --.\" Modified 2003-08-04 by aeb --.\" --.TH USTAT 2 2017-09-15 "Linux" "Linux Programmer's Manual" --.SH NAME --ustat \- get filesystem statistics --.SH SYNOPSIS --.nf --.B #include --.BR "#include " " /* libc[45] */" --.BR "#include " " /* glibc2 */" --.PP --.BI "int ustat(dev_t " dev ", struct ustat *" ubuf ); --.fi --.SH DESCRIPTION --.BR ustat () --returns information about a mounted filesystem. --.I dev --is a device number identifying a device containing --a mounted filesystem. --.I ubuf --is a pointer to a --.I ustat --structure that contains the following --members: --.PP --.in +4n --.EX --daddr_t f_tfree; /* Total free blocks */ --ino_t f_tinode; /* Number of free inodes */ --char f_fname[6]; /* Filsys name */ --char f_fpack[6]; /* Filsys pack name */ --.EE --.in --.PP --The last two fields, --.I f_fname --and --.IR f_fpack , --are not implemented and will --always be filled with null bytes (\(aq\\0\(aq). --.SH RETURN VALUE --On success, zero is returned and the --.I ustat --structure pointed to by --.I ubuf --will be filled in. --On error, \-1 is returned, and --.I errno --is set appropriately. --.SH ERRORS --.TP --.B EFAULT --.I ubuf --points outside of your accessible address space. --.TP --.B EINVAL --.I dev --does not refer to a device containing a mounted filesystem. --.TP --.B ENOSYS --The mounted filesystem referenced by --.I dev --does not support this operation, or any version of Linux before --1.3.16. --.SH CONFORMING TO --SVr4. --.\" SVr4 documents additional error conditions ENOLINK, ECOMM, and EINTR --.\" but has no ENOSYS condition. --.SH NOTES --.BR ustat () --is deprecated and has been provided only for compatibility. --All new programs should use --.BR statfs (2) --instead. --.SS HP-UX notes --The HP-UX version of the --.I ustat --structure has an additional field, --.IR f_blksize , --that is unknown elsewhere. --HP-UX warns: --For some filesystems, the number of free inodes does not change. --Such filesystems will return \-1 in the field --.IR f_tinode . --.\" Some software tries to use this in order to test whether the --.\" underlying filesystem is NFS. --For some filesystems, inodes are dynamically allocated. --Such filesystems will return the current number of free inodes. --.SH SEE ALSO --.BR stat (2), --.BR statfs (2) --.SH COLOPHON --This page is part of release 4.15 of the Linux --.I man-pages --project. --A description of the project, --information about reporting bugs, --and the latest version of this page, --can be found at --\%https://www.kernel.org/doc/man\-pages/. -diff --git a/man2/utime.2 b/man2/utime.2 -index 6c848e8..6393289 100644 ---- a/man2/utime.2 -+++ b/man2/utime.2 -@@ -43,9 +43,12 @@ utime, utimes \- change file last access and modification times - .BI "int utimes(const char *" filename ", const struct timeval " times [2]); - .fi - .SH DESCRIPTION --.B Note: --modern applications may prefer to use the interfaces described in --.BR utimensat (2). -+.BR utime () -+and -+.BR utimes () -+system calls are DEPRECATED, use -+.BR utimensat (2) -+instead!!! - .PP - The - .BR utime () -diff --git a/man2/vfork.2 b/man2/vfork.2 -deleted file mode 100644 -index 32d6042..0000000 ---- a/man2/vfork.2 -+++ /dev/null -@@ -1,346 +0,0 @@ --.\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl), 1 Nov 1999 --.\" and Copyright 2006, 2012, 2017 Michael Kerrisk --.\" --.\" %%%LICENSE_START(VERBATIM) --.\" Permission is granted to make and distribute verbatim copies of this --.\" manual provided the copyright notice and this permission notice are --.\" preserved on all copies. --.\" --.\" Permission is granted to copy and distribute modified versions of this --.\" manual under the conditions for verbatim copying, provided that the --.\" entire resulting derived work is distributed under the terms of a --.\" permission notice identical to this one. --.\" --.\" Since the Linux kernel and libraries are constantly changing, this --.\" manual page may be incorrect or out-of-date. The author(s) assume no --.\" responsibility for errors or omissions, or for damages resulting from --.\" the use of the information contained herein. The author(s) may not --.\" have taken the same level of care in the production of this manual, --.\" which is licensed free of charge, as they might when working --.\" professionally. --.\" --.\" Formatted or processed versions of this manual, if unaccompanied by --.\" the source, must acknowledge the copyright and authors of this work. --.\" %%%LICENSE_END --.\" --.\" 1999-11-10: Merged text taken from the page contributed by --.\" Reed H. Petty (rhp@draper.net) --.\" --.TH VFORK 2 2017-09-15 "Linux" "Linux Programmer's Manual" --.SH NAME --vfork \- create a child process and block parent --.SH SYNOPSIS --.B #include --.br --.B #include --.PP --.B pid_t vfork(void); --.PP --.in -4n --Feature Test Macro Requirements for glibc (see --.BR feature_test_macros (7)): --.in --.PP --.BR vfork (): --.ad l --.RS 4 --.PD 0 --.TP 4 --Since glibc 2.12: --.nf --(_XOPEN_SOURCE\ >=\ 500) && ! (_POSIX_C_SOURCE\ >=\ 200809L) -- || /* Since glibc 2.19: */ _DEFAULT_SOURCE -- || /* Glibc versions <= 2.19: */ _BSD_SOURCE --.TP 4 --.fi --Before glibc 2.12: --_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 --.\" || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED --.PD --.RE --.ad b --.SH DESCRIPTION --.SS Standard description --(From POSIX.1) --The --.BR vfork () --function has the same effect as --.BR fork (2), --except that the behavior is undefined if the process created by --.BR vfork () --either modifies any data other than a variable of type --.I pid_t --used to store the return value from --.BR vfork (), --or returns from the function in which --.BR vfork () --was called, or calls any other function before successfully calling --.BR _exit (2) --or one of the --.BR exec (3) --family of functions. --.SS Linux description --.BR vfork (), --just like --.BR fork (2), --creates a child process of the calling process. --For details and return value and errors, see --.BR fork (2). --.PP --.BR vfork () --is a special case of --.BR clone (2). --It is used to create new processes without copying the page tables of --the parent process. --It may be useful in performance-sensitive applications --where a child is created which then immediately issues an --.BR execve (2). --.PP --.BR vfork () --differs from --.BR fork (2) --in that the calling thread is suspended until the child terminates --(either normally, --by calling --.BR _exit (2), --or abnormally, after delivery of a fatal signal), --or it makes a call to --.BR execve (2). --Until that point, the child shares all memory with its parent, --including the stack. --The child must not return from the current function or call --.BR exit (3) --(which would have the effect of calling exit handlers --established by the parent process and flushing the parent's --.BR stdio (3) --buffers), but may call --.BR _exit (2). --.PP --As with --.BR fork (2), --the child process created by --.BR vfork () --inherits copies of various of the caller's process attributes --(e.g., file descriptors, signal dispositions, and current working directory); --the --.BR vfork () --call differs only in the treatment of the virtual address space, --as described above. --.PP --Signals sent to the parent --arrive after the child releases the parent's memory --(i.e., after the child terminates --or calls --.BR execve (2)). --.SS Historic description --Under Linux, --.BR fork (2) --is implemented using copy-on-write pages, so the only penalty incurred by --.BR fork (2) --is the time and memory required to duplicate the parent's page tables, --and to create a unique task structure for the child. --However, in the bad old days a --.BR fork (2) --would require making a complete copy of the caller's data space, --often needlessly, since usually immediately afterward an --.BR exec (3) --is done. --Thus, for greater efficiency, BSD introduced the --.BR vfork () --system call, which did not fully copy the address space of --the parent process, but borrowed the parent's memory and thread --of control until a call to --.BR execve (2) --or an exit occurred. --The parent process was suspended while the --child was using its resources. --The use of --.BR vfork () --was tricky: for example, not modifying data --in the parent process depended on knowing which variables were --held in a register. --.SH CONFORMING TO --4.3BSD; POSIX.1-2001 (but marked OBSOLETE). --POSIX.1-2008 removes the specification of --.BR vfork (). --.PP --The requirements put on --.BR vfork () --by the standards are weaker than those put on --.BR fork (2), --so an implementation where the two are synonymous is compliant. --In particular, the programmer cannot rely on the parent --remaining blocked until the child either terminates or calls --.BR execve (2), --and cannot rely on any specific behavior with respect to shared memory. --.\" In AIXv3.1 vfork is equivalent to fork. --.SH NOTES --.PP --Some consider the semantics of --.BR vfork () --to be an architectural blemish, and the 4.2BSD man page stated: --"This system call will be eliminated when proper system sharing mechanisms --are implemented. --Users should not depend on the memory sharing semantics of --.BR vfork () --as it will, in that case, be made synonymous to --.BR fork (2).\c --" --However, even though modern memory management hardware --has decreased the performance difference between --.BR fork (2) --and --.BR vfork (), --there are various reasons why Linux and other systems have retained --.BR vfork (): --.IP * 3 --Some performance-critical applications require the small performance --advantage conferred by --.BR vfork (). --.IP * --.BR vfork () --can be implemented on systems that lack a memory-management unit (MMU), but --.BR fork (2) --can't be implemented on such systems. --(POSIX.1-2008 removed --.BR vfork () --from the standard; the POSIX rationale for the --.BR posix_spawn (3) --function notes that that function, --which provides functionality equivalent to --.BR fork (2)+ exec (3), --is designed to be implementable on systems that lack an MMU.) --.\" http://stackoverflow.com/questions/4259629/what-is-the-difference-between-fork-and-vfork --.\" http://developers.sun.com/solaris/articles/subprocess/subprocess.html --.\" http://mailman.uclinux.org/pipermail/uclinux-dev/2009-April/000684.html --.\" --.IP * --On systems where memory is constrained, --.BR vfork () --avoids the need to temporarily commit memory (see the description of --.IR /proc/sys/vm/overcommit_memory --in --.BR proc (5)) --in order to execute a new program. --(This can be especially beneficial where a large parent process wishes --to execute a small helper program in a child process.) --By contrast, using --.BR fork (2) --in this scenario requires either committing an amount of memory equal --to the size of the parent process (if strict overcommitting is in force) --or overcommitting memory with the risk that a process is terminated --by the out-of-memory (OOM) killer. --.\" --.SS Caveats --The child process should take care not to modify the memory in unintended ways, --since such changes will be seen by the parent process once --the child terminates or executes another program. --In this regard, signal handlers can be especially problematic: --if a signal handler that is invoked in the child of --.BR vfork () --changes memory, those changes may result in an inconsistent process state --from the perspective of the parent process --(e.g., memory changes would be visible in the parent, --but changes to the state of open file descriptors would not be visible). --.PP --When --.BR vfork () --is called in a multithreaded process, --only the calling thread is suspended until the child terminates --or executes a new program. --This means that the child is sharing an address space with other running code. --This can be dangerous if another thread in the parent process --changes credentials (using --.BR setuid (2) --or similar), --since there are now two processes with different privilege levels --running in the same address space. --As an example of the dangers, --suppose that a multithreaded program running as root creates a child using --.BR vfork (). --After the --.BR vfork (), --a thread in the parent process drops the process to an unprivileged user --in order to run some untrusted code --(e.g., perhaps via plug-in opened with --.BR dlopen (3)). --In this case, attacks are possible where the parent process uses --.BR mmap (2) --to map in code that will be executed by the privileged child process. --.\" --.SS Linux notes --Fork handlers established using --.BR pthread_atfork (3) --are not called when a multithreaded program employing --the NPTL threading library calls --.BR vfork (). --Fork handlers are called in this case in a program using the --LinuxThreads threading library. --(See --.BR pthreads (7) --for a description of Linux threading libraries.) --.PP --A call to --.BR vfork () --is equivalent to calling --.BR clone (2) --with --.I flags --specified as: --.PP -- CLONE_VM | CLONE_VFORK | SIGCHLD --.SS History --The --.BR vfork () --system call appeared in 3.0BSD. --.\" In the release notes for 4.2BSD Sam Leffler wrote: `vfork: Is still --.\" present, but definitely on its way out'. --In 4.4BSD it was made synonymous to --.BR fork (2) --but NetBSD introduced it again; --see --.UR http://www.netbsd.org\:/Documentation\:/kernel\:/vfork.html --.UE . --In Linux, it has been equivalent to --.BR fork (2) --until 2.2.0-pre6 or so. --Since 2.2.0-pre9 (on i386, somewhat later on --other architectures) it is an independent system call. --Support was added in glibc 2.0.112. --.SH BUGS --.PP --Details of the signal handling are obscure and differ between systems. --The BSD man page states: --"To avoid a possible deadlock situation, processes that are children --in the middle of a --.BR vfork () --are never sent --.B SIGTTOU --or --.B SIGTTIN --signals; rather, output or --.IR ioctl s --are allowed and input attempts result in an end-of-file indication." --.\" --.\" As far as I can tell, the following is not true in 2.6.19: --.\" Currently (Linux 2.3.25), --.\" .BR strace (1) --.\" cannot follow --.\" .BR vfork () --.\" and requires a kernel patch. --.SH SEE ALSO --.BR clone (2), --.BR execve (2), --.BR _exit (2), --.BR fork (2), --.BR unshare (2), --.BR wait (2) --.SH COLOPHON --This page is part of release 4.15 of the Linux --.I man-pages --project. --A description of the project, --information about reporting bugs, --and the latest version of this page, --can be found at --\%https://www.kernel.org/doc/man\-pages/. -diff --git a/man2/wait4.2 b/man2/wait4.2 -index be31213..4fe7214 100644 ---- a/man2/wait4.2 -+++ b/man2/wait4.2 -@@ -67,6 +67,13 @@ Feature Test Macro Requirements for glibc (see - _BSD_SOURCE - .ad - .SH DESCRIPTION -+.BR wait4 () -+system call is DEPRECATED, use -+.BR waitpid (2) -+or -+.BR waitid (2) -+instead!!! -+.PP - These functions are obsolete; use - .BR waitpid (2) - or --- -2.17.1 - diff --git a/SOURCES/man-pages-4.15-host.conf.5-multi.patch b/SOURCES/man-pages-4.15-host.conf.5-multi.patch deleted file mode 100644 index 95fb074..0000000 --- a/SOURCES/man-pages-4.15-host.conf.5-multi.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b5f194248f0c38d0e254b71f98e1b9e9783198dd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Nikola=20Forr=C3=B3?= -Date: Fri, 27 Jul 2018 17:15:47 +0200 -Subject: [PATCH 2/5] host.conf.5: fix default value of multi option - ---- - man5/host.conf.5 | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/man5/host.conf.5 b/man5/host.conf.5 -index 1f65840..15e9aa7 100644 ---- a/man5/host.conf.5 -+++ b/man5/host.conf.5 -@@ -65,9 +65,9 @@ appears in the - file, - instead of only the first. - This is --.I off --by default, as it may cause a substantial performance loss at sites --with large hosts files. -+.I on -+by default. -+On systems with DNS, hosts files are much smaller and the performance loss of multiple search is negligible. On sites with large hosts files, turning it on may cause a substantial performance loss. - .TP - .I reorder - Valid values are --- -2.17.1 - diff --git a/SOURCES/man-pages-4.15-host.conf.5-spoof-options.patch b/SOURCES/man-pages-4.15-host.conf.5-spoof-options.patch deleted file mode 100644 index fc94349..0000000 --- a/SOURCES/man-pages-4.15-host.conf.5-spoof-options.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 41b7763e490bddbc3308dfd32924bd19972c0604 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Nikola=20Forr=C3=B3?= -Date: Tue, 15 May 2018 13:29:24 +0200 -Subject: [PATCH] host.conf.5: Clarify glibc versions in which spoof options - were removed -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The nospoof, spoofalert and spoof options as well as the -RESOLV_SPOOF_CHECK environment variable were all removed -from glibc in version 2.25 (with commit -7d68cdaa4f748e87ee921f587ee2d483db624b3d). - -Signed-off-by: Nikola Forró -Signed-off-by: Michael Kerrisk ---- - man5/host.conf.5 | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/man5/host.conf.5 b/man5/host.conf.5 -index 15e9aa7..66e6fb4 100644 ---- a/man5/host.conf.5 -+++ b/man5/host.conf.5 -@@ -150,7 +150,8 @@ Overrides the - .I order - command. - .PP --Since glibc 2.0.7, the following keywords and environment variable have -+.\" commit 7d68cdaa4f748e87ee921f587ee2d483db624b3d -+Since glibc 2.0.7, and up through glibc 2.24, the following keywords and environment variable have - been recognized but never implemented: - .TP - .I nospoof --- -2.17.1 - diff --git a/SOURCES/man-pages-4.15-nl_langinfo.3-charsets.7-codesets.patch b/SOURCES/man-pages-4.15-nl_langinfo.3-charsets.7-codesets.patch deleted file mode 100644 index 3f002d0..0000000 --- a/SOURCES/man-pages-4.15-nl_langinfo.3-charsets.7-codesets.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 260d71520ec0c96ef20670eca17d7b08cc9601ad Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Nikola=20Forr=C3=B3?= -Date: Fri, 27 Jul 2018 17:10:43 +0200 -Subject: [PATCH 1/5] nl_langinfo.3: note that Latin-1 is the default codeset - for en_US locale charsets.7: note that UTF-8 is the recommended encoding for - all locales - ---- - man3/nl_langinfo.3 | 6 ++++++ - man7/charsets.7 | 2 ++ - 2 files changed, 8 insertions(+) - -diff --git a/man3/nl_langinfo.3 b/man3/nl_langinfo.3 -index e37f07b..63de5c2 100644 ---- a/man3/nl_langinfo.3 -+++ b/man3/nl_langinfo.3 -@@ -167,6 +167,12 @@ or - .PP - POSIX specifies that the application may not modify - the string returned by these functions. -+.PP -+Codeset for en_US defaults to ISO-8859-1 (Latin-1). -+The Latin-1 default has historical reasons, -+since all Unix systems originally used only 8-bit character encoding. -+For more information about ISO-8859-1 see -+.BR charsets (7). - .SH ATTRIBUTES - For an explanation of the terms used in this section, see - .BR attributes (7). -diff --git a/man7/charsets.7 b/man7/charsets.7 -index 5f91784..9de88fe 100644 ---- a/man7/charsets.7 -+++ b/man7/charsets.7 -@@ -29,6 +29,8 @@ ASCII, GB 2312, ISO 8859, JIS, KOI8-R, KS, and Unicode. - The primary emphasis is on character sets that were actually used by - locale character sets, not the myriad others that could be found in data - from other systems. -+.LP -+The recommended encoding in all settings and locales is UTF-8. - .SS ASCII - ASCII (American Standard Code For Information Interchange) is the original - 7-bit character set, originally designed for American English. --- -2.17.1 - diff --git a/SOURCES/man-pages-4.15-nsswitch.conf.5-sss.patch b/SOURCES/man-pages-4.15-nsswitch.conf.5-sss.patch deleted file mode 100644 index c30209b..0000000 --- a/SOURCES/man-pages-4.15-nsswitch.conf.5-sss.patch +++ /dev/null @@ -1,43 +0,0 @@ -From ca56d826dbaa05403454d8971b59fabe8b5642d5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Nikola=20Forr=C3=B3?= -Date: Fri, 27 Jul 2018 17:23:26 +0200 -Subject: [PATCH 3/5] nsswitch.conf.5: add information about sss service - ---- - man5/nsswitch.conf.5 | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/man5/nsswitch.conf.5 b/man5/nsswitch.conf.5 -index 38ef64e..dcf09e6 100644 ---- a/man5/nsswitch.conf.5 -+++ b/man5/nsswitch.conf.5 -@@ -165,6 +165,16 @@ may be 1 for glibc 2.0, or 2 for glibc 2.1 and later. - On systems with additional libraries installed, you may have access to - further services such as "hesiod", "ldap", "winbind" and "wins". - .PP -+If System Security Services Daemon (SSSD) -+is installed on your system, you can use -+this service with the "sss" keyword. -+SSSD supports the following databases: -+.BR passwd , -+.BR group , -+.BR services -+and -+.BR netgroup . -+.PP - An action may also be specified following a service specification. - The action modifies the behavior following a result obtained - from the preceding data source. -@@ -329,6 +339,9 @@ as the source for the pseudo-databases - .BR group_compat , - and - .BR shadow_compat . -+.PP -+If SSSD is installed on your system, you can use "sss" as the source -+for these pseudo-databases. - .SH FILES - A service named - .I SERVICE --- -2.17.1 - diff --git a/SOURCES/man-pages-4.15-proc.5-Speculation_Store_Bypass.patch b/SOURCES/man-pages-4.15-proc.5-Speculation_Store_Bypass.patch deleted file mode 100644 index 90e3464..0000000 --- a/SOURCES/man-pages-4.15-proc.5-Speculation_Store_Bypass.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 2d5049d33ee608c48efd0c02e48d135ddb766fa2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Nikola=20Forr=C3=B3?= -Date: Mon, 23 Jul 2018 14:02:18 +0200 -Subject: [PATCH 2/2] proc.5: Document /proc/[pid]/status - Speculation_Store_Bypass field -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Nikola Forró -Signed-off-by: Michael Kerrisk ---- - man5/proc.5 | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/man5/proc.5 b/man5/proc.5 -index 9ae9e02..dc83c22 100644 ---- a/man5/proc.5 -+++ b/man5/proc.5 -@@ -2262,6 +2262,7 @@ CapBnd: ffffffffffffffff - CapAmb: 0000000000000000 - NoNewPrivs: 0 - Seccomp: 0 -+Speculation_Store_Bypass: vulnerable - Cpus_allowed: 00000001 - Cpus_allowed_list: 0 - Mems_allowed: 1 -@@ -2485,6 +2486,12 @@ This field is provided only if the kernel was built with the - .BR CONFIG_SECCOMP - kernel configuration option enabled. - .IP * -+.IR Speculation_Store_Bypass : -+.\" commit fae1fa0fc6cca8beee3ab8ed71d54f9a78fa3f64 -+Speculation flaw mitigation state -+(since Linux 4.17, see -+.BR prctl (2)). -+.IP * - .IR Cpus_allowed : - Mask of CPUs on which this process may run - (since Linux 2.6.24, see --- -2.17.1 - diff --git a/SOURCES/man-pages-4.15-resolv.conf.5-no-reload.patch b/SOURCES/man-pages-4.15-resolv.conf.5-no-reload.patch deleted file mode 100644 index ad34d74..0000000 --- a/SOURCES/man-pages-4.15-resolv.conf.5-no-reload.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 7285d6b10356c43c94a252c63ffcd332c4e54b4b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Nikola=20Forr=C3=B3?= -Date: Wed, 11 Jul 2018 10:58:38 +0200 -Subject: [PATCH 1/2] resolv.conf.5: Document no-reload (RES_NPRELOAD) option -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Nikola Forró -Signed-off-by: Michael Kerrisk ---- - man5/resolv.conf.5 | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/man5/resolv.conf.5 b/man5/resolv.conf.5 -index bc42004..93c6b47 100644 ---- a/man5/resolv.conf.5 -+++ b/man5/resolv.conf.5 -@@ -302,6 +302,14 @@ Sets - in - .IR _res.options . - This option forces the use of TCP for DNS resolutions. -+.\" aef16cc8a4c670036d45590877d411a97f01e0cd -+.TP -+.BR no\-reload " (since glibc 2.26)" -+Sets -+.BR RES_NORELOAD -+in -+.IR _res.options . -+This option disables automatic reloading of a changed configuration file. - .RE - .PP - The \fIdomain\fP and \fIsearch\fP keywords are mutually exclusive. --- -2.17.1 - diff --git a/SOURCES/man-pages-posix-2013-a-pthread_once.patch b/SOURCES/man-pages-posix-2013-a-pthread_once.patch deleted file mode 100644 index 91e9a1b..0000000 --- a/SOURCES/man-pages-posix-2013-a-pthread_once.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0409c3370ddd08cec10586f6f52fe1fbe3c717ef Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Nikola=20Forr=C3=B3?= -Date: Tue, 24 Jan 2017 16:35:02 +0100 -Subject: [PATCH] pthread_once.3p: fix return type of initialize_random() - function - ---- - man-pages-posix-2013-a/man3p/pthread_once.3p | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/man-pages-posix-2013-a/man3p/pthread_once.3p b/man-pages-posix-2013-a/man3p/pthread_once.3p -index 316b1e9..db83d63 100644 ---- a/man-pages-posix-2013-a/man3p/pthread_once.3p -+++ b/man-pages-posix-2013-a/man3p/pthread_once.3p -@@ -86,7 +86,7 @@ on entry to a routine, as follows: - .nf - \fB - static int random_is_initialized = 0; --extern int initialize_random(); -+extern void initialize_random(); - .P - int random_function() - { -@@ -125,7 +125,7 @@ becomes: - \fB - #include - static pthread_once_t random_is_initialized = PTHREAD_ONCE_INIT; --extern int initialize_random(); -+extern void initialize_random(); - .P - int random_function() - { --- -2.7.4 - diff --git a/SPECS/man-pages.spec b/SPECS/man-pages.spec index e124006..0e83442 100644 --- a/SPECS/man-pages.spec +++ b/SPECS/man-pages.spec @@ -1,23 +1,47 @@ -%global posix_version 2013 -%global posix_release a -%global posix_name man-pages-posix-%{posix_version}-%{posix_release} +## START: Set by rpmautospec +## (rpmautospec version 0.6.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 6; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + %global additional_version 20140218 %global additional_name man-pages-additional-%{additional_version} -%global debug_package %{nil} - Summary: Linux kernel and C library user-space interface documentation Name: man-pages -Version: 4.15 -Release: 7%{?dist} -License: GPL+ and GPLv2+ and BSD and MIT and Copyright only and IEEE -Group: Documentation +Version: 6.06 +Release: %autorelease +# List of all licenses - each with an example of a man-page that uses it +# (complete list of all man-pages per license would be too long) +# BSD-2-Clause: man5/elf.5 +# BSD-3-Clause: man3/list.3 +# BSD-4.3TAHOE: man5/resolv.conf.5 +# BSD-4-Clause-UC: man2/accept.2 +# GPL-1.0-or-later: man1/ldd.1 +# GPL-2.0-only: man2/fallocate.2 +# GPL-2.0-or-later: man1/getent.1 +# LicenseRef-Fedora-Public-Domain: man2/nfsservctl.2 +# LicenseRef-Fedora-UltraPermissive: man2/futex.2 +# Linux-man-pages-1-para: man2/getcpu.2 +# Linux-man-pages-copyleft: man2/chdir.2 +# Linux-man-pages-copyleft-2-para: man2/move_pages.2 +# Linux-man-pages-copyleft-var: man2/get_mempolicy.2 +# MIT: man3/program_invocation_name.3 +# Spencer-94: man7/regex.7 +License: BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-Fedora-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94 URL: http://www.kernel.org/doc/man-pages/ Source: http://www.kernel.org/pub/linux/docs/man-pages/man-pages-%{version}.tar.xz -# POSIX man pages -Source1: http://www.kernel.org/pub/linux/docs/man-pages/man-pages-posix/%{posix_name}.tar.xz # additional man-pages, the source tarball is fedora/rhel only -Source2: %{additional_name}.tar.xz +Source1: %{additional_name}.tar.xz + +BuildRequires: make +Requires(post): %{_sbindir}/update-alternatives +Requires(postun): %{_sbindir}/update-alternatives +Requires(preun): %{_sbindir}/update-alternatives # attr.5 man page was moved from attr to man-pages in attr-2.4.47-11 Conflicts: attr < 2.4.47-11 @@ -28,111 +52,308 @@ Conflicts: attr < 2.4.47-11 Conflicts: keyutils-libs < 1.5.10 Autoreq: false +BuildArch: noarch ## Patches ## -# POSIX man pages -# resolves: #1415757 -Patch0: man-pages-posix-2013-a-pthread_once.patch - # Regular man pages # resolves: #650985 # https://bugzilla.kernel.org/show_bug.cgi?id=53781 Patch21: man-pages-3.42-close.patch -# patches from MPO -Patch22: man-pages-4.15-nl_langinfo.3-charsets.7-codesets.patch -Patch23: man-pages-4.15-host.conf.5-multi.patch -Patch24: man-pages-4.15-nsswitch.conf.5-sss.patch -Patch25: man-pages-4.15-host.conf.5-spoof-options.patch -# aarch64 specific patch -Patch26: man-pages-4.15-aarch64-syscalls.patch -Patch27: man-pages-4.15-resolv.conf.5-no-reload.patch -Patch28: man-pages-4.15-proc.5-Speculation_Store_Bypass.patch +# Upstream commit: https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/?id=f1016b60769174da8e396e30fd25f58bb58d4232 +# Resolves: RHEL-53953 +Patch22: 0001-dlinfo.3-Document-the-RTLD_DI_PHDR-request.patch + +# Upstream patches to provide more info on mktime(). +# Resolves: RHEL-58342 +Patch23: 0000-ctime.3-Document-how-to-check-errors-from-mktime.patch +Patch24: 0001-ctime.3-Move-NOTES-to-a-subsection-within-CAVEATS.patch +Patch25: 0002-ctime.3-CAVEATS-Add-note-about-tm_isdst-handling-in-.patch +Patch26: 0003-ctime.3-EXAMPLES-Document-how-to-detect-invalid-or-ambiguous-times.patch +Patch27: 0000-sched.7-Clarifications-corrections.patch %description A large collection of manual pages from the Linux Documentation Project (LDP). %prep -%setup -q -a 1 -a 2 +%setup -q -a 1 -%patch0 -p1 -%patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 -%patch25 -p1 - -%ifarch aarch64 -%patch26 -p1 -%endif - -%patch27 -p1 -%patch28 -p1 - -# rename posix README so we don't have conflict -%{__mv} %{posix_name}/README %{posix_name}/%{posix_name}.README +%patch -p1 -P 21 +%patch -p1 -P 22 +%patch -p1 -P 23 +%patch -p1 -P 24 +%patch -p1 -P 25 +%patch -p1 -P 26 +%patch -p1 -P 27 ## Remove man pages we are not going to use ## # deprecated -%{__rm} man2/pciconfig_{write,read,iobase}.2 +rm man2/pciconfig_{write,read,iobase}.2 # problem with db x db4 (#198597) - man pages are obsolete -%{__rm} man3/{db,btree,dbopen,hash,mpool,recno}.3 +rm man3/{db,btree,dbopen,hash,mpool,recno}.3 # we are not using SystemV anymore -%{__rm} man7/boot.7 +rm man7/boot.7 -# we do not have sccs (#203302) -%{__rm} %{posix_name}/man1p/{admin,delta,get,prs,rmdel,sact,sccs,unget,val,what}.1p - -# remove man pages deprecated by libxcrypt -%{__rm} man3/crypt{,_r}.3 - -# remove rpc.3 and xdr.3 man pages documenting deprecated glibc RPC implementation (#1980919) -%{__rm} man3/{rpc,xdr}.3 +# remove man pages deprecated by libxcrypt (#1610307) +rm man3/crypt{,_r}.3 %build # nothing to build %install -make install DESTDIR=$RPM_BUILD_ROOT -pushd %{posix_name} -make install DESTDIR=$RPM_BUILD_ROOT -popd +make install prefix=/usr DESTDIR=$RPM_BUILD_ROOT pushd %{additional_name} -make install DESTDIR=$RPM_BUILD_ROOT +make install prefix=/usr DESTDIR=$RPM_BUILD_ROOT popd +# rename files for alternative usage +mv %{buildroot}%{_mandir}/man7/man.7 %{buildroot}%{_mandir}/man7/man.%{name}.7 +touch %{buildroot}%{_mandir}/man7/man.7 + +%pre +# remove alternativized files if they are not symlinks +[ -L %{_mandir}/man7/man.7.gz ] || rm -f %{_mandir}/man7/man.7.gz >/dev/null 2>&1 || : + +%post +# set up the alternatives files +%{_sbindir}/update-alternatives --install %{_mandir}/man7/man.7.gz man.7.gz %{_mandir}/man7/man.%{name}.7.gz 300 \ + >/dev/null 2>&1 || : + +%preun +if [ $1 -eq 0 ]; then + %{_sbindir}/update-alternatives --remove man.7.gz %{_mandir}/man7/man.%{name}.7.gz >/dev/null 2>&1 || : +fi + +%postun +if [ $1 -ge 1 ]; then + if [ "$(readlink %{_sysconfdir}/alternatives/man.7.gz)" == "%{_mandir}/man7/man.%{name}.7.gz" ]; then + %{_sbindir}/update-alternatives --set man.7.gz %{_mandir}/man7/man.%{name}.7.gz >/dev/null 2>&1 || : + fi +fi + %files -%doc README man-pages-%{version}.Announce Changes -%doc %{posix_name}/POSIX-COPYRIGHT %{posix_name}/%{posix_name}.{README,Announce} +%doc README Changes +%ghost %{_mandir}/man7/man.7* %{_mandir}/man*/* %changelog -* Tue Feb 01 2022 Nikola Forró - 4.15-7 -- remove rpc.3 and xdr.3 man pages documenting deprecated glibc RPC implementation - resolves: #1980919 +## START: Generated by rpmautospec +* Fri Jul 11 2025 Patsy Griffin - 6.06-6 +- sched(7): Mention autogroup disabled behavior. -* Thu Aug 30 2018 Nikola Forró - 4.15-6 -- proc.5: document /proc/[pid]/status Speculation_Store_Bypass field - resolves: #1623808 +* Mon Jun 30 2025 Martin Coufal - 6.06-5 +- Add gating.yaml to c10s -* Thu Aug 30 2018 Nikola Forró - 4.15-5 -- resolv.conf.5: document no-reload option - resolves: #1623806 +* Wed Jun 25 2025 Patsy Griffin - 6.06-4 +- Add RTLD_DI_PHDR to dlinfo(3) man page. Provide more details on using + mktime(3) in the manpage. -* Mon Aug 13 2018 Nikola Forró - 4.15-4 -- host.conf.5: clarify glibc versions in which spoof options were removed - resolves: #1615294 +* Tue Oct 29 2024 Troy Dawson - 6.06-3 +- Bump release for October 2024 mass rebuild: -* Fri Aug 03 2018 Nikola Forró - 4.15-3 +* Mon Jun 24 2024 Troy Dawson - 6.06-2 +- Bump release for June 2024 mass rebuild + +* Mon Feb 12 2024 Lukas Javorsky - 6.06-1 +- Rebase to version 6.06 + +* Tue Jan 30 2024 Packit - 6.05.01-1 +- [packit] 6.05.01 upstream release + +* Thu Jan 25 2024 Fedora Release Engineering - 6.05-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 6.05-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Dec 21 2023 Nikola Forró - 6.05-5 +- unix.7: SO_PEERCRED: Mention listen(2) + +* Thu Aug 10 2023 Nikola Forró - 6.05-4 +- Enable Packit staging instance + +* Thu Aug 03 2023 Lukas Javorsky - 6.05-3 +- Upstream has removed the unapproved license in man5/dir_colors.5 + +* Wed Aug 02 2023 Nikola Forró - 6.05-2 +- Configure upstream tag template + +* Wed Aug 02 2023 Lukas Javorsky - 6.05-1 +- Rebase to version 6.05 + +* Wed Aug 02 2023 Lukas Javorsky - 6.04-7 +- Add upstream_project_url to packit config + +* Tue Jul 25 2023 Adam Dobeš - 6.04-6 +- migrated to SPDX license + +* Thu Jul 20 2023 Fedora Release Engineering - 6.04-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 29 2023 Nikola Forró - 6.04-4 +- Remove dir_colors.5 man page with unallowed license + +* Tue Apr 18 2023 Lukas Javorsky - 6.04-3 +- Enable pull_from_upstream packit action + +* Mon Apr 03 2023 Lukas Javorsky - 6.04-2 +- Trigger bodhi build for Fedora branched + +* Mon Apr 03 2023 Lukas Javorsky - 6.04-1 +- Rebase to version 6.04 + +* Tue Feb 14 2023 Lukas Javorsky - 6.03-3 +- Add allowed PR authors for Packit job + +* Tue Feb 14 2023 Lukas Javorsky - 6.03-2 +- Enable Packit koji_build and bodhi_update for man-pages + +* Mon Feb 13 2023 Lukas Javorsky - 6.03-1 +- Rebase to version 6.03 + +* Thu Jan 19 2023 Fedora Release Engineering - 6.02-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Jan 02 2023 Nikola Forró - 6.02-1 +- Rebase to version 6.02 + resolves: #2155908 + +* Fri Oct 21 2022 Lukas Javorsky - 6.01-1 +- Rebase to version 6.01 + +* Fri Oct 14 2022 Lukas Javorsky - 6.00-1 +- Rebase to version 6.00 +- Patch 22 upstreamed + +* Tue Aug 23 2022 Nikola Forró - 5.13-5 +- nsswitch.conf.5: Mention subid database + +* Tue Aug 09 2022 Nikola Forró - 5.13-4 +- Remove POSIX man pages due to disallowed license + resolves: #2116859 + +* Thu Jul 21 2022 Fedora Release Engineering - 5.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 5.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Aug 27 2021 Nikola Forró - 5.13-1 +- update to 5.13 + resolves: #1998442 + +* Thu Jul 22 2021 Fedora Release Engineering - 5.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jun 22 2021 Nikola Forró - 5.12-1 +- update to 5.12 + resolves: #1974538 + +* Mon Mar 22 2021 Nikola Forró - 5.11-1 +- update to 5.11 + resolves: #1941571 + +* Tue Jan 26 2021 Fedora Release Engineering - 5.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Dec 24 2020 Nikola Forró - 5.10-1 +- update to 5.10 + resolves: #1909987 + +* Fri Nov 06 2020 Nikola Forró - 5.09-2 +- update POSIX man pages to 2017-a + resolves: #1691808 + +* Mon Nov 02 2020 Nikola Forró - 5.09-1 +- update to 5.09 + resolves: #1893576 + +* Mon Aug 17 2020 Nikola Forró - 5.08-1 +- update to 5.08 + resolves: #1868674 + +* Tue Jul 28 2020 Fedora Release Engineering - 5.07-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sun Jun 21 2020 Nikola Forró - 5.07-1 +- update to 5.07 + +* Thu Apr 16 2020 Nikola Forró - 5.06-3 +- Fix another typo in postun scriptlet + +* Thu Apr 16 2020 Igor Raits - 5.06-2 +- Fix typo in postun scriptlet + +* Tue Apr 14 2020 Nikola Forró - 5.06-1 +- update to 5.06 + resolves: #1823161 + +* Sun Mar 01 2020 Nikola Forró - 5.04-6 +- fix %pre scriptlet + +* Fri Feb 28 2020 Nikola Forró - 5.04-5 +- fix upgrades from non-alternativized versions + +* Thu Feb 27 2020 Nikola Forró - 5.04-4 +- use alternatives for man.7 + +* Mon Feb 03 2020 Nikola Forró - 5.04-3 +- add kernel_lockdown.7 man page + resolves: #1797591 + +* Wed Jan 29 2020 Fedora Release Engineering - 5.04-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Nov 20 2019 Nikola Forró - 5.04-1 +- update to 5.04 + resolves #1774584 + +* Wed Oct 16 2019 Nikola Forró - 5.03-1 +- update to 5.03 + resolves #1761010 + +* Thu Oct 10 2019 Nikola Forró - 5.02-2 +- resolv.conf.5: update information about search list + resolves #1758515 + +* Tue Aug 06 2019 Nikola Forró - 5.02-1 +- update to 5.02 + +* Thu Jul 25 2019 Fedora Release Engineering - 5.01-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu May 09 2019 Nikola Forró - 5.01-1 +- update to 5.01 + resolves #1708251 + +* Wed Mar 06 2019 Nikola Forró - 5.00-1 +- update to 5.00 + resolves #1686085 + +* Tue Feb 26 2019 Nikola Forró - 4.16-5 +- socket.2: fix dead link in AF_ALG note + resolves #1679505 + +* Fri Feb 01 2019 Fedora Release Engineering - 4.16-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Aug 03 2018 Nikola Forró - 4.16-3 - remove man pages deprecated by libxcrypt + resolves #1610307 -* Tue Jul 31 2018 Nikola Forró - 4.15-2 -- add patches from MPO -- remove/adjust pages for syscalls deprecated on aarch64 +* Fri Jul 13 2018 Fedora Release Engineering - 4.16-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu May 03 2018 Nikola Forró - 4.16-1 +- update to 4.16 + resolves #1574060 + +* Thu Feb 08 2018 Fedora Release Engineering - 4.15-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Sun Feb 04 2018 Nikola Forró - 4.15-1 - update to 4.15 @@ -478,7 +699,7 @@ popd * Thu Feb 24 2011 Ivana Hutarova Varekova - 3.32-9 - resolves: #679899 - add scopev4 to gai.conf man page + add scopev4 to gai.conf man page * Tue Feb 08 2011 Fedora Release Engineering - 3.32-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild @@ -549,7 +770,7 @@ popd remove link to non-existing man page * Thu Sep 23 2010 Ivana Hutarova Varekova - 3.27-2 -- Resolves: #635869 +- Resolves: #635869 remove the link to removed man page * Thu Sep 23 2010 Ivana Hutarova Varekova - 3.27-1 @@ -681,3 +902,5 @@ popd * Wed Jun 18 2008 Ivana Varekova - 3.00-1 - update to 3.00 - source files changes + +## END: Generated by rpmautospec