mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-16 11:31:00 +08:00
cf6e411f17
Hi, make pdf on Ubuntu 16.04 fail with: newlib/libc/libc.texinfo:9: Missing @endcsname inserted. After a lot of fiddling the reason appears to be the combination of concept and function index despite a lack of concept index entries. Arguably texinfo should not error in that case but here we are, newlib will fail to build its documentation on some systems because of this. Since libc.texinfo only contains function index entries this patch simply removes the combination of indices. It does the same for libm.texinfo which has concept index entries but no function index entries. Tested by running make pdf, make dvi, make info and make html successfully. libc.pdf appears to have only one index as expected. == Proposed commit message == Fix pdf build failure with texinfo 6.1.0 as provided in Ubuntu 16.04. Index combination in libc.texinfo and libm.texinfo fails because both file have only one type of index entries. Removing index combination is thus harmless and solves the problem. Is this ok for master? Best regards, Thomas
156 lines
5.0 KiB
Plaintext
156 lines
5.0 KiB
Plaintext
\input texinfo.tex
|
|
@setfilename libm.info
|
|
|
|
@ifinfo
|
|
@format
|
|
@dircategory Newlib
|
|
@direntry
|
|
* libm: (libm). An ANSI-C conforming mathematical library.
|
|
@end direntry
|
|
@end format
|
|
@end ifinfo
|
|
|
|
@ifinfo
|
|
This file documents an ANSI-C conforming mathematical subroutine library.
|
|
|
|
Copyright (C) 1992, 1993, 1995, 1996-2014 Red Hat, Inc.
|
|
|
|
@file{libm} includes software developed at SunPro, a Sun Microsystems,
|
|
Inc. business. Permission to use, copy, modify, and distribute this
|
|
software is freely granted, provided that this notice is preserved.
|
|
|
|
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.
|
|
|
|
@ignore
|
|
Permission is granted to process this file through Tex and print the
|
|
results, provided the printed document carries copying permission
|
|
notice identical to this one except for the removal of this paragraph
|
|
(this paragraph not being relevant to the printed manual).
|
|
|
|
@end ignore
|
|
Permission is granted to copy and distribute modified versions of this
|
|
manual under the conditions for verbatim copying, subject to the terms
|
|
of the GNU General Public License, which includes the provision that the
|
|
entire resulting derived work is distributed under the terms of a
|
|
permission notice identical to this one.
|
|
|
|
Permission is granted to copy and distribute translations of this manual
|
|
into another language, under the above conditions for modified versions.
|
|
@end ifinfo
|
|
@iftex
|
|
@finalout
|
|
@setchapternewpage odd
|
|
@settitle The Red Hat newlib C Math Library
|
|
@titlepage
|
|
@title The Red Hat newlib C Math Library
|
|
@sp 1
|
|
@subtitle @code{libm} 2.2.0
|
|
@subtitle December 2014
|
|
@author {Steve Chamberlain}
|
|
@author {Roland Pesch}
|
|
@author {Red Hat Support}
|
|
@author {Jeff Johnston}
|
|
@page
|
|
|
|
@tex
|
|
{\parskip=0pt
|
|
\hfill Red Hat Support\par
|
|
\hfill sac@@cygnus.com\par
|
|
\hfill pesch@@cygnus.com\par
|
|
\hfill jjohnstn@@redhat.com\par
|
|
}
|
|
\global\parindent=0pt % Steve likes it this way
|
|
@end tex
|
|
|
|
@vskip 0pt plus 1filll
|
|
Copyright @copyright{} 1992, 1993, 1994-2004 Red Hat, Inc.
|
|
|
|
@file{libm} includes software developed at SunPro, a Sun Microsystems,
|
|
Inc. business. Permission to use, copy, modify, and distribute this
|
|
software is freely granted, provided that this notice is preserved.
|
|
|
|
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, subject to the terms
|
|
of the GNU General Public License, which includes the provision that the
|
|
entire resulting derived work is distributed under the terms of a
|
|
permission notice identical to this one.
|
|
|
|
Permission is granted to copy and distribute translations of this manual
|
|
into another language, under the above conditions for modified versions.
|
|
@end titlepage
|
|
@end iftex
|
|
|
|
@ifnottex
|
|
@node Top
|
|
@top LIBM
|
|
@end ifnottex
|
|
|
|
@menu
|
|
* Math:: The mathematical functions (`math.h').
|
|
* Complex:: The mathematical complex functions (`complex.h').
|
|
* Reentrancy:: The functions in libm are not reentrant by default.
|
|
* Long Double Functions:: The long double function support of libm.
|
|
* Document Index::
|
|
@end menu
|
|
|
|
@include targetdep.tex
|
|
|
|
@node Reentrancy
|
|
@chapter Reentrancy Properties of @code{libm}
|
|
|
|
@cindex reentrancy
|
|
@cindex @code{matherr} and reentrancy
|
|
When a libm function detects an exceptional case, @code{errno} may be
|
|
set, the @code{matherr} function may be called, and a error message
|
|
may be written to the standard error stream. This behavior may not
|
|
be reentrant.
|
|
|
|
@c The exact behavior depends on the currently selected error handling
|
|
@c mode (IEEE, POSIX, X/Open, or SVID).
|
|
|
|
With reentrant C libraries like the Red Hat newlib C library, @code{errno} is
|
|
a macro which expands to the per-thread error value. This makes it thread
|
|
safe.
|
|
|
|
When the user provides his own @code{matherr} function it must be
|
|
reentrant for the math library as a whole to be reentrant.
|
|
|
|
In normal debugged programs, there are usually no math subroutine
|
|
errors---and therefore no assignments to @code{errno} and no @code{matherr}
|
|
calls; in that situation, the math functions behave reentrantly.
|
|
|
|
@node Long Double Functions
|
|
@chapter The long double function support of @code{libm}
|
|
Currently, the full set of long double math functions is only provided
|
|
on platforms where long double equals double.
|
|
For such platforms, the long double math functions are implemented as calls to the double versions.
|
|
@node Document Index
|
|
@unnumbered Document Index
|
|
@printindex cp
|
|
|
|
@tex
|
|
% I think something like @@colophon should be in texinfo. In the
|
|
% meantime:
|
|
\long\def\colophon{\hbox to0pt{}\vfill
|
|
\centerline{The body of this manual is set in}
|
|
\centerline{\fontname\tenrm,}
|
|
\centerline{with headings in {\bf\fontname\tenbf}}
|
|
\centerline{and examples in {\tt\fontname\tentt}.}
|
|
\centerline{{\it\fontname\tenit\/} and}
|
|
\centerline{{\sl\fontname\tensl\/}}
|
|
\centerline{are used for emphasis.}\vfill}
|
|
\page\colophon
|
|
% Blame: pesch@@cygnus.com, 28mar91.
|
|
@end tex
|
|
|
|
@contents
|
|
@bye
|
|
|
|
|