develooper Front page | perl.perl5.porters | Postings from March 2018

[perl #132928] [PATCH] removeregexec.c:non_utf8_target_but_utf8_required indirection var

Thread Next
bulk88 via RT
March 7, 2018 14:46
[perl #132928] [PATCH] removeregexec.c:non_utf8_target_but_utf8_required indirection var
Message ID:
On Fri, 02 Mar 2018 06:08:06 -0800, wrote:
> On 03/01/2018 08:39 AM, bulk88 (via RT) wrote:
> > # New Ticket Created by  bulk88
> > # Please include the string:  [perl #132928]
> > # in the subject line of all future correspondence about this issue.
> > # <URL: >
> >
> >
> > This is a bug report for perl from,
> > generated with the help of perlbug 1.41 running under perl 5.27.9.
> >
> >
> > -----------------------------------------------------------------
> > [Please describe your issue here]
> >
> > See attached patch.
> I'm trying to understand the point of your patch.  It looks like it
> lowers slightly the size under Windows, but there are compilers, such
> IIRC as HP's that will generate duplicate copies of this string, so
> their size will increase, I believe.

That static char * var with 1 reference wasn't optimized out by VC. I poked around a HPUX SL format perl binary a bit, IDK if it was compiled with acc or gcc, but it looked to me like identical string literals from ONE .o are de-duped but are not deduped across .o boundaries, and libperl is made of multiple .o'es. This patch doesn't solve deduping the string literals on CCs that dont want to, but it did removed the global pointer sized var. Maybe wrong linker/CC flags with perl on HPUX. I know originally per C specification all C double quote literals were stored in RW memory, but I think Perl forces it RO on any OS that has default RW string literals with Configure.

bulk88 ~ bulk88 at

via perlbug:  queue: perl5 status: open

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About