[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] gawk branch, master, updated. gawk-4.1.0-4752-g950a15ac

From: Arnold Robbins
Subject: [SCM] gawk branch, master, updated. gawk-4.1.0-4752-g950a15ac
Date: Wed, 29 Jun 2022 01:02:36 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, master has been updated
       via  950a15ac48ead53f4485aea4f5566fcfe5db8a4a (commit)
      from  19a1e70b81d91acc396ba5e34e5e681759cf7d54 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------

commit 950a15ac48ead53f4485aea4f5566fcfe5db8a4a
Author: Arnold D. Robbins <>
Date:   Wed Jun 29 08:02:10 2022 +0300

    PMA only works on 64-bit systems. Enforce this and document it.

diff --git a/ b/
index 283dcba2..2cfb984a 100644
--- a/
+++ b/
@@ -389,6 +389,9 @@
 /* The size of `unsigned long', as computed by sizeof. */
+/* The size of `void *', as computed by sizeof. */
 /* Define to 1 if all of the C90 standard headers exist (not just the ones
    required in a freestanding environment). This macro is provided for
    backward compatibility; new code need not use it. */
diff --git a/configure b/configure
index f9e8affe..11a42ed6 100755
--- a/configure
+++ b/configure
@@ -12536,8 +12536,41 @@ printf "%s\n" "#define HAVE_MBRTOWC 1" >>confdefs.h
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
+printf %s "checking size of void *... " >&6; }
+if test ${ac_cv_sizeof_void_p+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" 
"ac_cv_sizeof_void_p"        "$ac_includes_default"
+then :
+else $as_nop
+  if test "$ac_cv_type_void_p" = yes; then
+     { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (void *)
+See \`config.log' for more details" "$LINENO" 5; }
+   else
+     ac_cv_sizeof_void_p=0
+   fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
+printf "%s\n" "$ac_cv_sizeof_void_p" >&6; }
+printf "%s\n" "#define SIZEOF_VOID_P $ac_cv_sizeof_void_p" >>confdefs.h
-if test "$SKIP_PERSIST_MALLOC" = no
+if test "$SKIP_PERSIST_MALLOC" = no && test $ac_cv_sizeof_void_p -eq 8
        ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
 if test "x$ac_cv_func_mmap" = xyes
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 926763b1..61eef4f3 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2022-06-29         Arnold D. Robbins     <>
+       * (Persistent Memory): Note that only 64-bit
+       systems are supported.
 2022-06-24         Arnold D. Robbins     <>
        * (Environment Variables): Shorten text and add
diff --git a/doc/ b/doc/
index aa5c0189..31f85ac8 100644
--- a/doc/
+++ b/doc/
@@ -22132,12 +22132,12 @@ arrays in a persistent heap, which resides in a file 
in the filesystem.
 When persistent memory is not in use (the normal case), 'gawk''s data
 resides in ephemeral system memory.
-   Persistent memory is enabled on systems supporting the 'mmap()' and
-'munmap()' system calls.  'gawk' must be compiled as a non-PIE (Position
-Independent Executable) binary, since the persistent store ends up
-holding pointers to functions held within the 'gawk' executable.  This
-also means that to use the persistent memory, you must use the same
-'gawk' executable from run to run.
+   Persistent memory is enabled on 64-bit systems supporting the
+'mmap()' and 'munmap()' system calls.  'gawk' must be compiled as a
+non-PIE (Position Independent Executable) binary, since the persistent
+store ends up holding pointers to functions held within the 'gawk'
+executable.  This also means that to use the persistent memory, you must
+use the same 'gawk' executable from run to run.
    As of this writing, persistent memory has only been tested on
 GNU/Linux and Mac OS systems.  On others, your mileage may vary, and/or
@@ -39367,244 +39367,244 @@ Ref: Two-way I/O-Footnote-2884071
 Node: TCP/IP Networking884153
 Node: Profiling887229
 Node: Persistent Memory896535
-Ref: Persistent Memory-Footnote-1902697
-Node: Extension Philosophy902824
-Node: Advanced Features Summary904311
-Node: Internationalization906483
-Node: I18N and L10N908157
-Node: Explaining gettext908844
-Ref: Explaining gettext-Footnote-1914736
-Ref: Explaining gettext-Footnote-2914921
-Node: Programmer i18n915086
-Ref: Programmer i18n-Footnote-1920035
-Node: Translator i18n920084
-Node: String Extraction920878
-Ref: String Extraction-Footnote-1922010
-Node: Printf Ordering922096
-Ref: Printf Ordering-Footnote-1924882
-Node: I18N Portability924946
-Ref: I18N Portability-Footnote-1927402
-Node: I18N Example927465
-Ref: I18N Example-Footnote-1930740
-Ref: I18N Example-Footnote-2930813
-Node: Gawk I18N930922
-Node: I18N Summary931544
-Node: Debugger932885
-Node: Debugging933885
-Node: Debugging Concepts934326
-Node: Debugging Terms936135
-Node: Awk Debugging938710
-Ref: Awk Debugging-Footnote-1939655
-Node: Sample Debugging Session939787
-Node: Debugger Invocation940321
-Node: Finding The Bug941707
-Node: List of Debugger Commands948181
-Node: Breakpoint Control949514
-Node: Debugger Execution Control953208
-Node: Viewing And Changing Data956570
-Node: Execution Stack960111
-Node: Debugger Info961748
-Node: Miscellaneous Debugger Commands965819
-Node: Readline Support970881
-Node: Limitations971777
-Node: Debugging Summary974331
-Node: Namespaces975610
-Node: Global Namespace976721
-Node: Qualified Names978119
-Node: Default Namespace979118
-Node: Changing The Namespace979859
-Node: Naming Rules981473
-Node: Internal Name Management983321
-Node: Namespace Example984363
-Node: Namespace And Features986925
-Node: Namespace Summary988360
-Node: Arbitrary Precision Arithmetic989837
-Node: Computer Arithmetic991324
-Ref: table-numeric-ranges995090
-Ref: table-floating-point-ranges995584
-Ref: Computer Arithmetic-Footnote-1996243
-Node: Math Definitions996300
-Ref: table-ieee-formats999276
-Node: MPFR features999844
-Node: MPFR On Parole1000289
-Ref: MPFR On Parole-Footnote-11001118
-Node: MPFR Intro1001273
-Node: FP Math Caution1002912
-Ref: FP Math Caution-Footnote-11003984
-Node: Inexactness of computations1004353
-Node: Inexact representation1005384
-Node: Comparing FP Values1006744
-Node: Errors accumulate1007985
-Node: Strange values1009441
-Ref: Strange values-Footnote-11012029
-Node: Getting Accuracy1012134
-Node: Try To Round1014844
-Node: Setting precision1015743
-Ref: table-predefined-precision-strings1016440
-Node: Setting the rounding mode1018271
-Ref: table-gawk-rounding-modes1018645
-Ref: Setting the rounding mode-Footnote-11022577
-Node: Arbitrary Precision Integers1022756
-Ref: Arbitrary Precision Integers-Footnote-11025931
-Node: Checking for MPFR1026080
-Node: POSIX Floating Point Problems1027554
-Ref: POSIX Floating Point Problems-Footnote-11032207
-Node: Floating point summary1032245
-Node: Dynamic Extensions1034435
-Node: Extension Intro1035988
-Node: Plugin License1037254
-Node: Extension Mechanism Outline1038051
-Ref: figure-load-extension1038490
-Ref: figure-register-new-function1040056
-Ref: figure-call-new-function1041149
-Node: Extension API Description1043212
-Node: Extension API Functions Introduction1044925
-Ref: table-api-std-headers1046761
-Node: General Data Types1051011
-Ref: General Data Types-Footnote-11059717
-Node: Memory Allocation Functions1060016
-Ref: Memory Allocation Functions-Footnote-11064517
-Node: Constructor Functions1064616
-Node: API Ownership of MPFR and GMP Values1068269
-Node: Registration Functions1069802
-Node: Extension Functions1070502
-Node: Exit Callback Functions1075824
-Node: Extension Version String1077074
-Node: Input Parsers1077737
-Node: Output Wrappers1090458
-Node: Two-way processors1094970
-Node: Printing Messages1097235
-Ref: Printing Messages-Footnote-11098406
-Node: Updating ERRNO1098559
-Node: Requesting Values1099298
-Ref: table-value-types-returned1100035
-Node: Accessing Parameters1101144
-Node: Symbol Table Access1102381
-Node: Symbol table by name1102893
-Ref: Symbol table by name-Footnote-11105918
-Node: Symbol table by cookie1106046
-Ref: Symbol table by cookie-Footnote-11110231
-Node: Cached values1110295
-Ref: Cached values-Footnote-11113831
-Node: Array Manipulation1113984
-Ref: Array Manipulation-Footnote-11115075
-Node: Array Data Types1115112
-Ref: Array Data Types-Footnote-11117770
-Node: Array Functions1117862
-Node: Flattening Arrays1122647
-Node: Creating Arrays1129623
-Node: Redirection API1134390
-Node: Extension API Variables1137223
-Node: Extension Versioning1137934
-Ref: gawk-api-version1138363
-Node: Extension GMP/MPFR Versioning1140095
-Node: Extension API Informational Variables1141723
-Node: Extension API Boilerplate1142796
-Node: Changes from API V11146770
-Node: Finding Extensions1148342
-Node: Extension Example1148901
-Node: Internal File Description1149699
-Node: Internal File Ops1153779
-Ref: Internal File Ops-Footnote-11165129
-Node: Using Internal File Ops1165269
-Ref: Using Internal File Ops-Footnote-11167652
-Node: Extension Samples1167926
-Node: Extension Sample File Functions1169455
-Node: Extension Sample Fnmatch1177104
-Node: Extension Sample Fork1178591
-Node: Extension Sample Inplace1179809
-Node: Extension Sample Ord1183435
-Node: Extension Sample Readdir1184271
-Ref: table-readdir-file-types1185160
-Node: Extension Sample Revout1186228
-Node: Extension Sample Rev2way1186817
-Node: Extension Sample Read write array1187557
-Node: Extension Sample Readfile1190722
-Node: Extension Sample Time1191817
-Node: Extension Sample API Tests1193569
-Node: gawkextlib1194061
-Node: Extension summary1196979
-Node: Extension Exercises1200681
-Node: Language History1201923
-Node: V7/SVR3.11203579
-Node: SVR41205731
-Node: POSIX1207165
-Node: BTL1208546
-Node: POSIX/GNU1209275
-Node: Feature History1215053
-Node: Common Extensions1232228
-Node: Ranges and Locales1233511
-Ref: Ranges and Locales-Footnote-11238127
-Ref: Ranges and Locales-Footnote-21238154
-Ref: Ranges and Locales-Footnote-31238389
-Node: Contributors1238612
-Node: History summary1244609
-Node: Installation1245989
-Node: Gawk Distribution1246933
-Node: Getting1247417
-Node: Extracting1248380
-Node: Distribution contents1250018
-Node: Unix Installation1257079
-Node: Quick Installation1257883
-Node: Compiling with MPFR1260303
-Node: Shell Startup Files1260993
-Node: Additional Configuration Options1262082
-Node: Configuration Philosophy1264397
-Node: Compiling from Git1266793
-Node: Building the Documentation1267348
-Node: Non-Unix Installation1268732
-Node: PC Installation1269192
-Node: PC Binary Installation1270030
-Node: PC Compiling1270903
-Node: PC Using1272020
-Node: Cygwin1275573
-Node: MSYS1276797
-Node: VMS Installation1277399
-Node: VMS Compilation1278118
-Ref: VMS Compilation-Footnote-11279347
-Node: VMS Dynamic Extensions1279405
-Node: VMS Installation Details1281090
-Node: VMS Running1283352
-Node: VMS GNV1287631
-Node: Bugs1288345
-Node: Bug definition1289257
-Node: Bug address1292193
-Node: Usenet1295381
-Node: Performance bugs1296570
-Node: Asking for help1299491
-Node: Maintainers1301458
-Node: Other Versions1302652
-Node: Installation summary1310922
-Node: Notes1312286
-Node: Compatibility Mode1313080
-Node: Additions1313862
-Node: Accessing The Source1314787
-Node: Adding Code1316224
-Node: New Ports1323039
-Node: Derived Files1327414
-Ref: Derived Files-Footnote-11333074
-Ref: Derived Files-Footnote-21333109
-Ref: Derived Files-Footnote-31333707
-Node: Future Extensions1333821
-Node: Implementation Limitations1334479
-Node: Extension Design1335689
-Node: Old Extension Problems1336833
-Ref: Old Extension Problems-Footnote-11338351
-Node: Extension New Mechanism Goals1338408
-Ref: Extension New Mechanism Goals-Footnote-11341772
-Node: Extension Other Design Decisions1341961
-Node: Extension Future Growth1344074
-Node: Notes summary1344680
-Node: Basic Concepts1345838
-Node: Basic High Level1346519
-Ref: figure-general-flow1346801
-Ref: figure-process-flow1347487
-Ref: Basic High Level-Footnote-11350789
-Node: Basic Data Typing1350974
-Node: Glossary1354302
-Node: Copying1386189
-Node: GNU Free Documentation License1423732
-Node: Index1448852
+Ref: Persistent Memory-Footnote-1902704
+Node: Extension Philosophy902831
+Node: Advanced Features Summary904318
+Node: Internationalization906490
+Node: I18N and L10N908164
+Node: Explaining gettext908851
+Ref: Explaining gettext-Footnote-1914743
+Ref: Explaining gettext-Footnote-2914928
+Node: Programmer i18n915093
+Ref: Programmer i18n-Footnote-1920042
+Node: Translator i18n920091
+Node: String Extraction920885
+Ref: String Extraction-Footnote-1922017
+Node: Printf Ordering922103
+Ref: Printf Ordering-Footnote-1924889
+Node: I18N Portability924953
+Ref: I18N Portability-Footnote-1927409
+Node: I18N Example927472
+Ref: I18N Example-Footnote-1930747
+Ref: I18N Example-Footnote-2930820
+Node: Gawk I18N930929
+Node: I18N Summary931551
+Node: Debugger932892
+Node: Debugging933892
+Node: Debugging Concepts934333
+Node: Debugging Terms936142
+Node: Awk Debugging938717
+Ref: Awk Debugging-Footnote-1939662
+Node: Sample Debugging Session939794
+Node: Debugger Invocation940328
+Node: Finding The Bug941714
+Node: List of Debugger Commands948188
+Node: Breakpoint Control949521
+Node: Debugger Execution Control953215
+Node: Viewing And Changing Data956577
+Node: Execution Stack960118
+Node: Debugger Info961755
+Node: Miscellaneous Debugger Commands965826
+Node: Readline Support970888
+Node: Limitations971784
+Node: Debugging Summary974338
+Node: Namespaces975617
+Node: Global Namespace976728
+Node: Qualified Names978126
+Node: Default Namespace979125
+Node: Changing The Namespace979866
+Node: Naming Rules981480
+Node: Internal Name Management983328
+Node: Namespace Example984370
+Node: Namespace And Features986932
+Node: Namespace Summary988367
+Node: Arbitrary Precision Arithmetic989844
+Node: Computer Arithmetic991331
+Ref: table-numeric-ranges995097
+Ref: table-floating-point-ranges995591
+Ref: Computer Arithmetic-Footnote-1996250
+Node: Math Definitions996307
+Ref: table-ieee-formats999283
+Node: MPFR features999851
+Node: MPFR On Parole1000296
+Ref: MPFR On Parole-Footnote-11001125
+Node: MPFR Intro1001280
+Node: FP Math Caution1002919
+Ref: FP Math Caution-Footnote-11003991
+Node: Inexactness of computations1004360
+Node: Inexact representation1005391
+Node: Comparing FP Values1006751
+Node: Errors accumulate1007992
+Node: Strange values1009448
+Ref: Strange values-Footnote-11012036
+Node: Getting Accuracy1012141
+Node: Try To Round1014851
+Node: Setting precision1015750
+Ref: table-predefined-precision-strings1016447
+Node: Setting the rounding mode1018278
+Ref: table-gawk-rounding-modes1018652
+Ref: Setting the rounding mode-Footnote-11022584
+Node: Arbitrary Precision Integers1022763
+Ref: Arbitrary Precision Integers-Footnote-11025938
+Node: Checking for MPFR1026087
+Node: POSIX Floating Point Problems1027561
+Ref: POSIX Floating Point Problems-Footnote-11032214
+Node: Floating point summary1032252
+Node: Dynamic Extensions1034442
+Node: Extension Intro1035995
+Node: Plugin License1037261
+Node: Extension Mechanism Outline1038058
+Ref: figure-load-extension1038497
+Ref: figure-register-new-function1040063
+Ref: figure-call-new-function1041156
+Node: Extension API Description1043219
+Node: Extension API Functions Introduction1044932
+Ref: table-api-std-headers1046768
+Node: General Data Types1051018
+Ref: General Data Types-Footnote-11059724
+Node: Memory Allocation Functions1060023
+Ref: Memory Allocation Functions-Footnote-11064524
+Node: Constructor Functions1064623
+Node: API Ownership of MPFR and GMP Values1068276
+Node: Registration Functions1069809
+Node: Extension Functions1070509
+Node: Exit Callback Functions1075831
+Node: Extension Version String1077081
+Node: Input Parsers1077744
+Node: Output Wrappers1090465
+Node: Two-way processors1094977
+Node: Printing Messages1097242
+Ref: Printing Messages-Footnote-11098413
+Node: Updating ERRNO1098566
+Node: Requesting Values1099305
+Ref: table-value-types-returned1100042
+Node: Accessing Parameters1101151
+Node: Symbol Table Access1102388
+Node: Symbol table by name1102900
+Ref: Symbol table by name-Footnote-11105925
+Node: Symbol table by cookie1106053
+Ref: Symbol table by cookie-Footnote-11110238
+Node: Cached values1110302
+Ref: Cached values-Footnote-11113838
+Node: Array Manipulation1113991
+Ref: Array Manipulation-Footnote-11115082
+Node: Array Data Types1115119
+Ref: Array Data Types-Footnote-11117777
+Node: Array Functions1117869
+Node: Flattening Arrays1122654
+Node: Creating Arrays1129630
+Node: Redirection API1134397
+Node: Extension API Variables1137230
+Node: Extension Versioning1137941
+Ref: gawk-api-version1138370
+Node: Extension GMP/MPFR Versioning1140102
+Node: Extension API Informational Variables1141730
+Node: Extension API Boilerplate1142803
+Node: Changes from API V11146777
+Node: Finding Extensions1148349
+Node: Extension Example1148908
+Node: Internal File Description1149706
+Node: Internal File Ops1153786
+Ref: Internal File Ops-Footnote-11165136
+Node: Using Internal File Ops1165276
+Ref: Using Internal File Ops-Footnote-11167659
+Node: Extension Samples1167933
+Node: Extension Sample File Functions1169462
+Node: Extension Sample Fnmatch1177111
+Node: Extension Sample Fork1178598
+Node: Extension Sample Inplace1179816
+Node: Extension Sample Ord1183442
+Node: Extension Sample Readdir1184278
+Ref: table-readdir-file-types1185167
+Node: Extension Sample Revout1186235
+Node: Extension Sample Rev2way1186824
+Node: Extension Sample Read write array1187564
+Node: Extension Sample Readfile1190729
+Node: Extension Sample Time1191824
+Node: Extension Sample API Tests1193576
+Node: gawkextlib1194068
+Node: Extension summary1196986
+Node: Extension Exercises1200688
+Node: Language History1201930
+Node: V7/SVR3.11203586
+Node: SVR41205738
+Node: POSIX1207172
+Node: BTL1208553
+Node: POSIX/GNU1209282
+Node: Feature History1215060
+Node: Common Extensions1232235
+Node: Ranges and Locales1233518
+Ref: Ranges and Locales-Footnote-11238134
+Ref: Ranges and Locales-Footnote-21238161
+Ref: Ranges and Locales-Footnote-31238396
+Node: Contributors1238619
+Node: History summary1244616
+Node: Installation1245996
+Node: Gawk Distribution1246940
+Node: Getting1247424
+Node: Extracting1248387
+Node: Distribution contents1250025
+Node: Unix Installation1257086
+Node: Quick Installation1257890
+Node: Compiling with MPFR1260310
+Node: Shell Startup Files1261000
+Node: Additional Configuration Options1262089
+Node: Configuration Philosophy1264404
+Node: Compiling from Git1266800
+Node: Building the Documentation1267355
+Node: Non-Unix Installation1268739
+Node: PC Installation1269199
+Node: PC Binary Installation1270037
+Node: PC Compiling1270910
+Node: PC Using1272027
+Node: Cygwin1275580
+Node: MSYS1276804
+Node: VMS Installation1277406
+Node: VMS Compilation1278125
+Ref: VMS Compilation-Footnote-11279354
+Node: VMS Dynamic Extensions1279412
+Node: VMS Installation Details1281097
+Node: VMS Running1283359
+Node: VMS GNV1287638
+Node: Bugs1288352
+Node: Bug definition1289264
+Node: Bug address1292200
+Node: Usenet1295388
+Node: Performance bugs1296577
+Node: Asking for help1299498
+Node: Maintainers1301465
+Node: Other Versions1302659
+Node: Installation summary1310929
+Node: Notes1312293
+Node: Compatibility Mode1313087
+Node: Additions1313869
+Node: Accessing The Source1314794
+Node: Adding Code1316231
+Node: New Ports1323046
+Node: Derived Files1327421
+Ref: Derived Files-Footnote-11333081
+Ref: Derived Files-Footnote-21333116
+Ref: Derived Files-Footnote-31333714
+Node: Future Extensions1333828
+Node: Implementation Limitations1334486
+Node: Extension Design1335696
+Node: Old Extension Problems1336840
+Ref: Old Extension Problems-Footnote-11338358
+Node: Extension New Mechanism Goals1338415
+Ref: Extension New Mechanism Goals-Footnote-11341779
+Node: Extension Other Design Decisions1341968
+Node: Extension Future Growth1344081
+Node: Notes summary1344687
+Node: Basic Concepts1345845
+Node: Basic High Level1346526
+Ref: figure-general-flow1346808
+Ref: figure-process-flow1347494
+Ref: Basic High Level-Footnote-11350796
+Node: Basic Data Typing1350981
+Node: Glossary1354309
+Node: Copying1386196
+Node: GNU Free Documentation License1423739
+Node: Index1448859
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index cc4bab53..acbda21e 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -30978,7 +30978,7 @@ which resides in a file in
 the filesystem.  When persistent memory is not in use (the normal case),
 @command{gawk}'s data resides in ephemeral system memory.
-Persistent memory is enabled on systems supporting the @code{mmap()}
+Persistent memory is enabled on 64-bit systems supporting the @code{mmap()}
 and @code{munmap()} system calls.  @command{gawk} must be compiled as a
 non-PIE (Position Independent Executable) binary, since the persistent
 store ends up holding pointers to functions held within the @command{gawk}
diff --git a/doc/ b/doc/
index 1728eb44..9e39f158 100644
--- a/doc/
+++ b/doc/
@@ -29860,7 +29860,7 @@ which resides in a file in
 the filesystem.  When persistent memory is not in use (the normal case),
 @command{gawk}'s data resides in ephemeral system memory.
-Persistent memory is enabled on systems supporting the @code{mmap()}
+Persistent memory is enabled on 64-bit systems supporting the @code{mmap()}
 and @code{munmap()} system calls.  @command{gawk} must be compiled as a
 non-PIE (Position Independent Executable) binary, since the persistent
 store ends up holding pointers to functions held within the @command{gawk}
diff --git a/m4/ChangeLog b/m4/ChangeLog
index aaac3b88..138cbaff 100644
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,8 @@
+2022-06-29         Arnold D. Robbins     <>
+       * pma.m4: Check sizeof(void *) is 8. PMA only works on
+       64-bit systems.
 2022-06-15         Arnold D. Robbins     <>
        * pma.m4: Add case for Cygwin.
diff --git a/m4/pma.m4 b/m4/pma.m4
index f6f6e969..53dc3584 100644
--- a/m4/pma.m4
+++ b/m4/pma.m4
@@ -7,8 +7,9 @@ dnl Decide whether or not to use the persistent memory allocator
+AC_CHECK_SIZEOF([void *])
-if test "$SKIP_PERSIST_MALLOC" = no
+if test "$SKIP_PERSIST_MALLOC" = no && test $ac_cv_sizeof_void_p -eq 8


Summary of changes:      |   3 +
 configure       |  35 +++-
 doc/ChangeLog   |   5 +
 doc/   | 488 ++++++++++++++++++++++++++++----------------------------
 doc/gawk.texi   |   2 +-
 doc/ |   2 +-
 m4/ChangeLog    |   5 +
 m4/pma.m4       |   3 +-
 8 files changed, 295 insertions(+), 248 deletions(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]