summaryrefslogtreecommitdiff
path: root/Build/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-07-18 17:16:29 +0000
committerKarl Berry <karl@freefriends.org>2021-07-18 17:16:29 +0000
commit78591567fc12bcecdf39f8d632d39c12568401ea (patch)
treebb339f362e3a36d653efa2f7fbd7e219b12abde7 /Build/source
parent24ff0d4c91e4e1d9c2d149465d25d78e24825325 (diff)
checking fmt sharability across architectures
git-svn-id: svn://tug.org/texlive/trunk@59973 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rw-r--r--Build/source/texk/web2c/doc/web2c.info242
-rw-r--r--Build/source/texk/web2c/doc/web2c.texi51
2 files changed, 161 insertions, 132 deletions
diff --git a/Build/source/texk/web2c/doc/web2c.info b/Build/source/texk/web2c/doc/web2c.info
index 35325f15ba9..f02ba7d31f3 100644
--- a/Build/source/texk/web2c/doc/web2c.info
+++ b/Build/source/texk/web2c/doc/web2c.info
@@ -1,4 +1,4 @@
-This is web2c.info, produced by makeinfo version 6.7 from web2c.texi.
+This is web2c.info, produced by makeinfo version 6.8 from web2c.texi.
This file documents the installation and use of the programs in Web2c,
an implementation of Donald Knuth's TeX system.
@@ -58,7 +58,7 @@ Web2c
This document describes how to install and use the programs in the Web2c
implementation of the TeX system, especially for Unix systems. It
-corresponds to Web2c version 2021, released in May 2021.
+corresponds to Web2c version 2021, released in July 2021.
* Menu:
@@ -83,7 +83,7 @@ File: web2c.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top
1 Introduction
**************
-This manual corresponds to version 2021 of Web2c, released in May 2021.
+This manual corresponds to version 2021 of Web2c, released in July 2021.
"Web2c" is the name of a TeX implementation, originally for Unix, but
now also running under various operating systems. By "TeX
@@ -774,33 +774,38 @@ File: web2c.info, Node: Hardware and memory dumps, Prev: Determining the memor
4.3.3 Hardware and memory dumps
-------------------------------
-By default, memory dump files are generally sharable between
-architectures of different types; specifically, on machines of different
-endianness (*note (libc)Byte order::). (This is a feature of the Web2c
-implementation, and is not true of all TeX implementations.) If you
-specify '--disable-dump-share' to 'configure', however, memory dumps
-will be endian-dependent.
-
- The reason to do this is speed. To achieve endian-independence, the
-reading of memory dumps on LittleEndian architectures, such as PC's and
-DEC architectures, is somewhat slowed (all the multibyte values have to
-be swapped). Usually, this is not noticeable, and the advantage of
-being able to share memory dumps across all platforms at a site far
-outweighs the speed loss. But if you're installing Web2c for use on
-LittleEndian machines only, perhaps on a PC being used only by you, you
-may wish to get maximum speed.
+By default, memory dump files are sharable between architectures of
+different types; specifically, on machines of different endianness
+(*note (libc)Byte order::) and with different word sizes (4-byte 'long'
+vs. 8-byte 'long'). This is a feature of the Web2c implementation, and
+is not true of all TeX implementations.
+
+ The script 'tl-check-fmtshare' in the TeX Live source tree
+('Master/tlpkg/bin') provides a relatively easy way to test that a
+'.fmt' built on the local host can be loaded by a TeX engine built on
+some remote host.
+
+ If you specify '--disable-dump-share' to 'configure', however, memory
+dumps will be endian-dependent. The reason to do this is speed. To
+achieve endian-independence, the reading of memory dumps on LittleEndian
+architectures, such as PC's and DEC architectures, is somewhat slowed
+(all the multibyte values have to be swapped). Usually, this is not
+noticeable, and the advantage of being able to share memory dumps across
+all platforms at a site far outweighs the speed loss. But if you're
+trying to squeeze out every possible bit of performance, you may wish to
+do this.
TeXnically, even without '--disable-dump-share', sharing of '.fmt'
files cannot be guaranteed to work. Floating-point values are always
written in native format, and hence will generally not be readable
across platforms. Fortunately, TeX uses floating point only to
-represent glue ratios, and all common formats (plain, LaTeX, AMSTeX,
-...) do not do any glue setting at '.fmt'-creation time. Metafont does
+represent glue ratios, and none of the common formats (plain, LaTeX,
+AMSTeX, ...) do any glue setting at '.fmt'-creation time. Metafont does
not use floating point in any dumped value at all.
Incidentally, different memory dump files will never compare equal
-byte-for-byte, because the program always dumps the current date and
-time. So don't be alarmed by just a few bytes difference.
+byte-for-byte, because the programs dump the current date and time. So
+don't be alarmed by a few bytes difference.
If you don't know what endianness your machine is, and you're
curious, here is a little C program to tell you. (The 'configure'
@@ -827,6 +832,9 @@ References::).
exit (u.c[sizeof (long) - 1] == 1);
}
+ You can add 'printf("long %d\n", sizeof(long));' to see the size of
+the 'long' data type.
+

File: web2c.info, Node: Editor invocation, Next: \input filenames, Prev: Memory dumps, Up: Three programs
@@ -3502,7 +3510,7 @@ Index
* - starts option names: Option conventions. (line 11)
* -- starts option names: Option conventions. (line 11)
* --disable-dump-share configure option: Hardware and memory dumps.
- (line 6)
+ (line 17)
* --disable-mf-nowin: Online Metafont graphics.
(line 65)
* --enable-epsfwin: Online Metafont graphics.
@@ -3534,7 +3542,7 @@ Index
* -base=BASE: Determining the memory dump to use.
(line 15)
* -base=DUMPNAME: Common options. (line 39)
-* -change=CHFILE: mft invocation. (line 63)
+* -change=CHFILE: mft invocation. (line 62)
* -charcode-format=TYPE: tftopl invocation. (line 27)
* -charcode-format=TYPE <1>: vftovp invocation. (line 30)
* -cnf-line: Common options. (line 25)
@@ -3596,7 +3604,7 @@ Index
* -shell-restricted: tex invocation. (line 122)
* -show-opcodes: dvitype invocation. (line 52)
* -strict: tangle invocation. (line 46)
-* -style=MFTFILE: mft invocation. (line 67)
+* -style=MFTFILE: mft invocation. (line 66)
* -T: mpost invocation. (line 111)
* -terse: bibtex invocation. (line 28)
* -tex=TEXPROGRAM: mpost invocation. (line 114)
@@ -3629,6 +3637,10 @@ Index
* .Xresources: Online Metafont graphics.
(line 69)
* 2602gf: mf invocation. (line 48)
+* 32-bit architecture: Hardware and memory dumps.
+ (line 6)
+* 64-bit architecture: Hardware and memory dumps.
+ (line 6)
* 8 bit clean: Common options. (line 110)
* 8 bit clean output, specifying: Common options. (line 110)
* 8-bit characters: TCX files. (line 6)
@@ -3738,11 +3750,11 @@ Index
* byte position: pktype invocation. (line 40)
* byte position <1>: gftype invocation. (line 76)
* byte swapping: Hardware and memory dumps.
- (line 13)
+ (line 17)
* c-sources Makefile target: Additional targets. (line 12)
* caveats for \input filenames: \input filename caveats.
(line 6)
-* change files, and MFT: mft invocation. (line 63)
+* change files, and MFT: mft invocation. (line 62)
* change files, and Tangle: tangle invocation. (line 11)
* change files, and Weave: weave invocation. (line 14)
* changing error messages style: Common options. (line 31)
@@ -3762,7 +3774,7 @@ Index
(line 69)
* cm.base: Initial Metafont. (line 26)
* cmbase.mf: Initial Metafont. (line 26)
-* cmbase.mft: mft invocation. (line 73)
+* cmbase.mft: mft invocation. (line 72)
* cmmf.base not recommended: Initial Metafont. (line 26)
* color, in DVItoMP: dvitomp invocation. (line 15)
* comments, in TCX files: TCX files. (line 70)
@@ -3775,7 +3787,7 @@ Index
(line 6)
* Computer Modern fonts, and Troff: mpost invocation. (line 61)
* Computer Modern macros: Initial Metafont. (line 26)
-* Computer Modern Typefaces, production of: mft invocation. (line 73)
+* Computer Modern Typefaces, production of: mft invocation. (line 72)
* configuration: Installation. (line 6)
* configuration file reading: Path searching. (line 6)
* configuration file values: Runtime options. (line 6)
@@ -3805,7 +3817,7 @@ Index
* Cweb: WEB. (line 12)
* CWEB: WEB. (line 12)
* date and time, in memory dumps: Hardware and memory dumps.
- (line 30)
+ (line 35)
* debugging DVI utilities: dvitype invocation. (line 52)
* debugging flags, specifying: Common options. (line 64)
* decimal character codes, in TCX files: TCX files. (line 77)
@@ -3847,7 +3859,7 @@ Index
* e response at error prompt: Editor invocation. (line 6)
* e-circumflex: \charsubdef. (line 20)
* e-TeX: TeX extensions. (line 10)
-* e.mft: mft invocation. (line 73)
+* e.mft: mft invocation. (line 72)
* EC fonts: tex invocation. (line 41)
* EC fonts <1>: mf invocation. (line 24)
* editing of bitmap fonts: Font utilities available elsewhere.
@@ -3896,7 +3908,7 @@ Index
* floating-point arithmetic: Compile-time options.
(line 21)
* floating-point values: Hardware and memory dumps.
- (line 22)
+ (line 27)
* fmt file, determining: Determining the memory dump to use.
(line 6)
* fmt files: Initial TeX. (line 6)
@@ -3944,7 +3956,7 @@ Index
* gftype GF validation: gftype invocation. (line 6)
* gftype.web: Font utilities. (line 11)
* glue ratio representations: Hardware and memory dumps.
- (line 22)
+ (line 27)
* glue, memory for: Runtime options. (line 20)
* glyph substitutions: MLTeX. (line 6)
* gray font: gftodvi invocation. (line 29)
@@ -3954,7 +3966,7 @@ Index
* gsftopk: Font utilities available elsewhere.
(line 35)
* Harbison, Samuel P.: Hardware and memory dumps.
- (line 34)
+ (line 39)
* hardware and memory dumps: Hardware and memory dumps.
(line 6)
* headerbyte information: tftopl invocation. (line 95)
@@ -4041,6 +4053,8 @@ Index
(line 6)
* location of texmf.cnf in TeX Live: Runtime options. (line 56)
* log file, BibTeX: bibtex invocation. (line 14)
+* long data type, size of: Hardware and memory dumps.
+ (line 6)
* Lua: TeX extensions. (line 30)
* LuaTeX: TeX extensions. (line 30)
* machine dependencies: Hardware and memory dumps.
@@ -4070,7 +4084,7 @@ Index
* memory dumps and hardware: Hardware and memory dumps.
(line 6)
* memory dumps, contain date and time: Hardware and memory dumps.
- (line 30)
+ (line 35)
* memory dumps, creating: Creating memory dumps.
(line 6)
* mems Make target: Additional targets. (line 34)
@@ -4095,7 +4109,7 @@ Index
(line 15)
* MetaPost input files: mpost invocation. (line 26)
* MetaPost invocation: mpost invocation. (line 6)
-* MetaPost source, prettyprinting: mft invocation. (line 79)
+* MetaPost source, prettyprinting: mft invocation. (line 77)
* MetaPost, initial: Initial MetaPost. (line 6)
* MetaPost, TeX, and Metafont: Three programs. (line 6)
* metatype1: Font utilities available elsewhere.
@@ -4212,7 +4226,7 @@ Index
* plain.bst: Basic BibTeX style files.
(line 11)
* plain.fmt: Initial TeX. (line 13)
-* plain.mft: mft invocation. (line 67)
+* plain.mft: mft invocation. (line 66)
* pltotf: pltotf invocation. (line 6)
* pool file, writing: tangle invocation. (line 16)
* Poole, Simon: Online Metafont graphics.
@@ -4314,14 +4328,14 @@ Index
* starting page: dvicopy invocation. (line 28)
* starting page <1>: dvitype invocation. (line 46)
* Steele Jr., Guy L.: Hardware and memory dumps.
- (line 34)
+ (line 39)
* stopping at the first error: Common options. (line 46)
* strategy, overall: Introduction. (line 16)
* string numbers, displaying: pooltype invocation. (line 6)
* string pool, writing: tangle invocation. (line 16)
* string representation: pooltype invocation. (line 30)
* style design, for BibTeX: bibtex invocation. (line 49)
-* style files: mft invocation. (line 67)
+* style files: mft invocation. (line 66)
* substitutions of font glyphs: MLTeX. (line 6)
* sun: Online Metafont graphics.
(line 42)
@@ -4333,7 +4347,7 @@ Index
(line 43)
* swap space, as array limit: Runtime options. (line 45)
* swapping bytes: Hardware and memory dumps.
- (line 13)
+ (line 17)
* syntax of TCX files: TCX files. (line 65)
* system C library function: Shell escapes. (line 6)
* system command: Shell escapes. (line 6)
@@ -4394,8 +4408,10 @@ Index
* tftopl: tftopl invocation. (line 6)
* three programs: Three programs. (line 6)
* time and date, in memory dumps: Hardware and memory dumps.
- (line 30)
+ (line 35)
* title font: gftodvi invocation. (line 33)
+* tl-check-fmtshare: Hardware and memory dumps.
+ (line 12)
* tokenization, and \input filenames: \input filename caveats.
(line 6)
* toolkits, X: Online Metafont graphics.
@@ -4505,78 +4521,78 @@ Index

Tag Table:
Node: Top2759
-Node: Introduction3829
-Node: Installation7165
-Node: configure options9209
-Node: Compile-time options11231
-Node: Additional targets12333
-Node: Triptrap13610
-Node: Commonalities15113
-Node: Option conventions15646
-Node: Common options16869
-Node: Path searching21487
-Node: Output file location22459
-Node: Three programs23761
-Node: Runtime options24468
-Node: Initial and virgin27609
-Node: Memory dumps28558
-Node: Creating memory dumps29010
-Node: Determining the memory dump to use30217
-Node: Hardware and memory dumps31794
-Node: Editor invocation34240
-Node: \input filenames35103
-Node: \input quoted filename36654
-Node: \input braced filename37431
-Node: \input filename caveats38361
-Node: TeX39875
-Node: tex invocation41043
-Node: Initial TeX48029
-Node: Formats49393
-Node: Languages and hyphenation52210
-Node: MLTeX52640
-Node: \charsubdef54268
-Node: \tracingcharsubdef56591
-Node: TCX files57166
-Node: patgen invocation62606
-Node: Shell escapes63313
-Node: IPC and TeX66893
-Node: TeX extensions67463
-Node: Metafont69492
-Node: mf invocation70780
-Node: Initial Metafont74617
-Node: Modes76247
-Node: Online Metafont graphics78497
-Node: gftodvi invocation81922
-Node: mft invocation84742
-Node: MetaPost88740
-Node: mpost invocation89576
-Node: Initial MetaPost94612
-Node: dvitomp invocation95534
-Node: BibTeX96199
-Node: bibtex invocation96560
-Node: Basic BibTeX style files99034
-Node: WEB100364
-Node: tangle invocation101573
-Node: weave invocation103697
-Node: pooltype invocation105104
-Node: DVI utilities106234
-Node: dvicopy invocation107168
-Node: dvitype invocation108453
-Node: dvitype output example110784
-Node: Font utilities113837
-Node: Font file formats115017
-Node: gftopk invocation118284
-Node: pktogf invocation119475
-Node: pktype invocation120641
-Node: gftype invocation123464
-Node: tftopl invocation127967
-Node: pltotf invocation132560
-Node: vftovp invocation133611
-Node: vptovf invocation135846
-Node: Font utilities available elsewhere136873
-Node: Legalisms139078
-Node: References140525
-Node: Index144658
+Node: Introduction3830
+Node: Installation7167
+Node: configure options9211
+Node: Compile-time options11233
+Node: Additional targets12335
+Node: Triptrap13612
+Node: Commonalities15115
+Node: Option conventions15648
+Node: Common options16871
+Node: Path searching21489
+Node: Output file location22461
+Node: Three programs23763
+Node: Runtime options24470
+Node: Initial and virgin27611
+Node: Memory dumps28560
+Node: Creating memory dumps29012
+Node: Determining the memory dump to use30219
+Node: Hardware and memory dumps31796
+Node: Editor invocation34546
+Node: \input filenames35409
+Node: \input quoted filename36960
+Node: \input braced filename37737
+Node: \input filename caveats38667
+Node: TeX40181
+Node: tex invocation41349
+Node: Initial TeX48335
+Node: Formats49699
+Node: Languages and hyphenation52516
+Node: MLTeX52946
+Node: \charsubdef54574
+Node: \tracingcharsubdef56897
+Node: TCX files57472
+Node: patgen invocation62912
+Node: Shell escapes63619
+Node: IPC and TeX67199
+Node: TeX extensions67769
+Node: Metafont69798
+Node: mf invocation71086
+Node: Initial Metafont74923
+Node: Modes76553
+Node: Online Metafont graphics78803
+Node: gftodvi invocation82228
+Node: mft invocation85048
+Node: MetaPost89046
+Node: mpost invocation89882
+Node: Initial MetaPost94918
+Node: dvitomp invocation95840
+Node: BibTeX96505
+Node: bibtex invocation96866
+Node: Basic BibTeX style files99340
+Node: WEB100670
+Node: tangle invocation101879
+Node: weave invocation104003
+Node: pooltype invocation105410
+Node: DVI utilities106540
+Node: dvicopy invocation107474
+Node: dvitype invocation108759
+Node: dvitype output example111090
+Node: Font utilities114143
+Node: Font file formats115323
+Node: gftopk invocation118590
+Node: pktogf invocation119781
+Node: pktype invocation120947
+Node: gftype invocation123770
+Node: tftopl invocation128273
+Node: pltotf invocation132866
+Node: vftovp invocation133917
+Node: vptovf invocation136152
+Node: Font utilities available elsewhere137179
+Node: Legalisms139384
+Node: References140831
+Node: Index144964

End Tag Table
diff --git a/Build/source/texk/web2c/doc/web2c.texi b/Build/source/texk/web2c/doc/web2c.texi
index 447c19f3e62..46ef2741455 100644
--- a/Build/source/texk/web2c/doc/web2c.texi
+++ b/Build/source/texk/web2c/doc/web2c.texi
@@ -12,7 +12,7 @@ The latest version is available from ftp://ftp.tug.org/tex/texinfo.tex.}
@end tex
@set version 2021
-@set month-year May 2021
+@set month-year July 2021
@c Define new indices for commands in auxiliary files, filenames, and options.
@defcodeindex cm
@@ -789,24 +789,34 @@ will be used.
@cindex machine dependencies
@cindex architecture dependencies
@cindex dependencies, hardware
-@opindex --disable-dump-share configure @r{option}
-By default, memory dump files are generally sharable between
-architectures of different types; specifically, on machines of different
-endianness (@pxref{Byte order,,,libc,GNU C Library}). (This is a
+@cindex 32-bit architecture
+@cindex 64-bit architecture
+@cindex @code{long} data type, size of
+By default, memory dump files are sharable between architectures of
+different types; specifically, on machines of different endianness
+(@pxref{Byte order,,, libc, GNU C Library}) and with different word
+sizes (4-byte @code{long} vs.@: 8-byte @code{long}). This is a
feature of the Web2c implementation, and is not true of all @TeX{}
-implementations.) If you specify @samp{--disable-dump-share} to
-@code{configure}, however, memory dumps will be endian-dependent.
+implementations.
+
+@pindex tl-check-fmtshare
+The script @code{tl-check-fmtshare} in the @TeX{} Live source tree
+(@file{Master/tlpkg/bin}) provides a relatively easy way to test that
+a @file{.fmt} built on the local host can be loaded by a @TeX{} engine
+built on some remote host.
@cindex byte swapping
@cindex swapping bytes
-The reason to do this is speed. To achieve endian-independence, the
-reading of memory dumps on LittleEndian architectures, such as PC's and
-DEC architectures, is somewhat slowed (all the multibyte values have to
-be swapped). Usually, this is not noticeable, and the advantage of
-being able to share memory dumps across all platforms at a site far
-outweighs the speed loss. But if you're installing Web2c for use on
-LittleEndian machines only, perhaps on a PC being used only by you, you
-may wish to get maximum speed.
+@opindex --disable-dump-share configure @r{option}
+If you specify @samp{--disable-dump-share} to @code{configure},
+however, memory dumps will be endian-dependent. The reason to do this
+is speed. To achieve endian-independence, the reading of memory dumps
+on LittleEndian architectures, such as PC's and DEC architectures, is
+somewhat slowed (all the multibyte values have to be swapped).
+Usually, this is not noticeable, and the advantage of being able to
+share memory dumps across all platforms at a site far outweighs the
+speed loss. But if you're trying to squeeze out every possible bit of
+performance, you may wish to do this.
@cindex floating-point values
@cindex glue ratio representations
@@ -814,8 +824,8 @@ may wish to get maximum speed.
@file{.fmt} files cannot be guaranteed to work. Floating-point values
are always written in native format, and hence will generally not be
readable across platforms. Fortunately, @TeX{} uses floating point
-only to represent glue ratios, and all common formats (plain,
-@LaTeX{}, AMS@TeX{}, @dots{}) do not do any glue setting at
+only to represent glue ratios, and none of the common formats (plain,
+@LaTeX{}, AMS@TeX{}, @dots{}) do any glue setting at
@file{.fmt}-creation time. Metafont does not use floating point in
any dumped value at all.
@@ -823,8 +833,8 @@ any dumped value at all.
@cindex time and date, in memory dumps
@cindex memory dumps, contain date and time
Incidentally, different memory dump files will never compare equal
-byte-for-byte, because the program always dumps the current date and
-time. So don't be alarmed by just a few bytes difference.
+byte-for-byte, because the programs dump the current date and time. So
+don't be alarmed by a few bytes difference.
@cindex Harbison, Samuel P.
@cindex Steele Jr., Guy L.
@@ -855,6 +865,9 @@ main ()
@}
@end example
+You can add @code{printf("long %d\n", sizeof(long));} to see the size
+of the @code{long} data type.
+
@node Editor invocation
@section Editor invocation