From: Bob Rogers (via RT) <[EMAIL PROTECTED]> Date: Sun, 07 Sep 2008 18:52:40 -0700
# New Ticket Created by Bob Rogers # Please include the string: [perl #58660] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58660 > . . . I notice that pbc_merge_debugs (src/pbc_merge.c:546) adds the cumulative sum of the previous debug segment sizes to the mapping offsets. These sizes are 7, 9, and 10 for main.pbc, foo.pbc, and bar.pbc respectively, but each of these values seems high by one. The attached patch is based on the theory that in_seg->base.size is really the count of words in the bytecode file and therefore includes the initial size word as well as the data. It does make the attached test case work, but this is too much voodoo for my taste, so I'll wait to hear from someone who knows what's going on. Since then, I've tried this fix on a large (almost 2MB) bytecode file merged from 8 smaller ones, and every time the line numbers in the error message are spot-on. So this fix should be an unambiguous improvement, even if it's not strictly correct. Unless I hear objections, I'llf commit it in a day or so. -- Bob