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

Reply via email to