This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
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: https://perl5.test-smoke.org/report/5039146
Errors:
"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++
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
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.
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
Karl Williamson [Sun, 21 Jun 2020 18:36:28 +0000 (12:36 -0600)]
compiler_warning.U: Remove duplicate comment
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 uconfig.sh
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
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
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.
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
nl_langinfo.
Karl Williamson [Sun, 8 Jan 2023 11:50:07 +0000 (04:50 -0700)]
d_nl_langinfo.U: Fix typo in comment
Karl Williamson [Mon, 3 Jul 2023 19:15:21 +0000 (13:15 -0600)]
Clarify README about VMS
H.Merijn Brand [Mon, 10 Jul 2023 09:38:21 +0000 (11:38 +0200)]
' as package sep deprecated in perl-5.38
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
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 https://github.com/Perl/perl5
sh Configure -des -Dusedevel
H.Merijn Brand [Mon, 22 May 2023 06:01:23 +0000 (08:01 +0200)]
">& 4" to ">&4"
Backport from PR#21110 by @versaloon
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"
Lukas Mai [Sun, 30 Apr 2023 11:27:45 +0000 (13:27 +0200)]
fix typo in comment: "the the" -> "the"
H.Merijn Brand [Sun, 30 Apr 2023 07:42:57 +0000 (09:42 +0200)]
Remove duplicate the the
Detected by Elvin Aslanov
H.Merijn Brand [Sat, 29 Apr 2023 10:54:40 +0000 (12:54 +0200)]
Missed setenv probev
H.Merijn Brand [Sat, 29 Apr 2023 10:54:19 +0000 (12:54 +0200)]
syscall probe
H.Merijn Brand [Sat, 29 Apr 2023 10:53:51 +0000 (12:53 +0200)]
Sync with Yves' state of tab vs spaces
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
std::malloc'.
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.)
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
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
H.Merijn Brand [Mon, 6 Feb 2023 17:56:55 +0000 (18:56 +0100)]
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
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
H.Merijn Brand [Fri, 20 Jan 2023 12:24:46 +0000 (13:24 +0100)]
Metaconfig nits. Make it a valid unit without warnings
Karl Williamson [Thu, 19 Jan 2023 22:26:18 +0000 (15:26 -0700)]
Merge pull request #65 from tonycoz/compiler-find-quadmath
fix https://github.com/Perl/perl5/issues/17782
Karl Williamson [Sat, 7 Jan 2023 23:21:08 +0000 (16:21 -0700)]
Merge pull request #78 from xenu/xenu/setenv
H.Merijn Brand [Fri, 28 Oct 2022 14:26:33 +0000 (16:26 +0200)]
Fix typo
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.
H.Merijn Brand [Thu, 25 Aug 2022 14:54:13 +0000 (16:54 +0200)]
Update libsearch paths for cygwin
Backport of
f15e478c60445e7053811660fb7e10b6c857569e
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.
H.Merijn Brand [Thu, 25 Aug 2022 14:05:58 +0000 (16:05 +0200)]
Forgot counter initialization in backport
Tux--
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.
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.
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.
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 <nick@ccl4.org>
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
question.
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.
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
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
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
Karl Williamson [Sun, 6 Mar 2022 02:14:29 +0000 (19:14 -0700)]
Merge branch 'Perl:master' into master
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 https://github.com/Perl/perl5/pull/19216 to
metaconfig
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
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 $@ %<
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
-Accflags="-Werror=long-long"
Backport of
0c7be120244c1a6aae9b1ae30124265bcb8184da
and
d34aca5e9e57e3f0b5d25d451759237b40647664
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
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
that.
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
H.Merijn Brand [Fri, 29 Oct 2021 14:36:07 +0000 (16:36 +0200)]
Send bugs to GitHub
Do not advise sending mail to 'perlbug@perl.org', as that now simply
triggers a response redirecting sender to GitHub.
Backport of
786c02c9305b1cb8b2a0ee2cb2921888bb720499
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.
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.
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 config.sh without
the hyphen).
Correct user prompts accordingly.
For: #18844
https://github.com/Perl/perl5/pull/18870 by @jkeenan
James E Keenan [Thu, 10 Jun 2021 21:32:45 +0000 (21:32 +0000)]
Correct probable typo.
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.
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
Karl Williamson [Fri, 4 Jun 2021 17:16:07 +0000 (11:16 -0600)]
Add probes for ffs, ffsl
Karl Williamson [Fri, 4 Jun 2021 16:53:22 +0000 (10:53 -0600)]
XXX RCS changes? Add probe for strxfrm_l
Karl Williamson [Thu, 3 Jun 2021 11:03:34 +0000 (05:03 -0600)]
d_endpwent.U: Fix typo in comment
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
safe.
H.Merijn Brand [Mon, 31 May 2021 13:18:09 +0000 (15:18 +0200)]
Make libpth dist compliant
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
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
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
Before:
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
After:
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)
H.Merijn Brand [Tue, 9 Mar 2021 13:10:31 +0000 (14:10 +0100)]
better de-dup metagrep
and skip old working tree
H.Merijn Brand [Thu, 18 Feb 2021 15:23:26 +0000 (16:23 +0100)]
Reword usage messages (thank you Jim)
Backport of
0484bfe840704c501e4b0d8949d48017b336d71e
H.Merijn Brand [Sun, 14 Feb 2021 10:23:53 +0000 (11:23 +0100)]
Fixes backported from Porting/Glossary commits
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
H.Merijn Brand [Sun, 14 Feb 2021 10:17:00 +0000 (11:17 +0100)]
Consistent indent/whitespace
H.Merijn Brand [Sun, 14 Feb 2021 10:08:51 +0000 (11:08 +0100)]
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.
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
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 amigaos.sh and haiku.sh (and disable accordingly -fstack-protector*
in Configure)
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 <sisyphus@cpan.org>
Date: Wed Oct 21 10:52:11 2020 +1100
But style adjusted to surrounding code
H.Merijn Brand [Sat, 24 Oct 2020 10:21:01 +0000 (12:21 +0200)]
Prevent errors when run outside metaconfig folder
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
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 "need va_copy() or
similar" 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@
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
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
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 https://github.com/Perl/perl5/issues/18107 for background.
Karl Williamson [Sat, 22 Aug 2020 20:41:50 +0000 (14:41 -0600)]
d_faststdio.U: Use >&4, not >& 4
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.
Karl Williamson [Mon, 13 Jul 2020 15:06:08 +0000 (09:06 -0600)]
U/perl/Checkcc.U: Use >&4 instead of >&2 for output
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.
Karl Williamson [Mon, 13 Jul 2020 16:47:20 +0000 (10:47 -0600)]
README: Small fix ups
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
Karl Williamson [Fri, 21 Aug 2020 20:31:45 +0000 (14:31 -0600)]
usethreads.U: Rmv unused variable
Karl Williamson [Fri, 21 Aug 2020 20:31:18 +0000 (14:31 -0600)]
Extensions.U: remove unused variable
Karl Williamson [Fri, 21 Aug 2020 20:30:34 +0000 (14:30 -0600)]
README: Add instrs for modified units
Karl Williamson [Fri, 21 Aug 2020 20:29:55 +0000 (14:29 -0600)]
README: Fix typo
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
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.
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.
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.
Karl Williamson [Sun, 21 Jun 2020 18:40:28 +0000 (12:40 -0600)]
i_db.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
Karl Williamson [Sun, 21 Jun 2020 18:38:50 +0000 (12:38 -0600)]
d_attribut.U: Use new 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.
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.