about summary refs log tree commit diff
path: root/manual
Commit message (Collapse)AuthorAgeFilesLines
* manual: clarify buffer behavior in getline [BZ #5666]David Svoboda2014-04-031-1/+2
| | | | | | | | | | | If the user has requested automatic buffer creation, getline may create it and not free things when an error occurs. That means the user is always responsible for calling free() regardless of the return value. The current documentation does not explicitly cover this which leaves it slightly ambiguous to the reader. So clarify things. URL: https://sourceware.org/bugzilla/show_bug.cgi?id=5666
* Do not terminate default test runs on test failure.Joseph Myers2014-03-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is an updated version of <https://sourceware.org/ml/libc-alpha/2014-01/msg00198.html> and <https://sourceware.org/ml/libc-alpha/2014-03/msg00180.html>. Normal practice for software testsuites is that rather than terminating immediately when a test fails, they continue running and report at the end on how many tests passed or failed. The principle behind the glibc testsuite stopping on failure was probably that the expected state is no failures and so any failure indicates a problem such as miscompilation. In practice, while this is fairly close to true for native testing on x86_64 and x86 (kernel bugs and race conditions can still cause intermittent failures), it's less likely to be the case on other platforms, and so people testing glibc run the testsuite with "make -k" and then examine the logs to determine whether the failures are what they expect to fail on that platform, possibly with some automation for the comparison. This patch switches the glibc testsuite to the normal convention of not stopping on failure - unless you use stop-on-test-failure=y, in which case it behaves essentially as it did before (and does not generate overall test summaries on failure). Instead, the summary tests.sum may contain tests that FAILed. At the end of the test run, any FAIL or ERROR lines from tests.sum are printed, and then it exits with error status if there were any such lines. In addition, build failures will also cause the test run to stop - this has the justification that those *do* indicate serious problems that should be promptly fixed and aren't generally hard to fix (but apart from that, avoiding the build stopping on those failures seems harder). Note that unlike the previous patches in this series, this *does* require people with automation around testing glibc to change their processes - either to start using tests.sum / xtests.sum to track failures and compare them with expectations (with or without also using "make -k" and examining "make" logs to identify build failures), or else to use stop-on-test-failure=y and ignore the new tests.sum / xtests.sum mechanism. (If all you check is the exit status from "make check", no changes are needed unless you want to avoid test runs continuing after the first failure.) Tested x86_64. * scripts/evaluate-test.sh: Handle fourth argument to determine whether test run should stop on failure. * Makeconfig (stop-on-test-failure): New variable. (evaluate-test): Pass fourth argument to evaluate-test.sh based on $(stop-on-test-failure). * Makefile (tests): Give a summary of results from testing and exit with failure status if they include an ERROR or FAIL. (xtests): Likewise. * manual/install.texi (Configuring and compiling): Mention stop-on-test-failure=y. * INSTALL: Regenerated.
* manual: time: fix typo in IST exampleMike Frysinger2014-03-131-1/+1
| | | | | The current description says Tuesday when it meant to say Thursday (since that comes before Friday).
* manual/setjmp.texi: Improve clarity of Sys V context docWill Newton2014-03-131-11/+10
| | | | | | | | | ChangeLog: 2014-03-13 Will Newton <will.newton@linaro.org> * manual/setjmp.texi (System V contexts): Improve clarity and grammar of documentation.
* Remove INSTALL_INFO setting in manual/Makefile.Joseph Myers2014-03-061-3/+0
| | | | * manual/Makefile (INSTALL_INFO): Remove variable setting.
* Don't include individual test ulps in libm-test-ulps.Joseph Myers2014-03-051-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As recently discussed <https://sourceware.org/ml/libc-alpha/2014-02/msg00670.html>, it doesn't seem particularly useful for libm-test-ulps files to contain huge amounts of data on ulps for individual tests; just the global maximum observed ulps for each function, together with the verification of exceptions, errno and special results such as infinities and NaNs for each test, suffices to verify that a function's behavior on the given test inputs is within the expected accuracy. Removing this data reduces source tree churn caused by updates to these files when libm tests are added, and reduces the frequency with which testsuite additions actually need libm-test-ulps changes at all. Accordingly, this patch removes that data, so that individual tests get checked against the global bounds for the given function and only generate an error if those are exceeded. Tested x86_64 (including verifying that if an ulps value is artificially reduced, the tests do indeed fail as they should and "make regen-ulps" generates the expected changes). * math/libm-test.inc (struct ulp_data): Don't refer to ulps for individual tests in comment. (libm-test-ulps.h): Don't refer to test_ulps in #include comment. (prev_max_error): New variable. (prev_real_max_error): Likewise. (prev_imag_max_error): Likewise. (compare_ulp_data): Don't refer to test names in comment. (find_test_ulps): Remove function. (find_function_ulps): Likewise. (find_complex_function_ulps): Likewise. (init_max_error): Take function name as argument. Look up ulps for that function. (print_ulps): Remove function. (print_max_error): Use prev_max_error instead of calling find_function_ulps. (print_complex_max_error): Use prev_real_max_error and prev_imag_max_error instead of calling find_complex_function_ulps. (check_float_internal): Take max_ulp parameter instead of calling find_test_ulps. Don't call print_ulps. (check_float): Update call to check_float_internal. (check_complex): Update calls to check_float_internal. (START): Pass argument to init_max_error. * math/gen-libm-test.pl (%results): Don't include "kind" information. (parse_ulps): Don't handle ulps of individual tests. (print_ulps_file): Likewise. (output_ulps): Likewise. * math/README.libm-test: Update. * manual/libm-err-tab.pl (parse_ulps): Don't handle ulps of individual tests. * sysdeps/aarch64/libm-test-ulps: Remove individual test ulps. * sysdeps/alpha/fpu/libm-test-ulps: Likewise. * sysdeps/arm/libm-test-ulps: Likewise. * sysdeps/i386/fpu/libm-test-ulps: Likewise. * sysdeps/ia64/fpu/libm-test-ulps: Likewise. * sysdeps/m68k/coldfire/fpu/libm-test-ulps: Likewise. * sysdeps/m68k/m680x0/fpu/libm-test-ulps: Likewise. * sysdeps/microblaze/libm-test-ulps: Likewise. * sysdeps/mips/mips32/libm-test-ulps: Likewise. * sysdeps/mips/mips64/libm-test-ulps: Likewise. * sysdeps/powerpc/fpu/libm-test-ulps: Likewise. * sysdeps/powerpc/nofpu/libm-test-ulps: Likewise. * sysdeps/s390/fpu/libm-test-ulps: Likewise. * sysdeps/sh/libm-test-ulps: Likewise. * sysdeps/sparc/fpu/libm-test-ulps: Likewise. * sysdeps/tile/libm-test-ulps: Likewise. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise. * sysdeps/hppa/fpu/libm-test-ulps: Remove individual test ulps.
* Add header and standard information to threads.texi.Carlos O'Donell2014-02-281-0/+12
| | | | | | | The glibc manual uses special annotations to include functions in the summary chapter. These annotations were missing from the functions in the threads chapter. This patch adds those special markers and in turn adds these functions to the summary chapter.
* Fix fallout from Joseph's untested Makeconfig change.Roland McGrath2014-02-281-8/+8
|
* Consistently include Makeconfig after defining subdir.Joseph Myers2014-02-261-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In <https://sourceware.org/ml/libc-alpha/2014-01/msg00196.html> I noted it was necessary to add includes of Makeconfig early in various subdirectory makefiles for the tests-special variable settings added by that patch to be conditional on configuration information. No-one commented on the general question there of whether Makeconfig should always be included immediately after the definition of subdir. This patch implements that early inclusion of Makeconfig in each directory (which is a lot easier than consistent placement of includes of Rules). Includes are added if needed, or moved up if already present. Subdirectory "all:" targets are removed, since Makeconfig provides one. There is potential for further cleanups I haven't done. Rules and Makerules have code such as ifneq "$(findstring env,$(origin headers))" "" headers := endif to override to empty any value of various variables that came from the environment. I think there is a case for Makeconfig setting all the subdirectory variables (other than subdir) to empty to ensure no outside value is going to take effect if a subdirectory fails to define a variable. (A list of such variables, possibly out of date and incomplete, is in manual/maint.texi.) Rules and Makerules would give errors if Makeconfig hadn't already been included, instead of including it themselves. The special code to override values coming from the environment would then be obsolete and could be removed. Tested x86_64, including that installed binaries are identical before and after the patch. * argp/Makefile: Include Makeconfig immediately after defining subdir. * assert/Makefile: Likewise. * benchtests/Makefile: Likewise. * catgets/Makefile: Likewise. * conform/Makefile: Likewise. * crypt/Makefile: Likewise. * csu/Makefile: Likewise. (all): Remove target. * ctype/Makefile: Include Makeconfig immediately after defining subdir. * debug/Makefile: Likewise. * dirent/Makefile: Likewise. * dlfcn/Makefile: Likewise. * gmon/Makefile: Likewise. * gnulib/Makefile: Likewise. * grp/Makefile: Likewise. * gshadow/Makefile: Likewise. * hesiod/Makefile: Likewise. * hurd/Makefile: Likewise. (all): Remove target. * iconvdata/Makefile: Include Makeconfig immediately after defining subdir. * inet/Makefile: Likewise. * intl/Makefile: Likewise. * io/Makefile: Likewise. * libio/Makefile: Likewise. (all): Remove target. * locale/Makefile: Include Makeconfig immediately after defining subdir. * login/Makefile: Likewise. * mach/Makefile: Likewise. (all): Remove target. * malloc/Makefile: Include Makeconfig immediately after defining subdir. (all): Remove target. * manual/Makefile: Include Makeconfig immediately after defining subdir. * math/Makefile: Likewise. * misc/Makefile: Likewise. * nis/Makefile: Likewise. * nss/Makefile: Likewise. * po/Makefile: Likewise. (all): Remove target. * posix/Makefile: Include Makeconfig immediately after defining subdir. * pwd/Makefile: Likewise. * resolv/Makefile: Likewise. * resource/Makefile: Likewise. * rt/Makefile: Likewise. * setjmp/Makefile: Likewise. * shadow/Makefile: Likewise. * signal/Makefile: Likewise. * socket/Makefile: Likewise. * soft-fp/Makefile: Likewise. * stdio-common/Makefile: Likewise. * stdlib/Makefile: Likewise. * streams/Makefile: Likewise. * string/Makefile: Likewise. * sunrpc/Makefile: Likewise. (all): Remove target. * sysvipc/Makefile: Include Makeconfig immediately after defining subdir. * termios/Makefile: Likewise. * time/Makefile: Likewise. * timezone/Makefile: Likewise. (all): Remove target. * wcsmbs/Makefile: Include Makeconfig immediately after defining subdir. * wctype/Makefile: Likewise. libidn/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir. localedata/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir. (all): Remove target. nptl/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir. nptl_db/ChangeLog: * Makefile: Include Makeconfig immediately after defining subdir.
* Fix two spaces after sentence.Ondřej Bílka2014-02-2618-55/+55
| | | | | Minor formatting fix that was carried by issuing sed -e"s/\. \([A-Z]\)/. \1/" followed by editing result.
* Use @Theglibc{} in manual/ipc.texi.Carlos O'Donell2014-02-261-1/+1
|
* Add a new "Inter-Process Communication" chapter.Carlos O'Donell2014-02-264-4/+120
| | | | | | | This patch adds a new "Inter-Process Communication" chapter to cover the sem*, msg*, and shm* functions. Initially we document only the sem* function signatures and their safety notes.
* Remove _BSD_SOURCE and _SVID_SOURCE.Joseph Myers2014-02-115-33/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a minimal patch to remove _BSD_SOURCE and _SVID_SOURCE from the documented user API, making them into aliases for _DEFAULT_SOURCE with a #warning given, but keeping most of the features.h logic using those macros and all the exising __USE_* conditionals, on the basis that all the consequent cleanups will go in followup patches. Tested x86_64. * include/features.h: Update comment documenting feature test macros. [_BSD_SOURCE || _SVID_SOURCE]: Give #warning. Define _DEFAULT_SOURCE. * manual/creature.texi (_BSD_SOURCE): Remove documentation. (_SVID_SOURCE): Likewise. (_DEFAULT_SOURCE): Update description of default features. (Feature Test Macros): Don't mention _SVID_SOURCE in conjunction with _GNU_SOURCE. * manual/filesys.texi (__ftw_func_t): Do not refer to _BSD_SOURCE. (S_ISVTX): Likewise. * manual/math.texi (Mathematical Constants): Likewise. * manual/signal.texi (Interrupted Primitives): Likewise. * manual/startup.texi (putenv): Do not refer to _SVID_SOURCE. * math/test-matherr.c (_SVID_SOURCE): Do not define. * sysvipc/sys/ipc.h [__USE_SVID && !__USE_XOPEN && __GNUC__ >= 2]: Don't refer to _SVID_SOURCE in warning text.
* manual/probes.texi: Use "triggered" instead of "hit"Will Newton2014-02-111-73/+79
| | | | | | | | | | | | Use the term "triggered" instead of "hit" when talking about probe points. ChangeLog: 2014-02-11 Will Newton <will.newton@linaro.org> * manual/probes.texi (Mathematical Function Probes): Use "triggered" instead of "hit".
* manual/probes.texi: Add documentation of setjmp/longjmp probesWill Newton2014-02-111-0/+40
| | | | | | | | | | | | Add some documentation of the setjmp, longjmp and longjmp_target Systemtap probe points. ChangeLog: 2014-02-11 Will Newton <will.newton@linaro.org> * manual/probes.texi (Internal Probes): Add documentation of setjmp, longjmp and longjmp_target probes.
* manual: setjmp: fix typos/grammarMike Frysinger2014-02-081-9/+9
| | | | | | Should hopefully be all obvious stuff. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Update contrib.texiSiddhesh Poyarekar2014-02-061-7/+12
| | | | Update blurb for Roland, Alex, Ryan, Joseph and Carlos.
* Update contrib.texiSiddhesh Poyarekar2014-02-051-4/+15
| | | | | | This may not be a complete list of new contributors added to the list, so I'd love it if more people look at contributions and suggest additions.
* Fix manual build warnings.Carlos O'Donell2014-02-031-2/+2
| | | | | | | The mixed use of automatic and manual node next, previous, and top specification causes warning when building the manual. This fix explicitly specifies the node's next, previous and top values to fix the warning.
* * manual/macros.texi: Add comments before MTASC-safety macros.Alexandre Oliva2014-02-031-2/+46
|
* * manual/users.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-031-0/+794
|
* * manual/threads.texi (pthread_key_create, pthread_key_delete,Alexandre Oliva2014-02-032-20/+31
| | | | | | | pthread_getspecific, pthread_setspecific): Format with @deftypefun, and add @safety note. * manual/signal.texi: Move comments that analyze the above functions to their home place.
* * manual/time.texi (timegm): Add missing blank after @c.Alexandre Oliva2014-02-021-1/+1
| | | | Reported by Joseph Myers <joseph@codesourcery.com>.
* * manual/check-safety.sh: New.Alexandre Oliva2014-02-012-1/+121
| | | | * manual/Makefile ($(objpfx)stamp-summary): Run it.
* * manual/terminal.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-0/+174
|
* * manual/filesys.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-0/+222
|
* * manual/errno.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-0/+43
|
* * manual/intro.texi: Document safety identifiers andAlexandre Oliva2014-02-011-3/+45
| | | | conditionals.
* * manual/string.texi (wcstok): Fix prototype.Alexandre Oliva2014-02-011-19/+14
| | | | (wcstok, strtok, strtok_r): Adjust reentrancy remarks.
* * manual/time.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-0/+369
|
* * manual/string.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-0/+120
|
* * manual/threads.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-0/+138
|
* * manual/stdio.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-0/+249
|
* * manual/syslog.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-0/+57
|
* * manual/sysinfo.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-0/+92
|
* * manual/startup.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-2/+77
|
* * manual/socket.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-0/+569
|
* * manual/signal.texi: Document MTASC-safety properties.Alexandre Oliva2014-02-011-0/+137
|
* * manual/setjmp.texi: Document MTASC-safety properties.Alexandre Oliva2014-01-311-0/+44
|
* * manual/search.texi: Document MTASC-safety properties.Alexandre Oliva2014-01-311-0/+72
|
* * manual/resource.texi: Document MTASC-safety properties.Alexandre Oliva2014-01-311-0/+84
|
* * manual/process.texi: Document MTASC-safety properties.Alexandre Oliva2014-01-311-0/+72
|
* * manual/platform.texi: Document MTASC-safety properties.Alexandre Oliva2014-01-311-0/+18
|
* * manual/pipe.texi: Document MTASC-safety properties.Alexandre Oliva2014-01-311-0/+110
|
* * manual/pattern.texi: Document MTASC-safety properties.Alexandre Oliva2014-01-311-0/+727
|
* * manual/message.texi: Document MTASC-safety properties.Alexandre Oliva2014-01-311-2/+157
|
* [BZ #12751]Alexandre Oliva2014-01-311-0/+533
| | | | * manual/memory.texi: Document MTASC-safety properties.
* * manual/math.texi: Document MTASC-safety properties.Alexandre Oliva2014-01-311-0/+103
|
* * manual/locale.texi: Document MTASC-safety properties.Alexandre Oliva2014-01-311-0/+146
|
* * manual/llio.texi: Document MTASC-safety properties.Alexandre Oliva2014-01-311-0/+280
|