From 2ae439f369f23c6ab3d2e671ce614fff32e32a38 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 24 Jun 2022 14:12:56 +0300 Subject: Squashed commit of the following: commit 61f2a5e0e48e050b8f73b127202af068b8cb574b Author: Arnold D. Robbins Date: Fri Jun 24 11:08:22 2022 +0300 Update awkcard.in. commit 2b84c068b0568b4efaf93f9f6ffeaf2105295de7 Author: Arnold D. Robbins Date: Wed Jun 22 22:02:59 2022 +0300 A few more small doc updates. commit ce3bb88b7e71e1185c243bcc22cdcc7dbb250988 Author: Arnold D. Robbins Date: Wed Jun 22 10:33:08 2022 +0300 Doc updates. commit 0c101d168279d1400d3954a84a231ee70862ab61 Merge: 78fd9d6f d43b469f Author: Arnold D. Robbins Date: Wed Jun 22 10:19:58 2022 +0300 Merge branch 'master' into feature/pma2 commit 78fd9d6f1f45688d32e77ed7eb8cb18f9a140ec8 Author: Arnold D. Robbins Date: Mon Jun 20 08:48:35 2022 +0300 Add --persist option. commit a6253b1b2f3eba98a42c8b39d4af8916187d7249 Merge: bedd2e70 03f79dcb Author: Arnold D. Robbins Date: Mon Jun 20 08:43:28 2022 +0300 Merge branch 'master' into feature/pma2 commit bedd2e706af48057805b5221886912545c16f193 Author: Arnold D. Robbins Date: Fri Jun 17 14:40:33 2022 +0300 Fix support/ChangeLog. commit 8da00d7e8666808ffa50ae654b5498c4ca4b7d8c Merge: 882a6b67 f2e71851 Author: Arnold D. Robbins Date: Fri Jun 17 14:39:48 2022 +0300 Merge branch 'master' into feature/pma2 commit 882a6b67547204800ca865b530e3f8ef51ebd20c Merge: 5c689dd7 ae879ed7 Author: Arnold D. Robbins Date: Fri Jun 17 14:16:36 2022 +0300 Merge branch 'master' into feature/pma2 commit 5c689dd7da7f60228a78de3710e7d4f27c3a8eb5 Author: Arnold D. Robbins Date: Fri Jun 17 14:10:34 2022 +0300 Doc fixes and small code fixes. commit e3e5bc101641ceda429d8d98b1558dcc8aad5b0b Author: Arnold D. Robbins Date: Fri Jun 17 12:33:08 2022 +0300 Updates to pma for portability. commit c187096f20b78631fc991898e4db62c5d6a6a441 Merge: de7bb7ee 6b97a4f7 Author: Arnold D. Robbins Date: Wed Jun 15 18:11:00 2022 +0300 Merge branch 'master' into feature/pma2 commit de7bb7ee3e6d69c6c7985f43a0f06527f438e43d Author: Arnold D. Robbins Date: Wed Jun 15 14:16:07 2022 +0300 Add cygwin case to m4/pma.m4. commit d78e8b44f8b470d894b46a0ff4cafc88ce8eed29 Author: Arnold D. Robbins Date: Tue Jun 14 22:43:52 2022 +0300 Doc updates. commit edc9ae773547c911d38b4a6fcb71946762df1e3d Author: Arnold D. Robbins Date: Tue Jun 14 22:40:58 2022 +0300 Add Mac OS support to configuration machinery. commit 37dbf039eee81652d647aa2783f4ea4cb0266f52 Author: Arnold D. Robbins Date: Tue Jun 14 22:01:23 2022 +0300 Add --disable-pma configure option and doc for it. commit b0774ab145fe4828e54da22e6deb850fcceafcf4 Author: Arnold D. Robbins Date: Tue Jun 14 15:13:38 2022 +0300 Use -no-pie only for gcc and clang. commit fdab60d8bd6d78159571d2c4e1c4d08e0684a0ab Author: Arnold D. Robbins Date: Mon Jun 13 22:59:00 2022 +0300 Finish doc on persistent memory. commit 17887261a7537f2e25f6cca63e1d67a93f3a3e36 Author: Arnold D. Robbins Date: Mon Jun 13 13:41:19 2022 +0300 Doc and code improvements. commit 24184e361b734aff4c7c9e96b0090cfaaf351e2d Author: Arnold D. Robbins Date: Fri Jun 10 14:58:26 2022 +0300 Fix for non-pma build. commit f10f4af373c7ace425f2af9a68f5d6f4daa52bb3 Author: Arnold D. Robbins Date: Fri Jun 10 14:54:54 2022 +0300 Get persistent stuff working! commit 920119080d877186165506ba819a548a5ea4ae85 Author: Arnold D. Robbins Date: Fri Jun 10 10:29:53 2022 +0300 Attempt pma symbol table integration. Works in pass through mode. commit 36ba3cb86acd0cf8b70d78391ef0b77279b57b7c Author: Arnold D. Robbins Date: Thu Jun 9 22:00:21 2022 +0300 Add pma support, based on env var. --- m4/ChangeLog | 22 ++++++++++++++++++++++ m4/pma.m4 | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 m4/pma.m4 (limited to 'm4') diff --git a/m4/ChangeLog b/m4/ChangeLog index fb2467fb..aaac3b88 100644 --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,25 @@ +2022-06-15 Arnold D. Robbins + + * pma.m4: Add case for Cygwin. + +2022-06-14 Arnold D. Robbins + + * pma.m4: Put -no-pie inside additional check for gcc and clang. + Tinycc and PCC are no-PIE anyway. Add support for --disable-pma. + Add the right magic for Mac OS. + +2022-06-13 Arnold D. Robbins + + * pma.m4: Put -no-pie inside check for Linux. + +2022-06-10 Arnold D. Robbins + + * pma.m4: Add -no-pie to LDFLAGS for persistent malloc. + +2022-06-09 Arnold D. Robbins + + * pma.m4: New file. + 2021-10-27 Arnold D. Robbins * 5.1.1: Release tar ball made. diff --git a/m4/pma.m4 b/m4/pma.m4 new file mode 100644 index 00000000..f6f6e969 --- /dev/null +++ b/m4/pma.m4 @@ -0,0 +1,51 @@ +dnl Decide whether or not to use the persistent memory allocator + +# Copyright (C) 2022 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +AC_DEFUN([GAWK_USE_PERSISTENT_MALLOC], +[ +use_persistent_malloc=no +if test "$SKIP_PERSIST_MALLOC" = no +then + AC_CHECK_FUNC([mmap]) + AC_CHECK_FUNC([munmap]) + if test $ac_cv_func_mmap = yes && test $ac_cv_func_munmap = yes + then + AC_DEFINE(USE_PERSISTENT_MALLOC, 1, [Define to 1 if we can use the pma allocator]) + use_persistent_malloc=yes + case $host_os in + linux-*) + case $CC in + gcc | clang) + LDFLAGS="${LDFLAGS} -no-pie" + export LDFLAGS + ;; + *) + # tinycc and pcc don't support -no-pie flag + # their executables are non-PIE automatically + # so no need to do anything + ;; + esac + ;; + *darwin*) + LDFLAGS="${LDFLAGS} -Xlinker -no_pie" + export LDFLAGS + ;; + *cygwin* | *CYGWIN*) + true # nothing do, Cygwin exes are not PIE + ;; + # Other OS's go here... + *) + # For now, play it safe + use_persistent_malloc=no + ;; + esac + else + use_persistent_malloc=no + fi +fi +AM_CONDITIONAL([USE_PERSISTENT_MALLOC], [test "$use_persistent_malloc" = "yes"]) +]) -- cgit v1.2.1