Front page | perl.perl5.porters |
Postings from December 2014
[perl #123522] [PATCH] refactor gv_add_by_type
From:
bulk88
Date:
December 30, 2014 14:33
Subject:
[perl #123522] [PATCH] refactor gv_add_by_type
Message ID:
rt-4.0.18-23520-1419950010-62.123522-75-0@perl.org
# New Ticket Created by bulk88
# Please include the string: [perl #123522]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=123522 >
This is a bug report for perl from bulk88@hotmail.com,
generated with the help of perlbug 1.40 running under perl 5.21.7.
-----------------------------------------------------------------
[Please describe your issue here]
See attached patch.
The original patch message was
before VC 2003 32 -01 .text 0xc8813 .rdata 0x482fa in bytes after
.text 0xc8623 .rdata 0x4857c
but the theoretical .rdata of the 2 arrays I added was 0x18 bytes, but
some of it was atoned for by the string removal, as in the pics, so it
probably should be been ~0x10< delta, not 0x18. while the delta seen was
is 0x282, but it seems the build process switch from 3 "local patches"
to 16 "local patches" and that made .rdata much bigger with those string
extra SHA1s.
This will cause some minor breakage with DEFSV
http://grep.cpan.me/?q=-file%3Appport\.h+DEFSV , but all the code that
currently assigns to DEFSV is leaking anyway since perl.h currently has
#ifdef PERL_CORE
# define DEFSV (0 + GvSVn(PL_defgv))
# define DEFSV_set(sv) \
(SvREFCNT_dec(GvSV(PL_defgv)), GvSV(PL_defgv) = SvREFCNT_inc(sv))
# define SAVE_DEFSV \
( \
save_gp(PL_defgv, 0), \
GvINTRO_off(PL_defgv), \
SAVEGENERICSV(GvSV(PL_defgv)), \
GvSV(PL_defgv) = NULL \
)
#else
# define DEFSV GvSVn(PL_defgv)
# define DEFSV_set(sv) (GvSV(PL_defgv) = (sv))
# define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv))
#endif
assigning to GvSVn will leak.
There doesn't seem to be anything on CPAN that will break as of Gv\w\wn
becoming rvalue only.
http://grep.cpan.me/?q=-file%3Appport\.h%20Gv\w\wn\%28&page=1
[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
category=core
severity=low
---
Site configuration information for perl 5.21.7:
Configured by Owner at Sat Nov 22 21:54:54 2014.
Summary of my perl5 (revision 5 version 21 subversion 7) configuration:
Local Commit: 1bce52df028aabe28c20b2d97949e35c17ea811e
Ancestor: 7072da8afeba4c87ae623cd913e274396ffcf1cd
Platform:
osname=MSWin32, osvers=5.1,
archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
useithreads=define, usemultiplicity=define
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cl', ccflags ='-nologo -GF -W3 -O1 -MD -Zi -DNDEBUG
-G7 -GL
-DWIN32 -D_CONSOLE -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS
-DPERL_HASH_FUNC_ONE_AT_A_TIME -DNO_MATHOMS -DPERL_IMPLICIT_CONTEXT
-DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T',
optimize='-O1 -MD -Zi -DNDEBUG -G7 -GL',
cppflags='-DWIN32'
ccversion='13.10.6030', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8,
byteorder=1234,
doublekind=3
d_longlong=undef, longlongsize=8, d_longdbl=define,
longdblsize=8,
longdblkind=0
ivtype='long', ivsize=4, nvtype='double', nvsize=8,
Off_t='__int64',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -debug
-opt:ref,icf
-ltcg -libpath:"c:\perl521\lib\CORE" -machine:x86'
libpth="C:\Program Files\Microsoft Visual Studio .NET
2003\VC7\lib"
libs=oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib
odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib
version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=true,
libperl=perl521.lib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef,
ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib
-debug
-opt:ref,icf -ltcg -libpath:"c:\perl521\lib\CORE" -machine:x86'
Locally applied patches:
ce7a4d57d0acca9f39a84d36d708c4505dfe45ca
ca0b263f4b167ddf97416f657d79ab5bd3344357
08919bf863666074243240abbd19cd1a74cc7b74
b8a043377dbf39548709b107a11e5cc2714c0e9a
efa855eb5cffb7739616c295dd968d1510efeeb0
1d47d0b810e26d9a2f9101fb813bd5b3dd332cc9
3faca062ddb056db54f73fa55b0a9d473675dd33
0b3e905bda3e75ad948a1213f620656b60807393
1b1efc719fde05d215e5a13fb38c03e12a3aab08
1bce52df028aabe28c20b2d97949e35c17ea811e
---
@INC for perl 5.21.7:
..\lib
C:/perl521/srcnewb4opt/lib
.
---
Environment for perl 5.21.7:
HOME (unset)
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=C:\WINDOWS\system32;C:\Program Files\Microsoft
Visual
Studio
.NET 2003\Vc7\bin;C:\Program Files\Microsoft Visual Studio .NET
2003\Common7\IDE;C:\WINDOWS;C:\Program Files\Git\cmd;C:\Program
Files\Microsoft Visual Studio .NET 2003\Common7\Tools\bin;C:\perl\bin
PERL_BADLANG (unset)
PERL_JSON_BACKEND=Cpanel::JSON::XS
PERL_YAML_BACKEND=YAML
SHELL (unset)
-
[perl #123522] [PATCH] refactor gv_add_by_type
by bulk88