| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This brings Configure in line with
<https://github.com/Perl/metaconfig/tree/maint-5.30>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I got a notice from Jeff Law <law@redhat.com>:
Your particular package fails its testsuite. This was ultimately
tracked down to a Configure problem. The perl configure script treated
gcc-10 as gcc-1 and turned on -fpcc-struct-return. This is an ABI
changing flag and caused Perl to not be able to interact properly with
the dbm libraries on the system leading to a segfault.
His proposed patch corrected only this one instance of the version
mismatch. Reading the Configure script revealed more issues. This
patch fixes all of them I found.
Please note I do not have GCC 10 available, I tested it by faking the version
with:
--- a/Configure
+++ b/Configure
@@ -4672,7 +4672,7 @@ $cat >try.c <<EOM
int main() {
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
#ifdef __VERSION__
- printf("%s\n", __VERSION__);
+ printf("%s\n", "10.0.0");
#else
printf("%s\n", "1");
#endif
(cherry picked from commit 6bd6308fcea3541e505651bf8e8127a4a03d22cd)
|
|
|
|
|
|
|
|
| |
GitHub issue tracker
The perlbug utility and perlbug@perl.org should no longer be used to submit bug reports or patches.
(cherry picked from commit 8166b4e0bc220e759aa233af54ac1e60cc510f0c)
|
|
|
|
| |
This corresponds to metaconfig commit 70210eb08b2643bfce98cfa92a3ee52c613dfa56
|
|
|
|
| |
This also now notes some behavior of setlocale
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is continuation of commit f8d82a1010 addressing [perl #133760].
Linux systems using the musl C library have memmem, memrchr, strlcat, and
strlcpy, but the prototypes are only visible if _GNU_SOURCE is defined.
This patch makes Configure test both whether the prototype is visible
and whether the C symbol is visible.
Still to be done is automatically adding _GNU_SOURCE if the musl library
is being used -- probably in hints/linux.sh.
|
|
|
|
|
|
|
|
| |
This updates commit ca152fd8207cf53816b1407d5f54f6ea160a3ef8.
Linux systems have memmem, but the prototype in <string.h> is only
visible if __GNU_SOURCE is defined. This version tests for both the
prototype in <string.h> and the symbol in libc. (Thanks to Tony C. for
the suggestion.) (For BSD systems, no extra define is needed.)
|
|
|
|
|
|
| |
This is the same technique as in the metaconfig unit Protochk.U.
See that unit for more usage information. It is a bit clunky,
but does work.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linux systems have memmem, but the header prototype is only visible if
the C library, but didn't check if the correct prototype is available.
This patch compiles & runs a test program that will fail if the prototype
is needed but not available.
This does not completely close [perl #133760]. The tests for strlcat()
and strlcpy() may also need to be similarly changed. Also, this patch
does not change whether _GNU_SOURCE is defined or not. Presumably that
would be done separately in the linux hints file.
|
|
|
|
|
|
|
|
|
|
| |
The metaconfig probe for <db.h> previously relied on the d_const symbol set
by the "const" probe, so generating Configure here has been done against
metaconfig commit 1204d4627a06b11f16620188f3fa83159ed35fd9 which changes
that.
Thanks to khw++ for pointing out this oversight in my attempt last year to
make the codebase rely on C89.
|
|
|
|
|
|
|
| |
Patch by Sevan Janiyan
Include a hints file for Minix, derived from the NetBSD one but stripped
back to remove most of the legacy parts.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
These tests fail with clang with a missing return in non-void
function warning, and any warning at all causes the types to
default to int. It turns out DB::File doesn't use Configure's
types, but we should report the correct thing in case anyone
accesses them via %Config.
|
| |
|
|
|
|
| |
We are now in sync with perl5-metaconfig/metaconfig@2d3a3017b8d44d778ed765d529ca114924b3ee14
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most of the change here comes from a single unit being moved in the
generated Configure, but there are some substantive changes:
- config_h.SH was missing HAS_DUPLOCALE and d_duplocale
- d_duplocale was also missing from the platform-specific config-var files
This still doesn't quite ensure that rebuilding Configure makes no changes,
because there are differences to nl_langinfo() handling that need a change
in our metaconfig units. That will come next.
|
|
|
|
| |
I am aware that this might break a few tests
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
I thought I had done this earlier, but testing on Windows demonstrated
that I hadn't.
While at it, move the details in the docs for Perl_langinfo to the
module's pod.
This doesn't follow the paradigm for putting the Configure stuff in all
the related configure files, but I saw no point to doing so. If you are
reading this because I was wrong, feel free to ticket it or fix it.
|
|
|
|
|
| |
This is another file descriptor creating function that's needed as an
O_CLOEXEC-handling variant of an existing function.
|
|
|
|
|
| |
These will shortly be used to implement I/O operations that create file
descriptors with the FD_CLOEXEC flag set atomically.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C89 does not in fact define snprintf() or vsnprintf(), and we must therefore
probe for the existence of those functions before trying to use them.
khw++ for pointing out my earlier error.
This reverts part or all of each of the following commits:
13d66b05c6163c3514774d3d11da5f3950e97e98 Rely on C89 vsnprintf()
e791399041815a1a45cea3c7f277c7045b96e51b Rely on C89 snprintf()
adf7d503e55721c500f0bf66560b8f5df7966fe7 pod/perlhacktips.pod: remove some outdated portability notes
|
|
|
|
|
|
| |
Commit 46857622bdd8fff9558b66485f86ae4eb019ec55 of the metaconfig repo
reverts to the upstream version of i_sysmman.U, which has a slightly
different comment.
|
|
|
|
| |
This is a whitespace-only change.
|
|
|
|
| |
This requires a corresponding change in the metaconfig units.
|
|
|
|
| |
It's only needed on systems without C89 <string.h>, which we rely on anyway.
|
| |
|
|
|
|
| |
This requires a corresponding change in the metaconfig units.
|
|
|
|
| |
This requires a corresponding change to the metaconfig units.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This includes changed metaconfig units which drop support in the same way.
https://en.wikipedia.org/wiki/HP_9000 :
> The HP 9000 brand was introduced in 1984 to encompass several existing
> technical workstation models previously launched in the early 1980s. […]
> The Series 500s were based on the HP FOCUS microprocessor. […] The 520 was
> a complete workstation with built-in keyboard, display, 5.25-inch floppy
> disk, and optional thermal printer and 5 MB hard disk. […] The processors
> in the original Series 500s ran at 20 MHz, and could reach a benchmark
> speed of 1 MIPS.
https://en.wikipedia.org/wiki/HP_FOCUS :
> The Hewlett-Packard FOCUS microprocessor, launched in 1982, was the
> first commercial, single chip, fully 32-bit microprocessor available on
> the market. […] The FOCUS […] was a stack architecture, with over 220
> instructions (some 32 bits wide, some 16 bits wide), a segmented memory
> model, and no general purpose programmer-visible registers.
|
|
|
|
|
| |
All the information it contains can be gleaned more readily from C89
<limits.h> and <float.h>.
|
|
|
|
|
|
|
|
|
| |
I would like to be able to assume that we have long doubles, and therefore
that LDBL_DIG and friends are all defined too. But it seems that we may
still support some platforms which are otherwise C89, but don't have even
trivial long-double support; in particular, HP/UX 10 apparently uses a
struct of four uint32_t values as long double, but doesn't support other
bits, and confuses the Configure probe that looks for quadmath.
|
|
|
|
| |
This requires newer metaconfig units that also rely on C89 <float.h>.
|
|
|
|
| |
This requires newer metaconfig units that also rely on C89 <limits.h>.
|
|
|
|
|
| |
The Configure script here was built from a metaconfig unit that also assumes
<time.h> exists.
|
|
|
|
|
|
| |
This needs a metaconfig change that defangs the standard unit for finding
strchr(), because that unit sees the uses of "index" and "rindex" (in files
like keywords.c and opcode.h) as indicators that it must be used instead.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The Configure changes here were generated using a version of metaconfig
that copies U/modified/i_stdlib.U from dist/U/vaproto.U, and changes it to
unconditionally define the i_stdlib Configure variable. That variable is
used by a large number of other Configure units, so it's not actually
practical to try and remove the relevant unit entirely.
|
| |
|
|
|
|
|
|
| |
The Configure changes here were generated using a version of metaconfig
that modifies the prototype.U and Protochk.U units to assume that C89
prototypes work.
|
| |
|
|
|
|
|
|
|
| |
The Configure changes here were generated using a version of metaconfig
that copies U/modified/vaproto.U from dist/U/vaproto.U, and changes it to
refrain from promising to define a _V symbol (which would otherwise cause
the relevant probe to included in Configure).
|
|
|
|
| |
This matches a recent change to metaconfig.
|
| |
|
|
|
|
| |
This matches a recent change to metaconfig.
|
| |
|