This is a live mirror of the Perl 5 development currently hosted at
9 days agoEnsure LC_ALL test code doesn't have escapes escaped master
H.Merijn Brand [Sat, 16 Sep 2023 07:13:32 +0000 (09:13 +0200)]
Ensure LC_ALL test code doesn't have escapes escaped

Some \" was being converted to " with ksh on AIX, causing the
program to fail to build and failing the entire build.

Example report:

"config.h", line 3640.3: 1506-218 (E) Unknown preprocessing directive #PERL_LC_ALL_USES_NAME_VALUE_PAIRS.
"config.h", line 3641.4: 1506-218 (E) Unknown preprocessing directive #PERL_LC_ALL_SEPARATOR.
"config.h", line 3642.4: 1506-218 (E) Unknown preprocessing directive #PERL_LC_ALL_CATEGORY_POSITIONS_INIT.
"locale.c", line 6865.43: 1506-168 (S) Initializer must be enclosed in braces.
"locale.c", line 6866.31: 1506-043 (S) The operand of the sizeof operator is not valid.
"locale.c", line 6866.9: 1506-044 (S) Expression must be a non-negative integer constant.
"locale.c", line 6870.18: 1506-043 (S) The operand of the sizeof operator is not valid.

Backport of 0944cd7375842c8de7127f6ad0e4cbbb88a2b015 by Tony Cook++

6 weeks agoMerge pull request #87 from khwilliamson/positional_lc_all
H.Merijn Brand [Mon, 14 Aug 2023 08:30:36 +0000 (10:30 +0200)]
Merge pull request #87 from khwilliamson/positional_lc_all

Add probe to find syntax of disparate LC_ALL

6 weeks agoAdd probe to find syntax of disparate LC_ALL 87/head
Karl Williamson [Sat, 24 Jun 2023 22:53:55 +0000 (16:53 -0600)]
Add probe to find syntax of disparate LC_ALL

Not all locale categories need be set to the same locale.  The syntax of
LC_ALL under this condition varies by platform.  This commit adds a
probe to determine what this platform uses, and removes unused code from
another unit that was to be the beginning of probing for the same
information.  I realized that a separate probe was needed.

7 weeks agoMerge pull request #88 from khwilliamson/duplicate_meta_stmt
H.Merijn Brand [Tue, 1 Aug 2023 15:34:45 +0000 (17:34 +0200)]
Merge pull request #88 from khwilliamson/duplicate_meta_stmt

compiler_warning.U: Remove duplicate comment

7 weeks agocompiler_warning.U: Remove duplicate comment 88/head
Karl Williamson [Sun, 21 Jun 2020 18:36:28 +0000 (12:36 -0600)]
compiler_warning.U: Remove duplicate comment

8 weeks agoMerge pull request #85 from khwilliamson/uconfig
H.Merijn Brand [Mon, 31 Jul 2023 06:53:49 +0000 (08:53 +0200)]
Merge pull request #85 from khwilliamson/uconfig

mkglossary: Remove mention of

8 weeks agoMerge pull request #84 from khwilliamson/langinfo
H.Merijn Brand [Mon, 31 Jul 2023 06:50:04 +0000 (08:50 +0200)]
Merge pull request #84 from khwilliamson/langinfo

Remove test for thread safe nl_langinfo_l

8 weeks agoMerge pull request #83 from khwilliamson/README
H.Merijn Brand [Mon, 31 Jul 2023 06:48:07 +0000 (08:48 +0200)]
Merge pull request #83 from khwilliamson/README

Clarify README about VMS

8 weeks agomkglossary, README: Remove mention of uconfig 85/head
Karl Williamson [Thu, 27 Jul 2023 19:54:38 +0000 (13:54 -0600)]
mkglossary, README: Remove mention of uconfig

This is no longer used by perl.

8 weeks agoRemove test for thread-safe nl_langinfo_l() 84/head
Karl Williamson [Sun, 8 Jan 2023 12:32:02 +0000 (05:32 -0700)]
Remove test for thread-safe nl_langinfo_l()

Testing has shown that it was naive of me to think that this function
could be easily tested for thread-safety.  What actually was instead
tested for was if the returned buffer is per-thread or global.  There
may very well be not-as-obvious interactions with other threads.  And on
some platforms that turned out to be the case.  Better to use plain
nl_langinfo, which has the mutexes to prevent collisions.

This commit combines the tests for these into the Unit for plain

8 weeks agod_nl_langinfo.U: Fix typo in comment
Karl Williamson [Sun, 8 Jan 2023 11:50:07 +0000 (04:50 -0700)]
d_nl_langinfo.U: Fix typo in comment

8 weeks agoClarify README about VMS 83/head
Karl Williamson [Mon, 3 Jul 2023 19:15:21 +0000 (13:15 -0600)]
Clarify README about VMS

2 months ago' as package sep deprecated in perl-5.38 67/head
H.Merijn Brand [Mon, 10 Jul 2023 09:38:21 +0000 (11:38 +0200)]
' as package sep deprecated in perl-5.38

2 months agoConfigure: prefer %ll over %L for formatting long long ints
H.Merijn Brand [Mon, 10 Jul 2023 09:37:57 +0000 (11:37 +0200)]
Configure: prefer %ll over %L for formatting long long ints

Configure used to try %L, %q, and then %ll in this order to find the
modifier for formatting 64-bit integers on 32-bit machines, but %L for
integer conversions seems to be a non-standard GNU extension.
Now it will try %ll before %q, %L to prioritize %ll which is
standardized by C99.

Backport of 2ed1779635eb3aa4753692fe81fa0e36ca394980 by TAKAI Kousuke

2 months agoAdd distribution-friendly make message (PR#21207)
H.Merijn Brand [Mon, 10 Jul 2023 08:11:10 +0000 (10:11 +0200)]
Add distribution-friendly make message (PR#21207)

by Elvin Aslanov (rwp0)

Straight to the point as "Public domain implementation" wasn't very helpful.

Came across this message building Perl on a freshly installed Ubuntu Linux doing:

git clone
sh Configure -des -Dusedevel

4 months ago">& 4" to ">&4" 5.38.0
H.Merijn Brand [Mon, 22 May 2023 06:01:23 +0000 (08:01 +0200)]
">& 4" to ">&4"

Backport from PR#21110 by @versaloon

4 months agoMerge pull request #82 from mauke/remove-duplicate-the
H.Merijn Brand [Sun, 30 Apr 2023 14:38:50 +0000 (16:38 +0200)]
Merge pull request #82 from mauke/remove-duplicate-the

fix typo in comment: "the the" -> "the"

4 months agofix typo in comment: "the the" -> "the" 82/head
Lukas Mai [Sun, 30 Apr 2023 11:27:45 +0000 (13:27 +0200)]
fix typo in comment: "the the" -> "the"

4 months agoRemove duplicate the the
H.Merijn Brand [Sun, 30 Apr 2023 07:42:57 +0000 (09:42 +0200)]
Remove duplicate the the

Detected by Elvin Aslanov

4 months agoMissed setenv probev
H.Merijn Brand [Sat, 29 Apr 2023 10:54:40 +0000 (12:54 +0200)]
Missed setenv probev

4 months agosyscall probe
H.Merijn Brand [Sat, 29 Apr 2023 10:54:19 +0000 (12:54 +0200)]
syscall probe

4 months agoSync with Yves' state of tab vs spaces
H.Merijn Brand [Sat, 29 Apr 2023 10:53:51 +0000 (12:53 +0200)]
Sync with Yves' state of tab vs spaces

4 months agoDo not probe for the malloc/free return type
H.Merijn Brand [Thu, 27 Apr 2023 08:47:53 +0000 (10:47 +0200)]
Do not probe for the malloc/free return type

Backport of commit d8a109ccd80350f5b83d0928d87032df3ec1b8dd

We require a C99 compiler, or in the case that led to this commit, a
C++ compiler, and for those the malloc() and free() return types are
well defined.

This probe broke on Solaris when building with g++.

Unlike glibc, the libc headers on Solaris, when building using a C++
compiler, define the stdlib.h functions within the std:: namespace,
then imports those names into the top level namespace with 'using

This conflicts with the declarations used in the probe, causing the
probe to fail to build, despite malloc() actually returning a void *.

Since these two functions have well defined return types according to
the standard, assume their return values match.

Configure can still be invoked with different definitions for
malloctype and freetype, or hints can override them, so someone on a
non-standard system can at least get past this if they really need to
(such a system will likely not build perl anyway.)

7 months agoFigure out I32df, U32uf, etc. in Configure rather than in perl.h
H.Merijn Brand [Tue, 7 Feb 2023 19:45:07 +0000 (20:45 +0100)]
Figure out I32df, U32uf, etc. in Configure rather than in perl.h

These macros were defined in perl.h using preprocessor conditionals,
but determining wheter I32 is "int" or "long" is pretty hard with
preprocessor, when INTSIZE == LONGSIZE.  The Configure script
should know exact underlying type of I32, so it should be able to
determine whether %d or %ld shall be used to format I32 value
more robustly.

Various pre-configured files, such as uconfig.h, are updated to
align with this.

Backport of a503b7406f4be5b6577fc63261184ffbe58009a1

7 months agoAdd various C99 compatibility improvements
H.Merijn Brand [Tue, 7 Feb 2023 09:21:59 +0000 (10:21 +0100)]
Add various C99 compatibility improvements

Two C99 compatibility issues are fixed by these changes: Return
types are made explicit where they previously defaulted to int,
and all called functions are now declared explicitly (either by
including additional headers, or by adding prototypes manually).

This avoids implict ints and implicit function declarations,
both legacy C language features removed in the 1999 revision
of the language.

Verified with an instrumented GCC compiler on GNU/Linux.

Backport of fc35cee89c1a42558f50a37a6b4d5186b77f058b

7 months agoRemove nsl from libswanted
H.Merijn Brand [Mon, 6 Feb 2023 17:56:55 +0000 (18:56 +0100)]
Remove nsl from libswanted

Backport of 7e19816aa8661ce0e984742e2df11dd20dcdff18

7 months agoAdd parameter types to declarations for clang-16
H.Merijn Brand [Mon, 6 Feb 2023 17:54:27 +0000 (18:54 +0100)]
Add parameter types to declarations for clang-16

ANSI C style function declarations without parameter types are errors with clang-16.

Backport of e1ca9a418fa6b7d26fbb1931c9164141035262c3

7 months agoFix handling of quoted gcc output
H.Merijn Brand [Mon, 6 Feb 2023 17:50:03 +0000 (18:50 +0100)]
Fix handling of quoted gcc output

This patch was submitted in GH issue #20606. When gcc output contains
quoted elements we fail to handle it properly. This tweaks the sed
command to do so.

Fixes #20606.

Backport of 85d2c8e80f418c456c28213a08f692e33833b8c4

8 months agoMetaconfig nits. Make it a valid unit without warnings
H.Merijn Brand [Fri, 20 Jan 2023 12:24:46 +0000 (13:24 +0100)]
Metaconfig nits. Make it a valid unit without warnings

8 months agoMerge pull request #65 from tonycoz/compiler-find-quadmath
Karl Williamson [Thu, 19 Jan 2023 22:26:18 +0000 (15:26 -0700)]
Merge pull request #65 from tonycoz/compiler-find-quadmath


8 months agoMerge pull request #78 from xenu/xenu/setenv
Karl Williamson [Sat, 7 Jan 2023 23:21:08 +0000 (16:21 -0700)]
Merge pull request #78 from xenu/xenu/setenv

10 months agoFix typo
H.Merijn Brand [Fri, 28 Oct 2022 14:26:33 +0000 (16:26 +0200)]
Fix typo

13 months agoRevert "Added unit to ask whether they want to build perl with taint support"
H.Merijn Brand [Thu, 25 Aug 2022 14:55:38 +0000 (16:55 +0200)]
Revert "Added unit to ask whether they want to build perl with taint support"

This reverts commit fc6cc8689bae156e96def93cdd177618b22fbc73.

13 months agoUpdate libsearch paths for cygwin
H.Merijn Brand [Thu, 25 Aug 2022 14:54:13 +0000 (16:54 +0200)]
Update libsearch paths for cygwin

Backport of f15e478c60445e7053811660fb7e10b6c857569e

13 months agohide private functions with __attribute__((visibility("hidden")))
H.Merijn Brand [Thu, 25 Aug 2022 14:49:59 +0000 (16:49 +0200)]
hide private functions with __attribute__((visibility("hidden")))

Backport of 0351a629e71de127cbfd1b142e9eaa6069deabf5

This allows us to enforce API boundaries and potentially enables
compiler optimisations.

We've been always hiding non-public symbols on Windows. This commit
brings that to the other platforms.

13 months agoForgot counter initialization in backport
H.Merijn Brand [Thu, 25 Aug 2022 14:05:58 +0000 (16:05 +0200)]
Forgot counter initialization in backport


13 months agoConfigure: Add missing `#include <inttypes.h>` to test programs
H.Merijn Brand [Thu, 25 Aug 2022 13:55:40 +0000 (15:55 +0200)]
Configure: Add missing `#include <inttypes.h>` to test programs

Backport of e005a3c01bac8d86418336885e3501ef90aeac10

With -Duse64bitint on 32-bit machines, UV might be configured
to `uint64_t`.  But some Configure tests used $uvtype without including
<inttypes.h>, which may cause compilation error of those tests on
sucn configurations, and eventually make perl not built correctly.

13 months agoConfigure: Fix typos for C99 macro name PRIX64
H.Merijn Brand [Thu, 25 Aug 2022 13:48:47 +0000 (15:48 +0200)]
Configure: Fix typos for C99 macro name PRIX64

Backport of fc3ce1a8e466bab895f3b03009890b56e655d90d

There are no macros named PRIXU64.  This line seems to date back to
commit 6b356c8efb963846940ef92952cf77e5b86bd65e which renamed shell
variable names to work well with case-insensitive systems,
but could have overdone a bit.

13 months agoproperly populate osvers on Dragonfly BSD when the hostname isn't set
H.Merijn Brand [Thu, 25 Aug 2022 13:35:28 +0000 (15:35 +0200)]
properly populate osvers on Dragonfly BSD when the hostname isn't set

Backport of be2d063f33e907f7892a8ff7e6f73cf7aa86397a
With additional changes to leading whitespace to make the file consistent again

A default installation of DragonflyBSD doesn't necessarily set the
hostname, resulting in a `uname -a` like:

  DragonFly  6.2-RELEASE DragonFly v6.2.2-RELEASE ...

which resulted in osvers being set to "dragonfly", which isn't
especially useful.

So check that $3 is numeric in some sense before using it, falling
back to $2 if it isn't.  This should only happen when the hostname
isn't set.

13 months agoConfigure should avoid looping infinitely repeating the same question
H.Merijn Brand [Thu, 25 Aug 2022 12:30:44 +0000 (14:30 +0200)]
Configure should avoid looping infinitely repeating the same question

Backport of 46bfb3c49f22629a21d99ff2d02461a2a8a9aac4
Author: Nicholas Clark <>
Date:   Tue Aug 2 16:40:39 2022 +0200

Configure's helper function ./myread is intended to loop until it gets an
acceptable answer. For a couple of cases, an empty string is not acceptable
(eg 'Where is your C library?', if all automated attempts at answering this
have failed). In these cases, if Configure's standard input is /dev/null (or
closed), the shell read returns an empty string, and ./myread repeats the
Before this commit, it would loop infinitely (generating continuous terminal
output). With this commit, we add a retry counter - if it asks the same
question to many times, it aborts Configure. This means that unattended
./Configure runs should now always terminate, as termination with an error
is better than spinning forever.

18 months agoMerge pull request #79 from neilb/taintsupport
H.Merijn Brand [Mon, 21 Mar 2022 19:42:49 +0000 (20:42 +0100)]
Merge pull request #79 from neilb/taintsupport

Add unit to ask whether user wants to build perl with taint support

18 months agoadd a probe for setenv() 78/head
Tomasz Konojacki [Thu, 17 Feb 2022 05:25:58 +0000 (06:25 +0100)]
add a probe for setenv()

This is needed for perl/perl5#19514

18 months agoMerge pull request #77 from khwilliamson/master 5.36.0
H.Merijn Brand [Mon, 7 Mar 2022 14:20:14 +0000 (15:20 +0100)]
Merge pull request #77 from khwilliamson/master

Fix possible syntax error for Inf/NaN

18 months agoMerge branch 'Perl:master' into master 77/head
Karl Williamson [Sun, 6 Mar 2022 02:14:29 +0000 (19:14 -0700)]
Merge branch 'Perl:master' into master

18 months agoFix possible syntax error for Inf/NaN
Karl Williamson [Sun, 6 Mar 2022 02:11:30 +0000 (19:11 -0700)]
Fix possible syntax error for Inf/NaN

This copies the fix in to

18 months agoAdeed unit to ask whether they want to build perl with taint support 79/head
Neil Bowers [Sun, 27 Feb 2022 19:59:37 +0000 (19:59 +0000)]
Adeed unit to ask whether they want to build perl with taint support

19 months agoAdd not for ?MAKE: -pick
H.Merijn Brand [Mon, 21 Feb 2022 16:38:29 +0000 (17:38 +0100)]
Add not for ?MAKE: -pick

These are the counts for the lines currently fond in the units donw this
repository folder

1548 -pick add $@ %<
   2 -pick add.Null $@ %<
   2 -pick cm_h_weed $@ %<
   2 -pick cm_h_weed $@ ./Magic_h
   2 -pick prepend $@ ./Obsol_h
   2 -pick prepend $@ ./Obsol_sh
  32 -pick wipe $@ %<
   3 -pick add $@ ./Obsol_sh
   3 -pick add.Config_sh $@ %<
   3 -pick c_h_weed $@ %<
   3 -pick c_h_weed $@ ./Config_h
   3 -pick c_h_weed $@ ./Obsol_h
   3 -pick close.Config_sh $@ %<
   3 -pick weed $@ ./Init
   6 -pick weed $@ %<

22 months agoTeach Configure and cflags.SH about C99
H.Merijn Brand [Fri, 29 Oct 2021 15:35:45 +0000 (17:35 +0200)]
Teach Configure and cflags.SH about C99
Test declarations after statement in Configure's C99 probe code

Probe to see whether we need -std=gnu99 or -std=c99 to get C99 code to
compile. In cflags.SH, remove code that added gcc warning flags that were
compatible with C89 but are not compatible with C99.

Also ensure that the relevant failure error message is output even with
Configure's -s flag, as we shouldn't stay silent for a message that causes
Configure default to aborting.

With these changes, Configure will fail the C99 probe test if passed
-Accflags="-Werror=declaration-after-statement" or

Backport of 0c7be120244c1a6aae9b1ae30124265bcb8184da
        and d34aca5e9e57e3f0b5d25d451759237b40647664

22 months agoA Configure test for C11 thread local storage specificer, _Thread_local
H.Merijn Brand [Fri, 29 Oct 2021 15:25:19 +0000 (17:25 +0200)]
A Configure test for C11 thread local storage specificer, _Thread_local

We also provbe for gcc's earlier syntax, __thread.

Backport of 65f7068160bfc9a3f4b195a579c881188cc4fff3

22 months agodetect struct stat.st_dev's size and signedness, and return it safely
H.Merijn Brand [Fri, 29 Oct 2021 15:07:24 +0000 (17:07 +0200)]
detect struct stat.st_dev's size and signedness, and return it safely

On FreeBSD dev_t (and hence the st_dev member of struct stat) is an
unsigned 64-bit integer, and the previous simple PUSHi() corrupted

A previous version of this reflected the st_ino code and implemented
our own number to string conversion, but a system with such a large
st_dev should be assumed to have inttypes.h, and an intmax_t which is
no smaller than st_dev.

The st_ino code could probably be changed similarly, but 64-bit inode
numbers are not a new thing, so it may be riskier.

Backport of 9b5699737a6b587546239d586832f420cf7f2dea

22 months agoSend bugs to GitHub
H.Merijn Brand [Fri, 29 Oct 2021 14:36:07 +0000 (16:36 +0200)]
Send bugs to GitHub

Do not advise sending mail to '', as that now simply
triggers a response redirecting sender to GitHub.

Backport of 786c02c9305b1cb8b2a0ee2cb2921888bb720499

2 years agoonly #include <xlocale.h> when it is actually needed
H.Merijn Brand [Wed, 11 Aug 2021 11:22:25 +0000 (13:22 +0200)]
only #include <xlocale.h> when it is actually needed

Backport of 68f1b6d700b9662cfdec43ceddbd086d4b59c87e

This header was originally only needed for builds on darwin and
FreeBSD, but was being included whenever it was detected.

This has caused problems when what was an internal header was
removed (from glibc) and in general wasn't needed anyway.

On FreeBSD only localeconv_l() requires xlocale.h, so we test
specifically for that.

2 years agoMerge pull request #76 from jkeenan/readme-typo-20210610
James E Keenan [Tue, 22 Jun 2021 13:50:31 +0000 (09:50 -0400)]
Merge pull request #76 from jkeenan/readme-typo-20210610

Correct probable typo.

2 years agoDisambiguate what user sees in interactive Configure
H.Merijn Brand [Wed, 16 Jun 2021 06:28:48 +0000 (08:28 +0200)]
Disambiguate what user sees in interactive Configure

User should expect to see configuration questions spelled 'UTF-8', not
'UTF8' (even if we store information internally or in without
the hyphen).

Correct user prompts accordingly.

For: #18844 by @jkeenan

2 years agoCorrect probable typo. 76/head
James E Keenan [Thu, 10 Jun 2021 21:32:45 +0000 (21:32 +0000)]
Correct probable typo.

2 years agoprevent undefined behaviour at a language level while probing getenv
H.Merijn Brand [Wed, 9 Jun 2021 08:22:49 +0000 (10:22 +0200)]
prevent undefined behaviour at a language level while probing getenv

Backport of a5823872283be23731f1bcde7e19a926c44b31a4

This test in Configure tries to probe for undefined behaviour in
getenv (), but provokes undefined behaviour in C/C++ by falling off
the end of a function with a non-void return type.

Without optimization clang++ generated a ud2 instruction here on
amd64 producing an illegal instruction exception.  With optimization
the test case fell off the end and started re-executing main (),
eventually producing a SIGBUS.

Simply dropping the value of getenv () here and returning NULL wasn't
useful, under -O2 the compiler optimized away the getenv () call,
voiding the whole point of the test.

2 years agoMerge pull request #75 from khwilliamson/master
H.Merijn Brand [Sat, 5 Jun 2021 09:27:49 +0000 (11:27 +0200)]
Merge pull request #75 from khwilliamson/master

Add new probes:  XXX I don't know what to change in the RCS lines

2 years agoAdd probes for ffs, ffsl 75/head
Karl Williamson [Fri, 4 Jun 2021 17:16:07 +0000 (11:16 -0600)]
Add probes for ffs, ffsl

2 years agoXXX RCS changes? Add probe for strxfrm_l
Karl Williamson [Fri, 4 Jun 2021 16:53:22 +0000 (10:53 -0600)]
XXX RCS changes? Add probe for strxfrm_l

2 years agod_endpwent.U: Fix typo in comment
Karl Williamson [Thu, 3 Jun 2021 11:03:34 +0000 (05:03 -0600)]
d_endpwent.U: Fix typo in comment

2 years agoAdd check for nl_langinfo_l()
Karl Williamson [Sun, 9 May 2021 14:48:26 +0000 (08:48 -0600)]
Add check for nl_langinfo_l()

There is already a check for this, but it fails unless the function is
thread safe.  This adds a symbol for when it exists but isn't thread

2 years agoMake libpth dist compliant
H.Merijn Brand [Mon, 31 May 2021 13:18:09 +0000 (15:18 +0200)]
Make libpth dist compliant

2 years agoMerge pull request #70 from khwilliamson/master
H.Merijn Brand [Mon, 31 May 2021 13:13:30 +0000 (15:13 +0200)]
Merge pull request #70 from khwilliamson/master

Some fixups, and printing to >&4 that needs review

2 years agoMerge pull request #73 from Perl/ntyni/incpath-backport 5.34.0
H.Merijn Brand [Fri, 28 May 2021 12:14:59 +0000 (14:14 +0200)]
Merge pull request #73 from Perl/ntyni/incpath-backport

Backport: Prevent incpath to spill into libpth

2 years agoPrevent incpath to spill into libpth ntyni/incpath-backport 73/head
H.Merijn Brand [Fri, 12 Feb 2021 15:42:42 +0000 (16:42 +0100)]
Prevent incpath to spill into libpth

• Use realpath if available
• This might catch more duplicate paths
• Only include real existing paths
• Filter inc paths out of libpth

incpth: /usr/lib64/gcc/x86_64-suse-linux/7/include /usr/local/include /usr/lib64/gcc/x86_64-suse-linux/7/include-fixed /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/include /usr/include
libpth: /usr/local/lib /usr/lib64/gcc/x86_64-suse-linux/7/include-fixed /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/lib /usr/lib /pro/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /lib64 /usr/lib64 /usr/local/lib64

incpth: /usr/lib64/gcc/x86_64-suse-linux/7/include /usr/local/include /usr/lib64/gcc/x86_64-suse-linux/7/include-fixed /usr/x86_64-suse-linux/include /usr/include
libpth: /usr/local/lib /usr/x86_64-suse-linux/lib /usr/lib /pro/local/lib /lib64 /usr/lib64 /lib /usr/local/lib64

(Backported from perl.git d3144c9253d3244cd259a0ae4c0fe81519bf5b53 to
 metaconfig.git by Niko Tyni)

2 years agobetter de-dup metagrep
H.Merijn Brand [Tue, 9 Mar 2021 13:10:31 +0000 (14:10 +0100)]
better de-dup metagrep

and skip old working tree

2 years agoReword usage messages (thank you Jim)
H.Merijn Brand [Thu, 18 Feb 2021 15:23:26 +0000 (16:23 +0100)]
Reword usage messages (thank you Jim)

Backport of 0484bfe840704c501e4b0d8949d48017b336d71e

2 years agoFixes backported from Porting/Glossary commits
H.Merijn Brand [Sun, 14 Feb 2021 10:23:53 +0000 (11:23 +0100)]
Fixes backported from Porting/Glossary commits

2 years agoTest that gcvt/qgcvt are not buggy (Issue 18170)
H.Merijn Brand [Sun, 14 Feb 2021 10:17:53 +0000 (11:17 +0100)]
Test that gcvt/qgcvt are not buggy (Issue 18170)

Backport of cfc95b5630c63927ab68bb4cdc08b1dec23c5569 and previous commits

2 years agoConsistent indent/whitespace
H.Merijn Brand [Sun, 14 Feb 2021 10:17:00 +0000 (11:17 +0100)]
Consistent indent/whitespace

2 years agoWhitespace change from 6b6e83fce2074294ac11d547c8a75bc106bebab9
H.Merijn Brand [Sun, 14 Feb 2021 10:08:51 +0000 (11:08 +0100)]
Whitespace change from 6b6e83fce2074294ac11d547c8a75bc106bebab9

2 years agoAdd Configure probe for getenv() buffer race
H.Merijn Brand [Sun, 14 Feb 2021 10:03:01 +0000 (11:03 +0100)]
Add Configure probe for getenv() buffer race

Backport of 9d228af78ad17dabb51f9059d215cc88c059a22a

Most implementations do not have a problem with two getenv()'s running
simultaneously in different threads.  But Posix doesn't require such
good behavior.  This adds a simple probe to test the current system.

2 years agoPrevent non-ASCII in comment
H.Merijn Brand [Fri, 12 Feb 2021 16:05:42 +0000 (17:05 +0100)]
Prevent non-ASCII in comment

This will cause havoc on EBCDIC systems

2 years agoFix build on Haiku beta
H.Merijn Brand [Sat, 24 Oct 2020 10:30:50 +0000 (12:30 +0200)]
Fix build on Haiku beta

Backport of 6b6e83fce2074294ac11d547c8a75bc106bebab9
set correct Haiku usrinc and locinc , add -fno-stack-protector to hints
for and (and disable accordingly -fstack-protector*
in Configure)

2 years agotest that gcvt/qgcvt are not buggy (Issue 18170)
H.Merijn Brand [Sat, 24 Oct 2020 10:23:52 +0000 (12:23 +0200)]
test that gcvt/qgcvt are not buggy (Issue 18170)

Backport of e8b4b5cb56db51c60d23a47fbb2f897e1206c9af
Author: sisyphus <>
Date:   Wed Oct 21 10:52:11 2020 +1100

But style adjusted to surrounding code

2 years agoPrevent errors when run outside metaconfig folder
H.Merijn Brand [Sat, 24 Oct 2020 10:21:01 +0000 (12:21 +0200)]
Prevent errors when run outside metaconfig folder

3 years agoAdd the Configure option to enable strict by default in perl programs.
H.Merijn Brand [Tue, 22 Sep 2020 12:26:22 +0000 (14:26 +0200)]
Add the Configure option to enable strict by default in perl programs.

Do not set strict by default on -e or -E

This is a development only feature to allow us to clean up blead.

./Configure -Dusedevel -des -Dusedefaultstrict

3 years agoTrap SIGBUS when Configure checks for va_copy (#18148)
H.Merijn Brand [Tue, 22 Sep 2020 11:14:51 +0000 (13:14 +0200)]
Trap SIGBUS when Configure checks for va_copy (#18148)

On several systems the attempt to determine if we &quot;need va_copy() or
similar&quot; results in a SIGBUS instead of a SIGSEGV because the fault
happens pointing at an io device address.

While reviewing accounting logs during the OpenBSD system build, bluhm@
noticed a core dump and deraadt@ tracked it down.

While researching it was discovered that this is a fairly common case in
other systems as well.

Original diff by deraadt@

3 years agoForce comments for L_R_TZSET to end in config_h.SH
H.Merijn Brand [Mon, 7 Sep 2020 12:23:24 +0000 (14:23 +0200)]
Force comments for L_R_TZSET to end in config_h.SH

3 years agoMerge pull request #71 from richardleach/patch-1
H.Merijn Brand [Wed, 2 Sep 2020 12:48:40 +0000 (14:48 +0200)]
Merge pull request #71 from richardleach/patch-1

d_localtime_r.U - explicitly free() allocations

3 years agod_localtime_r.U - explicitly free() allocations 71/head
Richard Leach [Wed, 2 Sep 2020 12:24:03 +0000 (13:24 +0100)]
d_localtime_r.U - explicitly free() allocations

To keep LeakSanitizer happy. See for background.

3 years agod_faststdio.U: Use >&4, not >& 4 70/head
Karl Williamson [Sat, 22 Aug 2020 20:41:50 +0000 (14:41 -0600)]
d_faststdio.U: Use >&4, not >& 4

3 years agoperl/perlxv.U: Change some echo 2>&1
Karl Williamson [Mon, 13 Jul 2020 15:08:21 +0000 (09:08 -0600)]
perl/perlxv.U: Change some echo 2>&1

I don't know why this is redirecting stderr to stdout; why it thinks the
echo could generate output to stderr, but the file descriptor most
things should go to is >&4.

3 years agoU/perl/Checkcc.U: Use >&4 instead of >&2 for output
Karl Williamson [Mon, 13 Jul 2020 15:06:08 +0000 (09:06 -0600)]
U/perl/Checkcc.U: Use >&4 instead of >&2 for output

3 years agocompline/ccflags.U: Change some echo 2>&1
Karl Williamson [Mon, 13 Jul 2020 15:02:45 +0000 (09:02 -0600)]
compline/ccflags.U: Change some echo 2>&1

I don't know why this is redirecting stderr to stdout; why it thinks the
echo could generate output to stderr, but the file descriptor most
things should go to is >&4.

3 years agoREADME: Small fix ups
Karl Williamson [Mon, 13 Jul 2020 16:47:20 +0000 (10:47 -0600)]
README: Small fix ups

3 years agoMerge pull request #69 from khwilliamson/master
H.Merijn Brand [Sat, 22 Aug 2020 07:53:55 +0000 (09:53 +0200)]
Merge pull request #69 from khwilliamson/master

Fixes for EBCDIC, AIX, cleanup, some thread cleanup, docs

3 years agousethreads.U: Rmv unused variable 69/head
Karl Williamson [Fri, 21 Aug 2020 20:31:45 +0000 (14:31 -0600)]
usethreads.U: Rmv unused variable

3 years agoExtensions.U: remove unused variable
Karl Williamson [Fri, 21 Aug 2020 20:31:18 +0000 (14:31 -0600)]
Extensions.U: remove unused variable

3 years agoREADME: Add instrs for modified units
Karl Williamson [Fri, 21 Aug 2020 20:30:34 +0000 (14:30 -0600)]
README: Add instrs for modified units

3 years agoREADME: Fix typo
Karl Williamson [Fri, 21 Aug 2020 20:29:55 +0000 (14:29 -0600)]
README: Fix typo

3 years agod_longdbl.U: Always echo to &4 file descriptor
Karl Williamson [Tue, 18 Aug 2020 21:33:05 +0000 (15:33 -0600)]
d_longdbl.U: Always echo to &4 file descriptor

Previously only some did; this also removes the space in '>& 4' used in
some places

3 years agod_longdbl.U: Mention two symbols in ?C:
Karl Williamson [Tue, 18 Aug 2020 21:31:30 +0000 (15:31 -0600)]
d_longdbl.U: Mention two symbols in ?C:

These two symbols are defined by this unit, but went unmentioned.

3 years agod_union_semun.U: Indent two ?C: lines
Karl Williamson [Tue, 18 Aug 2020 21:22:18 +0000 (15:22 -0600)]
d_union_semun.U: Indent two ?C: lines

These two lines are for describing a data structure.  I've written code
that converts config.h items into pod.  These are the only two lines that
are really problematic, and it is because they should render as-is, but
to indicate that, they shouldn't be at the left margin.

3 years agoAdd d_bitfield.U to see if non-int struct bitfields
Karl Williamson [Sun, 21 Jun 2020 18:48:51 +0000 (12:48 -0600)]
Add d_bitfield.U to see if non-int struct bitfields

The C standard says only int and unsigned int bitfields in structs need
to be supported.  Many compilers also support other-sized ones, such as
short, but not all.  This adds a probe to detect this.

3 years agoi_db.U: Use new compiler_warning.U
Karl Williamson [Sun, 21 Jun 2020 18:40:28 +0000 (12:40 -0600)]
i_db.U: Use new compiler_warning.U

3 years agovoidflags.U: Use new compiler_warning.U
Karl Williamson [Sun, 21 Jun 2020 18:39:34 +0000 (12:39 -0600)]
voidflags.U: Use new compiler_warning.U

3 years agod_attribut.U: Use new compiler_warning.U
Karl Williamson [Sun, 21 Jun 2020 18:38:50 +0000 (12:38 -0600)]
d_attribut.U: Use new compiler_warning.U

3 years agoAdd compiler_warning.U
Karl Williamson [Sun, 21 Jun 2020 18:36:28 +0000 (12:36 -0600)]
Add compiler_warning.U

This is to see if there were compiler warnings generated.  It turns out
that AIX has very weird syntax for warnings, that don't include that
word, so there is special code for that os.

Also, some compiler's warnings aren't all lowercase.

3 years agocontains.U: Need a path to the generated script
Karl Williamson [Sun, 21 Jun 2020 18:33:25 +0000 (12:33 -0600)]
contains.U: Need a path to the generated script

I tested what would happen with 'contains' if grep is actually broken on
the box, and it failed because it didn't know where the generated
work-around script is.

This commit fixes this, but the fact that no failures have been showing
up indicates that modern greps just aren't broken this way.