summaryrefslogtreecommitdiff
path: root/pod/perlhacktips.pod
Commit message (Collapse)AuthorAgeFilesLines
* perlhacktips: -Accflags for PERL_DEBUG_READONLY_OPSFather Chrysostomos2013-12-291-1/+2
| | | | | It is not clear to all that this has to be specified as -Accflags=-D... when used on the Configure command line.
* pod/perlhacktips: Further info on glibc bugKarl Williamson2013-12-091-4/+5
| | | | | Commit 6bfe0388956736a32b874cc5e31cc6437260b227 prompted me to do some more digging. The bug in glibc has apparently been fixed in 2.17.
* perlhacktips: Note sprintf glibc bug and workaroundsKarl Williamson2013-12-061-1/+9
| | | | http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-09/msg00506.htmlP
* perlhacktips: Two spaces after dotsFather Chrysostomos2013-11-181-130/+131
| | | | It was not consistent throughout.
* perlhacktips: Fix pod formattingFather Chrysostomos2013-11-181-1/+1
|
* Add more examples of perl/gdb usage.Matthew Horsfall (alh)2013-11-181-0/+64
| | | | Also add doc about gdb's ptype, and make examples more clear.
* perlhacktips: Fix verbatim lineFather Chrysostomos2013-11-031-1/+1
| | | | | | Shorten this long verbatim line by removing the pod markup (which would be rendered literally), changing the indent to 4 (to match the ‘make foo.i’ further down) and removing the trailing space
* Revise fake bool build advice from f789f6a4bdb.Craig A. Berry2013-11-021-2/+6
| | | | The suggestions from that Craig Berry fellow were only half-baked.
* Introduce PERL_BOOL_AS_CHAR defineFather Chrysostomos2013-10-301-0/+12
| | | | | | | | | This allows compilers that do support real booleans (C++ or anything with stdbool.h) to emulate those that don’t. See ticket #120314. This patch incorporates suggestions from Craig Berry.
* In perlhacktips, suggest a shell loop to generate all .gcov files.Nicholas Clark2013-07-011-1/+6
|
* Eliminate the perl.gprof and perl.gcov Makefile targets.Nicholas Clark2013-07-011-42/+41
| | | | | | | | | | | I don't feel that it's worthwhile having specific named targets for building named binaries for use with gprof and gcov given that one has to (re)Configure with the appropriate C compiler flags, hence all the object files and the F<perl> that the build tree would build are just as enabled (or contaminated) with profiling code as the specially named binary. Update the documentation on using gprof and gcov to reflect that the binary named F<perl> is now the binary that is profiled.
* Run Porting/podtidy on pod/perlhacktips.podNicholas Clark2013-07-011-18/+16
|
* Update perlhacktips to note that Address Sanitizer is now also in gcc 4.8Nicholas Clark2013-07-011-3/+4
| | | | Also s/linux/Linux/ in two places.
* In perlhacktips, no need to give 3 ways to set an environment variable.Nicholas Clark2013-07-011-12/+1
|
* Remove the explicit purify/quantify/purecov targets and documentation.Nicholas Clark2013-07-011-134/+1
| | | | | | | | | | It's not clear whether IBM still sell quantify or purecov. They still seem to sell purify, but I'm not sure if anyone is using it these days to detect bugs in perl. This doesn't prevent anyone from using these tools if they have them, as it's still possible to run the commands by "hand". But by removing probably unused code and documentation, the signal to noise ratio improves.
* Remove Makefile targets and tools related to Irix and Tru64 debugging tools.Nicholas Clark2013-07-011-3/+3
| | | | | | | | | | | | | | | | | | | | | Remove the targets: perl.pixie perl.pixie.atom perl.pixie.config perl.pixie.irix perl.third perl.third.config It's still possible to run the actions these targets "by hand", if desired. This commit removes the convenience targets from the Makefile, reducing its complexity. It also removes the related support scripts testall.atom and thirdclean from Porting/ pixie is a performance analysis tool for Irix and Tru64 Third Degree is a memory checker tool for Tru64 Given that Tru64 went out of support at the end of 2012, and Irix goes out of support at the end of 2013, it's very unlikely that anyone is still actively profiling or debugging perl on either platform, and hence using these targets. It's been several years since we've even had a regular bug report from either platform.
* perlhacktips: Note existence of regen/unicode_constants.plKarl Williamson2013-02-241-5/+3
|
* perlhacktips.pod: readonly ops update (again)Father Chrysostomos2012-09-141-27/+4
|
* perlhacktips: PERL_DEBUG_READONLY_OPS updateFather Chrysostomos2012-07-121-10/+8
| | | | | | | | | I don’t know when this changed, but I *can* build F<perl> with PERL_DEBUG_READONLY_OPS, and I could before I rewrote it to use the new slab allocator. So that particular note in perlhacktips may have been wrong for quite some time. I assume it had to do with redefini- tion sub warnings that try to set the line number of the current cop (which is still a problem).
* perlhacktips: Update PERL_DEBUG_READONLY_OPSFather Chrysostomos2012-06-291-3/+4
|
* Revert to the correct value of lddlflags for AddressSanitizerVincent Pit2012-06-221-8/+8
| | | | | | | | | -Afoo=val appends 'val' to the value of variable foo after the platform hints are processed, but before the default value is computed by Configure. At this time, 'foo' appears as non-empty and Configure skips the default logic. This is the reason -shared must always be added to lddlflags. I don't know why I didn't caught this while testing AddressSanitizer builds.
* Run podtidy on perlhacktipsVincent Pit2012-06-221-12/+13
|
* Clarify how AddressSanitizer should be invoked when useshrplib is setVincent Pit2012-06-221-17/+22
|
* perlhacktips: long linesFather Chrysostomos2012-06-191-2/+4
|
* perlhacktips: add AddressSanitizerReini Urban2012-06-191-4/+46
| | | | [amended to fix a typo, and add an exception to the podcheck database]
* perlhacktips: typoFather Chrysostomos2011-11-301-1/+1
|
* update valgrind URL and platformsTony Cook2011-09-291-4/+6
|
* Major revision of perlhack and perlrepositoryDave Rolsky2011-02-041-0/+1459
The existing perlhack is huge and takes a long time to get to key information like "how to submit a patch". It also contains a massive amount of (very useful) detail on the Perl interpreter, debugging, portability issues, and so on. Some parts of perlhack are just obsolete. For example, Larry really isn't deeply involved on p5p any more. Meanwhile, perlrepository _also_ contains a lot of useful information on patching Perl, as well as a small git tutorial focused on working with the Perl repository. Taken together, the two documents overlap and conflict with each other. This commit does the following: == Reconcile conflicts and overlaps, remove obsolete information I've separated out distinct pieces of information and organized them into individual pod files. More on that below. I've also removed anything that was obviously out of date. == Make it easier for casual contributors to contribute. The perlhack document now gets to "how to make a patch" very quickly. My assumption is that most contributors to Perl are doing something small, like fixing pod, adding a test, etc. The documentation aimed at people doing more extensive hacking is still there, but it's been moved so that it comes at the end of the document or has been moved to another document. I've made an effort to cross-reference the various documents so that nothing gets lost. == Get to the point The perlhack document had a lot of discussion of general Perl culture. I've trimmed a lot of this and moved some of it so it comes later. == Per-file summary === perlrepository.pod This is gone. Some of its content is now in perlhack. This includes the bits on writing good commit messages, how (and where) to submit a patch, etc. The rest is now called perlgit, and is _only_ a git how-to. === perlhack.pod This has been cut down quite a bit. I changed the opening so it starts with a quick guide to submitting small patches. The document covers bug reporting, the p5p list, a quick how-to on getting the source (including git, gitweb, and rsync), and a lot of general information on patching perl and running tests. Much of this material was already present, but I've done a fair amount of editing for modernization and clarity. Most of the information specific to C-level hacking has been moved to other documents. === perlsource.pod This is a guide to the Perl source tree. Most of the content was extracted from perlhack. I've edited existing content and added details on some parts of the tree that weren't covered. === perlinterp.pod This is a tour of the Perl interpreter source and a walkthrough of how it works that originally lived in perlhack. This has received very little editing. === perlhacktut.pod This is a walkthrough of creating a sample patch to the C core code that originally lived in perlhack. This has received very little editing. === perlhacktips.pod The perlhack document contained a lot of useful information on low-level hacking details like debugging, compilation issues, portability, etc. This has received very little editing. I did remove some bits on ancient stuff related to Tru64 and IRIX.