summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Lots of C optimizations for both speed/correctnessJohn Peacock2014-01-1815-140/+232
| | | | | | | | | | | Clean up a lot of the less efficient uses of various Perl macros and functions, mostly from bulk88@hotmail.com. Also deal with the fact that older Perl's were not handling locale setting in a consistent manner. This means going back to the less efficient but always correct method of ALWAYS copying the old locale and switch to C and then restoring, for all Perl releases prior to 5.19.0. Discontinue support for Perl's prior to v5.6.2.
* Make runperl normalize newlines with multiple output lines.Craig A. Berry2014-01-181-1/+1
| | | | | | On VMS only, because rarely but occasionally (such as with perl5db.t) runperl produces multiple lines of output and they all need the same treatment.
* Fix perl5db.t test 41 on VMS.Craig A. Berry2014-01-181-3/+3
| | | | | | We're getting newlines in between items, and the easiest way to deal with it is make them explicit so we expect what we're getting and it's done the same everywhere.
* ext/POSIX/t/time.t: Conditionalize the use of setlocale/LC_TIMEBrian Fraser2014-01-182-4/+9
| | | | | On Android, all locales are simply disabled, which broke the assumption that LC_TIME is always available.
* t/op/threads-dirh.t: Only test telldir and seekdir if they are availableBrian Fraser2014-01-181-0/+2
|
* t/op/getpid.t: Silence undef warnings if getconf doesn't exist.Brian Fraser2014-01-181-1/+1
| | | | | | If a platform has getppid() but not getconf and we're building a threaded perl, this file would've shown undef warnings, although no tests were affected.
* t/op/magic.t: Comment for an unlink testJess Robinson2014-01-181-1/+1
|
* t/run/switches.t: Skip setlocale tests if !d_setlocaleJess Robinson2014-01-181-0/+2
|
* t/op/taint.t: Skip crypt tests if !d_cryptJess Robinson2014-01-181-12/+15
|
* t/lib/warnings/9uninit: Skip crypt tests if !d_cryptJess Robinson2014-01-181-0/+1
|
* DynaLoader: Pure-perl mod2fname shouldn't use %Config at runtimeBrian Fraser2014-01-181-3/+3
| | | | | | | | | | | This is somewhat obscure. Previously, mod2fname would've tried accessing $Config{dlext} each time it was called. The reason this can be problematic is that mod2fname can be called during global destruction, after %Config is freed but before its magic is. This was causing Devel::GlobalDestruction's tests to fail on builds with -Dd_libname_unique. This commit grabs the data we need when DynaLoader.pm is being built in DynaLoader_pm.PL, so it no longer need to depend on %Config.
* Increase $Hash::Util::FieldHash::VERSION to 1.14Father Chrysostomos2014-01-181-1/+1
|
* Hash::Util::FieldHash: fix broken pod linkFather Chrysostomos2014-01-181-1/+2
|
* Increase $threads::shared::VERSION to 1.46Father Chrysostomos2014-01-182-3/+2
|
* perldelta typoFather Chrysostomos2014-01-181-1/+1
|
* threads::shared: Don’t link to moving targetsFather Chrysostomos2014-01-182-5/+4
| | | | | | | The Scalar::Util documentation has changed, so the links are broken. But we cannot just update the link targets, as threads::shared is living a double life and may be installed along with an older Scalar::Util.
* perldiag: Rewrap autoderef entriesFather Chrysostomos2014-01-181-21/+24
| | | | for better splain output
* perldelta for 88c342510b9Father Chrysostomos2014-01-181-0/+6
|
* perldelta for 6567ce2473Father Chrysostomos2014-01-181-0/+7
|
* Mention perlbug -p in perlhack.Craig A. Berry2014-01-171-11/+9
| | | | | Using git's --attach with perlbug -f actually mangled the patches, making them harder to apply, but now we have a better way to do it.
* perldelta for perlbug changes.Craig A. Berry2014-01-171-2/+7
|
* Make perlbug Unicode-aware.Craig A. Berry2014-01-171-10/+15
| | | | | | | | | | | | | | | | | | Try to do input in whatever the locale wants and output raw in hopes that will best survive mail transport. Except when reading in a patch file, we'll also use raw for input because there may be multiple encodings in the patch, and we'll also use raw for input when reading in the report file that we've written out raw. We attempt to detect the locale encoding using the private and undocumented _get_locale_encoding() function of the deprecated encoding pragma module. But it's what the open pragma does and we protect ourselves by checking that it's available and falling back to an empty layer specification ("<:") if we can't load that function. That should also give us something workable when there is no dynamic loading, such as under miniperl.
* Switch perlbug mail sender on VMS.Craig A. Berry2014-01-171-14/+19
| | | | | | | | | | | The VMS mail utility can't do attachments because it always adds a blank line in front of any headers you add. So use the Send From File utility, which has been documented and supported for any release in the last decade and was latently present before that. It takes the whole message verbatim just like sendmail, but also needs the envelope prepended.
* Add perlbug -p option for attaching patches.Craig A. Berry2014-01-171-14/+92
| | | | | | | | | | | Log files and other text attachments should also be fine as long as they aren't big enough to be rejected by RT. Only text attachments are supported, as other kinds would involve wrestling with myriad MIME types and possibly content transfer encodings. This should be fine for binary patches, though, as git format-patch encodes those in Base85, so the patch file itself is still text.
* perldelta for 901ee108feFather Chrysostomos2014-01-171-0/+5
|
* perldelta for ceaf124e0Father Chrysostomos2014-01-171-1/+3
|
* Added config.arch to .gitignoreBrian Fraser2014-01-171-0/+1
|
* config.h: Remove the exceptions for cross-compilation buildsBrian Fraser2014-01-1710-16/+15
| | | | | This makes it so that the values for MEM_ALIGNBYTES and BYTEORDER are taken from config.sh, instead of always getting a default.
* INSTALL: Document -DsysrootBrian Fraser2014-01-171-0/+11
|
* Add missing $run prefix to some Configure testsJess Robinson2014-01-171-1/+1
|
* Introduce $targetport to allow running on a non-standard ssh portJess Robinson2014-01-171-5/+13
| | | | | Such as when using user networking on qemu and redirecting a local port to the emulator ssh
* Store the targetdir, targethost from Configure in config.sh for later.Jess Robinson2014-01-171-0/+4
|
* Configure: Remove "was file copied" check using run-sshJess Robinson2014-01-171-4/+0
| | | | This doesn't seem to be of much use.
* Configure: If using targetarch, the computed binaries should stickBrian Fraser2014-01-171-1/+12
|
* Configure: Don't skip the alignbytes test when crosscompilingBrian Fraser2014-01-171-42/+29
|
* Configure: Add $run to two testsBrian Fraser2014-01-171-2/+2
|
* Configure: use $sysroot, if available, in checkccflagsBrian Fraser2014-01-171-4/+7
| | | | | | | | | If the user specified -Dsysroot but we don't use it, then the results can be entirely off. This also introduces an internal variable for Configure, _sysroot, which is just "--sysroot=$sysroot", for use in places like checkccflags that need --sysroot but don't need the other flags.
* Configure: No need to skip the byteorder test when cross-compiling.Brian Fraser2014-01-171-2/+2
| | | | | This skip was added in 2001, but under the current model there's no real reason to skip it.
* Fix two Configure tests when targethost is setJess Robinson2014-01-171-2/+13
|
* Configure: When cross-compiling, look for *-gcc* instead of *-*-gccBrian Fraser2014-01-171-6/+8
| | | | | | Ditto with g++. This allows us to use, for example, ntox86-gcc or x86_64-w64-mingw32-g++.exe to cross-compile, and have Configure detect most things automatically.
* Set appropriate flags for linux or linux-like systems.Jess Robinson2014-01-171-4/+4
| | | | | This means that osnames that look like *linux*, like linux-androideabi or linux-gnueabihf are treated like linux systems.
* sv_buf_to_rw can be staticFather Chrysostomos2014-01-174-5/+11
| | | | | sv_buf_to_ro needs to be non-static because op.c uses it, but sv_buf_to_rw is only called from sv.c.
* Always define sTHX as 0 when not using mem debug headerFather Chrysostomos2014-01-171-1/+1
| | | | | | | | | I broke the threaded build in b001a0d149 by assuming that sTHX was always set to 0 when memory debug headers were not in use. That is an easy assumption to make, so this commit makes that assumption true. (And there is no reason it cannot be made true. There is no need for sTHX to be set under PERL_IMPLICIT_CONTEXT but not PERL_TRACK_MEMPOOL, where sTHX was not even used before b001a0d149.)
* [Merge] Cow ToolsFather Chrysostomos2014-01-1614-31/+326
|\ | | | | | | | | | | | | | | | | | | | | This branch provides a PERL_DEBUG_READONLY_COW mode that turns COW violations into crashes. It also add documentation to perlguts explaining how to handle COW strings in XS code. There are two ‘known’ failures in IO::Compress’ tests. A patch has been sent upstream. (Apologies to Gary Larson.)
| * util.c: A couple of defines to simplify #ifdef mazeFather Chrysostomos2014-01-161-16/+20
| | | | | | | | | | No real simplification in terms of the number of #ifdefs, but more readability (hopefully).
| * Skip t/re/uniprops.t under PERL_DEBUG_READONLY_COWFather Chrysostomos2014-01-161-2/+12
| | | | | | | | | | Under Linux, using mmap for all memory allocation stops working when we get up to 70,000 lines of code. So just skip it.
| * SvGROW should un-cow under PERL_OLD_COPY_ON_WRITEFather Chrysostomos2014-01-161-1/+1
| | | | | | | | | | | | | | Otherwise pp_uc (and presumably other pieces of code) will end up mod- ifying shared buffers. Brought to you by PERL_DEBUG_READONLY_COW.
| * perldiag for new mprotect warningsFather Chrysostomos2014-01-161-2/+17
| |
| * Teach podcheck about mmap(2)Father Chrysostomos2014-01-161-0/+1
| |
| * COW documentationFather Chrysostomos2014-01-162-0/+52
| | | | | | | | | | plus read-only documentation, since hysterically the two are intertwined.