Threaded bleads broken on HP-UX 11.31 by commit 7258295b51ee7

--Sig_/LJIJhji/TamO44x7w+hF_Rh
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

x2: ia64 (ia64/4 cpu)
    on        HP-UX - B.11.31/64
    using     ccache cc version B3910B A.06.28.02
    smoketime 3 hours 31 minutes (average 26 minutes 25 seconds)

Summary: FAIL(Fm)

v5.29.1-44-g44a61463eb  Configuration (common) none
----------- ---------------------------------------------------------
F F F F F F=20
F F F F F F -Duse64bitall
m - - m - - -Duseithreads
m - - m - - -Duseithreads -Duse64bitall


lots of compiler warnings, but it all ends with this:

cc -L/pro/local/lib +DD64 -L/usr/lib/hpux64 -o miniperl \
            opmini.o perlmini.o  gv.o toke.o perly.o pad.o regcomp.o dump.o=
 util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o p=
p.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o =
universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pa=
ck.o pp_sort.o caretx.o dquote.o time64.o  miniperlmain.o  -lcl -lpthread -=
lnsl -ldl -lm -lsec -lc
cc: warning 983: The -lc library specified on the command line is also adde=
d automatically by the compiler driver.
ld: Unsatisfied symbol "PL_utf8_mark" in file utf8.o
ld: Unsatisfied symbol "PL_InBitmap" in file regcomp.o


Last  smoke PASS               was 5.29.0-88-g6b877bbd2c
First smoke FAIL (with m or M) was 5.29.0-93-g6d37e916c3

$ git diff 6b877bbd2c 6d37e916c3

shows me that this is the commit that most likely caused the breakage:

commit 7258295b51ee7cac64553fcbcee5e51bd204fbbf
Author: Karl Williamson <khw@cpan.org>
Date:   Sat Jul 14 13:05:52 2018 -0600

    Make global two interpreter variables

    These variables are constant, once initialized, through the life of a
    program, so having them be per instance is a waste of time and space


You can find the complete log of the latest smoke for this box here:

 rpt : https://tux.nl/perl5/smoke/hpux1131/511/cc/mktest.rpt
 out : https://tux.nl/perl5/smoke/hpux1131/511/cc/mktest.out
 log : https://tux.nl/perl5/smoke/hpux1131/511/cc/smoke.log

--=20
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.29   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/

--Sig_/LJIJhji/TamO44x7w+hF_Rh
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJbYxJKAAoJEAOhR6E+XcCYr3oH/2X/O+QTeIC9ymY9yFBg9GwO
EeGRxnLpPmVXCBRoy/R6rP/N+/iKxSQD35xQfDNXY2xnvAlHpLZYlsm3f0gwzIMu
MbALxLROSEnnyOUrxgXvqcGo383m3MVZdM/yn/MbpIYjyO+7GPY/zcF5BO7VVwwh
Q3YkgDjo3xgXlCdeLsMzKP+0i0R8c6p0PT+QuK6W4Vv0kBkbR5fRKhflqmxrtB5O
RHlwgfSVdwEBATzLmpv+xTKS8C0mlxP7gH/wjUbmrKUsd6qxhbLlElC/II1esdd/
cacDBqFg6A+Jniz0heFeyOMpP5qCZazayKuMuMoHv27jroJ2nCtMfsRLpoqPjok=
=5vcn
-----END PGP SIGNATURE-----

--Sig_/LJIJhji/TamO44x7w+hF_Rh--
0
h
8/2/2018 2:16:36 PM
perl.perl5.porters 47300 articles. 0 followers. Follow

8 Replies
20 Views

Similar Articles

[PageSpeed] 48

--Sig_/f.Sknx1vo1htBrUN98/WNzk
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Thu, 2 Aug 2018 16:16:36 +0200, "H.Merijn Brand"
<h.m.brand@xs4all.nl> wrote:

> x2: ia64 (ia64/4 cpu)
>     on        HP-UX - B.11.31/64

I got worse. While digging ...

ld: Unsatisfied symbol "strnlen" in file mathoms.o


shouldn't that be my_strnlen?

--8<---
--- mathoms.c  2018-08-04 15:46:00 +0000
+++ mathoms.c      2018-08-04 15:45:27 +0000
@@ -1662,7 +1662,7 @@ Perl_is_utf8_char(const U8 *s)

     /* Assumes we have enough space, which is why this is deprecated.  But=
 the
      * strnlen() makes it safe for the common case of NUL-terminated strin=
gs */
-    return isUTF8_CHAR(s, s + strnlen((char *) s, UTF8SKIP(s)));
+    return isUTF8_CHAR(s, s + my_strnlen((char *) s, UTF8SKIP(s)));
 }

 /*
-->8---

--=20
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.29   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/

--Sig_/f.Sknx1vo1htBrUN98/WNzk
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJbZa5ZAAoJEAOhR6E+XcCYhfkH/1u//nLjVji0m0bcdFpsyQ2a
/6MmwUfTnee2AMscR8ijJfR9mttPl501z89n/kUc0pyxHDtdrdtDx79hRmnRvAat
cDbg5ANMLccSG3lwgKOKXiN5/rLMNdn81FaMPt35oRTTBdYIyDTOIiz8XdTzAJgB
+kpjZRLJfXsxM2elUEFCiVfLDsZYjX9e3lq+yondhZHilDnYvCNPN7Yi37RACEiF
+4Sg3PWMeRlwsJIjnmY6h8/vBh0xvx03Oy2xhtNM7DSfnENsXv0Rab/8Pdfc8Pgu
OnhD5qJ9kPAdQZg5F+DjIxo9Ua0ueKQL1lyXMEYn6EKaMCefLPrJBB7chFPmzNo=
=Knsf
-----END PGP SIGNATURE-----

--Sig_/f.Sknx1vo1htBrUN98/WNzk--
0
h
8/4/2018 1:46:55 PM
--Sig_/8aR65clFCZ5LD3C/GPb_H38
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Thu, 2 Aug 2018 16:16:36 +0200, "H.Merijn Brand"
<h.m.brand@xs4all.nl> wrote:

> cc -L/pro/local/lib +DD64 -L/usr/lib/hpux64 -o miniperl \
>             opmini.o perlmini.o  gv.o toke.o perly.o pad.o regcomp.o dump=
..o util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o=
 pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.=
o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_=
pack.o pp_sort.o caretx.o dquote.o time64.o  miniperlmain.o  -lcl -lpthread=
 -lnsl -ldl -lm -lsec -lc
> cc: warning 983: The -lc library specified on the command line is also ad=
ded automatically by the compiler driver.
> ld: Unsatisfied symbol "PL_utf8_mark" in file utf8.o
> ld: Unsatisfied symbol "PL_InBitmap" in file regcomp.o

$ make regcomp.i
cc -c -DPERL_CORE -D_POSIX_C_SOURCE=3D199506L -D_REENTRANT -Ae +Z -z -D_HPU=
X_SOURCE -Wl,+vnocompatwarnings +DD64 -I/pro/local/include -D_LARGEFILE_SOU=
RCE -D_FILE_OFFSET_BITS=3D64 +O2 +Onolimit -E regcomp.c > regcomp.i
$ grep -w -e PL_utf8_mark -e PL_InBitmap regcomp.i
extern SV * PL_utf8_mark;
extern SV * PL_InBitmap;
        Perl__invlist_union_maybe_complement_2nd(my_perl, invlist,PL_InBitm=
ap,(1),&invlist);
    if (! PL_InBitmap) {
        PL_InBitmap =3D Perl__new_invlist(my_perl, 2);
        PL_InBitmap =3D Perl__add_range_to_invlist(my_perl, PL_InBitmap,0,(=
1 << 8) - 1);
            Perl__invlist_intersection_maybe_complement_2nd(my_perl, *invli=
st_ptr,PL_InBitmap,(1),invlist_ptr);
            Perl__invlist_intersection_maybe_complement_2nd(my_perl, *invli=
st_ptr,PL_InBitmap,(0),invlist_ptr);
    PL_utf8_mark =3D Perl__new_invlist_C_array(my_perl, uni_prop_ptrs[UNI_M=
]);
$ nm *.o|grep utf8_mark
[341]    |                     0|       0|FUNC |GLOB |0|   UNDEF|Perl__is_u=
tf8_mark
[546]    |                     0|      80|FUNC |GLOB |0|   .text|Perl_is_ut=
f8_mark
[361]    |                     0|       0|FUNC |GLOB |0|   UNDEF|Perl__is_u=
tf8_mark
[539]    |                     0|       0|OBJT |GLOB |0|   UNDEF|PL_utf8_ma=
rk
[286]    |                     0|       0|OBJT |GLOB |0|   UNDEF|PL_utf8_ma=
rk
[250]    |                     0|    1552|FUNC |GLOB |0|   .text|Perl__is_u=
tf8_mark

Which is the file that is expected to define it?

Or are those "extern SV * PL_..." expected to be #defines into a
structure? Then why didn't they fire?

--=20
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.29   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/

--Sig_/8aR65clFCZ5LD3C/GPb_H38
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJbZa9SAAoJEAOhR6E+XcCYPIcH/RHKruoYLLW28pal+jSUo4YR
MuFuq9bzdI8pjsu/IeGvsMYz4DYrlYOkFshHtzgL9KdGAEnsRlw4wcVabxcERNQo
tkyYpzNRInelpyqGHi5DY2UGHzxrpqbDEKkZ9S4YoGs2I9yWHRI//fr+cOZm0vX+
GC8q+fwC8iZz88+xyBn7nO1CRKgstCOFQc88DB0WF55Ef3y/e60ymSPOWaAopkTa
rybY3Oh3eQopftmQo7kjqk4ZjwYsV+eS/tppoQs3x+91k2Ka6GIZejB1LgOrul2W
ntyOPf2XPmit51QJgVJMnZy+1/QYbmZhaTBH6JeASPDltdSbS2dSk3RlafPpHEo=
=7Nwl
-----END PGP SIGNATURE-----

--Sig_/8aR65clFCZ5LD3C/GPb_H38--
0
h
8/4/2018 1:51:06 PM
--Sig_/lmcxkD7Moh87+Rj.H+D2a.4
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Sat, 4 Aug 2018 15:51:06 +0200, "H.Merijn Brand"
<h.m.brand@xs4all.nl> wrote:

> > cc: warning 983: The -lc library specified on the command line is also =
added automatically by the compiler driver.
> > ld: Unsatisfied symbol "PL_utf8_mark" in file utf8.o
> > ld: Unsatisfied symbol "PL_InBitmap" in file regcomp.o =20
>=20
> $ make regcomp.i
> cc -c -DPERL_CORE -D_POSIX_C_SOURCE=3D199506L -D_REENTRANT -Ae +Z -z -D_H=
PUX_SOURCE -Wl,+vnocompatwarnings +DD64 -I/pro/local/include -D_LARGEFILE_S=
OURCE -D_FILE_OFFSET_BITS=3D64 +O2 +Onolimit -E regcomp.c > regcomp.i
> $ grep -w -e PL_utf8_mark -e PL_InBitmap regcomp.i
> extern SV * PL_utf8_mark;
> extern SV * PL_InBitmap;

These two stem from perlvars.h

If I remove those two lines from there ...

"regcomp.c", line 21552: error #2020: identifier "PL_utf8_mark" is undefined
      PL_utf8_mark =3D _new_invlist_C_array(uni_prop_ptrs[UNI_M]);
      ^

As to be expected.
How to move from here?

--=20
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.29   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/

--Sig_/lmcxkD7Moh87+Rj.H+D2a.4
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJbZbGTAAoJEAOhR6E+XcCYfOcIAJT3NrDL6LV8JBBr3W46MJWl
sGeWRiNytYoCMFU5RpfGGkEhSSoe1VbZy5zM8Wm+yOTGNDu6DwLqseZ9ZqvP85TO
45LhwFIbs6MlS+c6yo+GOdDZ1xazsNJZrIAk6Bd1/ge9o9H6nXY6TrgB7WSs4vla
SFehpxXbsMBHUfaCrXr8OpwIVdcJrl6byENo8Iazv5OkttzyC412sdUXFUGttDNT
61Jn8E05vgW4oV3wLZhapiyvGB2cTuAQ9gXhlmsuPmVs6bjgG53IUOLJK6RaVv1v
8bwARPHsnR0y9a9HJLOuoAfjSuwfa45qex609eQNo7ISXZVqnE+eTUIciG/y/+E=
=Pfrt
-----END PGP SIGNATURE-----

--Sig_/lmcxkD7Moh87+Rj.H+D2a.4--
0
h
8/4/2018 2:00:42 PM
On 08/04/2018 08:00 AM, H.Merijn Brand wrote:
> On Sat, 4 Aug 2018 15:51:06 +0200, "H.Merijn Brand"
> <h.m.brand@xs4all.nl> wrote:
> 
>>> cc: warning 983: The -lc library specified on the command line is also added automatically by the compiler driver.
>>> ld: Unsatisfied symbol "PL_utf8_mark" in file utf8.o
>>> ld: Unsatisfied symbol "PL_InBitmap" in file regcomp.o
>>
>> $ make regcomp.i
>> cc -c -DPERL_CORE -D_POSIX_C_SOURCE=199506L -D_REENTRANT -Ae +Z -z -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 -I/pro/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +O2 +Onolimit -E regcomp.c > regcomp.i
>> $ grep -w -e PL_utf8_mark -e PL_InBitmap regcomp.i
>> extern SV * PL_utf8_mark;
>> extern SV * PL_InBitmap;
> 
> These two stem from perlvars.h
> 
> If I remove those two lines from there ...
> 
> "regcomp.c", line 21552: error #2020: identifier "PL_utf8_mark" is undefined
>        PL_utf8_mark = _new_invlist_C_array(uni_prop_ptrs[UNI_M]);
>        ^
> 
> As to be expected.
> How to move from here?
> 

On my system:
$ nm --print-file-name *.o|grep utf8_mark
globals.o:00000000000063f8 B PL_utf8_mark
mathoms.o:                 U Perl__is_utf8_mark
mathoms.o:0000000000005309 T Perl_is_utf8_mark
mathoms.o:0000000000001f20 r _ZZ17Perl_is_utf8_markE19__PRETTY_FUNCTION__
pp.o:                 U Perl__is_utf8_mark
regcomp.o:                 U PL_utf8_mark
utf8.o:0000000000006d42 T Perl__is_utf8_mark
utf8.o:                 U PL_utf8_mark
utf8.o:00000000000120e0 r _ZZ18Perl__is_utf8_markE19__PRETTY_FUNCTION__

The question becomes why does your globals.o not have these symbols, and 
mine does?
0
public
8/4/2018 3:02:00 PM
On 08/04/2018 09:02 AM, Karl Williamson wrote:
> On 08/04/2018 08:00 AM, H.Merijn Brand wrote:
>> On Sat, 4 Aug 2018 15:51:06 +0200, "H.Merijn Brand"
>> <h.m.brand@xs4all.nl> wrote:
>>
>>>> cc: warning 983: The -lc library specified on the command line is=20
>>>> also added automatically by the compiler driver.
>>>> ld: Unsatisfied symbol "PL_utf8_mark" in file utf8.o
>>>> ld: Unsatisfied symbol "PL_InBitmap" in file regcomp.o
>>>
>>> $ make regcomp.i
>>> cc -c -DPERL_CORE -D_POSIX_C_SOURCE=3D199506L -D_REENTRANT -Ae +Z -z=20
>>> -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 -I/pro/local/include=20
>>> -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 +O2 +Onolimit -E regcomp=
..c=20
>>> > regcomp.i
>>> $ grep -w -e PL_utf8_mark -e PL_InBitmap regcomp.i
>>> extern SV * PL_utf8_mark;
>>> extern SV * PL_InBitmap;
>>
>> These two stem from perlvars.h
>>
>> If I remove those two lines from there ...
>>
>> "regcomp.c", line 21552: error #2020: identifier "PL_utf8_mark" is=20
>> undefined
>> =A0=A0=A0=A0=A0=A0 PL_utf8_mark =3D _new_invlist_C_array(uni_prop_ptrs=
[UNI_M]);
>> =A0=A0=A0=A0=A0=A0 ^
>>
>> As to be expected.
>> How to move from here?
>>
>=20
> On my system:
> $ nm --print-file-name *.o|grep utf8_mark
> globals.o:00000000000063f8 B PL_utf8_mark
> mathoms.o:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 U Perl__is_u=
tf8_mark
> mathoms.o:0000000000005309 T Perl_is_utf8_mark
> mathoms.o:0000000000001f20 r _ZZ17Perl_is_utf8_markE19__PRETTY_FUNCTION=
__
> pp.o:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 U Perl__is_utf8_m=
ark
> regcomp.o:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 U PL_utf8_ma=
rk
> utf8.o:0000000000006d42 T Perl__is_utf8_mark
> utf8.o:=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 U PL_utf8_mark
> utf8.o:00000000000120e0 r _ZZ18Perl__is_utf8_markE19__PRETTY_FUNCTION__
>=20
> The question becomes why does your globals.o not have these symbols, an=
d=20
> mine does?
>=20

I suggest doing an

ls -l globals.o

to verify that it is of recent vintage, and to make sure it got=20
regenerated, do

make regen

On Tux's HP-UX 11.23 box, I get

$ nm -A *.o|grep utf8_mark
globals.o:PL_utf8_mark|         4|sdef  |common |$SHORTBSS$
pp.o:Perl__is_utf8_mark|          |undef |code   |
regcomp.o:PL_utf8_mark|          |undef |data   |
utf8.o:PL_utf8_mark |          |undef |data   |
utf8.o:Perl__is_utf8_mark|    100876|extern|entry  |$CODE$
0
public
8/4/2018 6:24:33 PM
--Sig_/sP/fT81fk3MZ.rsZE4Ktiy0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Sat, 4 Aug 2018 12:24:33 -0600, Karl Williamson
<public@khwilliamson.com> wrote:

> On 08/04/2018 09:02 AM, Karl Williamson wrote:
> > On 08/04/2018 08:00 AM, H.Merijn Brand wrote: =20
> >> On Sat, 4 Aug 2018 15:51:06 +0200, "H.Merijn Brand"
> >> <h.m.brand@xs4all.nl> wrote:
> >> =20
>  [...] =20
>  [...] =20
>  [...] =20
>  [...] =20
> >>
> >> These two stem from perlvars.h
> >>
> >> If I remove those two lines from there ...
> >>
> >> "regcomp.c", line 21552: error #2020: identifier "PL_utf8_mark" is=20
> >> undefined
> >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PL_utf8_mark =3D _new_invlist_C_a=
rray(uni_prop_ptrs[UNI_M]);
> >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
> >>
> >> As to be expected.
> >> How to move from here?
> >> =20
> >=20
> > On my system:
> > $ nm --print-file-name *.o|grep utf8_mark
> > globals.o:00000000000063f8 B PL_utf8_mark
> > mathoms.o:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 U Perl__is_utf8_mark
> > mathoms.o:0000000000005309 T Perl_is_utf8_mark
> > mathoms.o:0000000000001f20 r _ZZ17Perl_is_utf8_markE19__PRETTY_FUNCTION=
__
> > pp.o:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 U Perl__is_utf8_mark
> > regcomp.o:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 U PL_utf8_mark
> > utf8.o:0000000000006d42 T Perl__is_utf8_mark
> > utf8.o:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 U PL_utf8_mark
> > utf8.o:00000000000120e0 r _ZZ18Perl__is_utf8_markE19__PRETTY_FUNCTION__
> >=20
> > The question becomes why does your globals.o not have these symbols, an=
d=20
> > mine does?
> >  =20
>=20
> I suggest doing an
>=20
> ls -l globals.o
>=20
> to verify that it is of recent vintage, and to make sure it got=20
> regenerated, do

$ nm globals.o | grep PL_utf
[510]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_ch=
arname_begin
[511]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_ch=
arname_continue
[495]    |                    88|       8|OBJT |GLOB |0|  .sdata|PL_utf8_fo=
ldable
[512]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_fo=
ldclosures
[496]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_id=
cont
[497]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_id=
start
[498]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_pe=
rl_idcont
[499]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_pe=
rl_idstart
[508]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_to=
fold
[507]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_to=
lower
[509]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_to=
simplefold
[506]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_to=
title
[505]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_to=
upper
[500]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_xi=
dcont
[501]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf8_xi=
dstart
[400]    |                  1024|     256|OBJT |GLOB |0| .rodata|PL_utf8skip

> make regen
>=20
> On Tux's HP-UX 11.23 box, I get
>=20
> $ nm -A *.o|grep utf8_mark
> globals.o:PL_utf8_mark|         4|sdef  |common |$SHORTBSS$
> pp.o:Perl__is_utf8_mark|          |undef |code   |
> regcomp.o:PL_utf8_mark|          |undef |data   |
> utf8.o:PL_utf8_mark |          |undef |data   |
> utf8.o:Perl__is_utf8_mark|    100876|extern|entry  |$CODE$

--=20
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.29   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/

--Sig_/sP/fT81fk3MZ.rsZE4Ktiy0
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJbZgfWAAoJEAOhR6E+XcCY8zIH/2/EnUDxOTESelbRFLipqbPl
sF6OM60iDJciCHrQqOPda7TATJfMaFWUFx6p8CWOqpS4Jj70oAUYI8glpAYGVZaB
j+cpblJ4K/J5n2x/26KugyUdGeqz8h/Zzrf2Zj72F+tJ4PxRzCVwomlZshpeCW64
QtB7hDPr3dxcMyrQNj1XIDgy8GpKwwUuxe9PGSWcm37aD/r/ObkHSTt96zQPfwbr
nQ1hj3jRb/vAKAal16V6yp7OTbAlJGfg/TEA1pcOWJKs1tHm+w/cr7BvMJszV9QL
A4Xkx52wCoxGGHuXZkIV+pLSdHEcCpXDXFvUjvhaaB5c1v4SqfKEl61VtOFaJOI=
=DceD
-----END PGP SIGNATURE-----

--Sig_/sP/fT81fk3MZ.rsZE4Ktiy0--
0
h
8/4/2018 8:08:43 PM
On 08/04/2018 02:08 PM, H.Merijn Brand wrote:
> On Sat, 4 Aug 2018 12:24:33 -0600, Karl Williamson
> <public@khwilliamson.com> wrote:
>=20
>> On 08/04/2018 09:02 AM, Karl Williamson wrote:
>>> On 08/04/2018 08:00 AM, H.Merijn Brand wrote:
>>>> On Sat, 4 Aug 2018 15:51:06 +0200, "H.Merijn Brand"
>>>> <h.m.brand@xs4all.nl> wrote:
>>>>  =20
>>   [...]
>>   [...]
>>   [...]
>>   [...]
>>>>
>>>> These two stem from perlvars.h
>>>>
>>>> If I remove those two lines from there ...
>>>>
>>>> "regcomp.c", line 21552: error #2020: identifier "PL_utf8_mark" is
>>>> undefined
>>>>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PL_utf8_mark =3D _new_invlist_=
C_array(uni_prop_ptrs[UNI_M]);
>>>>  =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^
>>>>
>>>> As to be expected.
>>>> How to move from here?
>>>>  =20
>>>
>>> On my system:
>>> $ nm --print-file-name *.o|grep utf8_mark
>>> globals.o:00000000000063f8 B PL_utf8_mark
>>> mathoms.o:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 U Perl__is_utf8_mark
>>> mathoms.o:0000000000005309 T Perl_is_utf8_mark
>>> mathoms.o:0000000000001f20 r _ZZ17Perl_is_utf8_markE19__PRETTY_FUNCTI=
ON__
>>> pp.o:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 U Perl__is_utf8_mark
>>> regcomp.o:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 U PL_utf8_mark
>>> utf8.o:0000000000006d42 T Perl__is_utf8_mark
>>> utf8.o:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 U PL_utf8_mark
>>> utf8.o:00000000000120e0 r _ZZ18Perl__is_utf8_markE19__PRETTY_FUNCTION=
__
>>>
>>> The question becomes why does your globals.o not have these symbols, =
and
>>> mine does?
>>>   =20
>>
>> I suggest doing an
>>
>> ls -l globals.o
>>
>> to verify that it is of recent vintage, and to make sure it got
>> regenerated, do
>=20
> $ nm globals.o | grep PL_utf
> [510]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_charname_begin
> [511]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_charname_continue
> [495]    |                    88|       8|OBJT |GLOB |0|  .sdata|PL_utf=
8_foldable
> [512]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_foldclosures
> [496]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_idcont
> [497]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_idstart
> [498]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_perl_idcont
> [499]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_perl_idstart
> [508]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_tofold
> [507]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_tolower
> [509]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_tosimplefold
> [506]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_totitle
> [505]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_toupper
> [500]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_xidcont
> [501]    |                     8|       8|OBJT |GLOB |0| ANSI CO|PL_utf=
8_xidstart
> [400]    |                  1024|     256|OBJT |GLOB |0| .rodata|PL_utf=
8skip
>=20

And on 11.23,
$ nm globals.o|grep PL_utf
PL_utf8_charname_begin|         4|sdef  |common |$SHORTBSS$
PL_utf8_charname_continue|         4|sdef  |common |$SHORTBSS$
PL_utf8_foldable    |1073755768|extern|data   |$SHORTDATA$
PL_utf8_foldclosures|         4|sdef  |common |$SHORTBSS$
PL_utf8_idcont      |         4|sdef  |common |$SHORTBSS$
PL_utf8_idstart     |         4|sdef  |common |$SHORTBSS$
PL_utf8_mark        |         4|sdef  |common |$SHORTBSS$
PL_utf8_perl_idcont |         4|sdef  |common |$SHORTBSS$
PL_utf8_perl_idstart|         4|sdef  |common |$SHORTBSS$
PL_utf8_tofold      |         4|sdef  |common |$SHORTBSS$
PL_utf8_tolower     |         4|sdef  |common |$SHORTBSS$
PL_utf8_tosimplefold|         4|sdef  |common |$SHORTBSS$
PL_utf8_totitle     |         4|sdef  |common |$SHORTBSS$
PL_utf8_toupper     |         4|sdef  |common |$SHORTBSS$
PL_utf8_xidcont     |         4|sdef  |common |$SHORTBSS$
PL_utf8_xidstart    |         4|sdef  |common |$SHORTBSS$
PL_utf8skip         |     57672|extern|data   |$LIT$

If I grep the relevant source lines for utf8_mark and=20
utf8_charname_continue, I get

../perlvars.h:305:PERLVAR(G, utf8_charname_continue, SV *)
  ./perlvars.h:306:PERLVAR(G, utf8_mark,  SV *)
  ./embedvar.h:468:#define PL_utf8_charname_continue=20
(my_vars->Gutf8_charnam e_continue)
  ./embedvar.h:469:#define PL_Gutf8_charname_continue=20
(my_vars->Gutf8_charnam e_continue)
  ./embedvar.h:478:#define PL_utf8_mark           (my_vars->Gutf8_mark)
  ./embedvar.h:479:#define PL_Gutf8_mark          (my_vars->Gutf8_mark)
   ./perlapi.h:216:#undef  PL_utf8_charname_continue
  ./perlapi.h:217:#define PL_utf8_charname_continue=20
(*Perl_Gutf8_charname_c ontinue_ptr(NULL))
  ./perlapi.h:226:#undef  PL_utf8_mark
  ./perlapi.h:227:#define PL_utf8_mark=20
(*Perl_Gutf8_mark_ptr(NULL))

You see that the definition in perlvars.h for utf8_charname_continue and=20
utf8_mark are adjacent.  The rest are generated files and indicate that=20
there's no difference between these two variables.  But one is in=20
globals.o and the other isn't.


>> make regen
>>
>> On Tux's HP-UX 11.23 box, I get
>>
>> $ nm -A *.o|grep utf8_mark
>> globals.o:PL_utf8_mark|         4|sdef  |common |$SHORTBSS$
>> pp.o:Perl__is_utf8_mark|          |undef |code   |
>> regcomp.o:PL_utf8_mark|          |undef |data   |
>> utf8.o:PL_utf8_mark |          |undef |data   |
>> utf8.o:Perl__is_utf8_mark|    100876|extern|entry  |$CODE$
>=20
0
public
8/4/2018 8:56:09 PM
--Sig_/BFtTXRmv=f3MkLHQIIjfoqK
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

On Thu, 2 Aug 2018 16:16:36 +0200, "H.Merijn Brand"
<h.m.brand@xs4all.nl> wrote:

> cc -L/pro/local/lib +DD64 -L/usr/lib/hpux64 -o miniperl \
>             opmini.o perlmini.o  gv.o toke.o perly.o pad.o regcomp.o dump=
..o util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o=
 pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.=
o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_=
pack.o pp_sort.o caretx.o dquote.o time64.o  miniperlmain.o  -lcl -lpthread=
 -lnsl -ldl -lm -lsec -lc
> cc: warning 983: The -lc library specified on the command line is also ad=
ded automatically by the compiler driver.
> ld: Unsatisfied symbol "PL_utf8_mark" in file utf8.o
> ld: Unsatisfied symbol "PL_InBitmap" in file regcomp.o

Fixed in

commit f523f78b0475f738f029d4996ceb346d3c413975 (HEAD -> blead, origin/blea=
d, origin/HEAD)
Author: H.Merijn Brand <h.m.brand@xs4all.nl>
Date:   Sun Aug 5 09:56:10 2018 +0200

    The HP-UX optimizer fails again (on Itanium only this time)

--=20
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.29   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/

--Sig_/BFtTXRmv=f3MkLHQIIjfoqK
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJbZrCVAAoJEAOhR6E+XcCYN2oH/RZMDJCErhkA8KTi3a/1FfSZ
VQEBx4AgQC7sqDnsoZjIMPIXf0b9OKR8mlBjA6GMFmaBcDt9kmGG+Rruy3WFeFXq
xyaXEuiW1fCy09wQI6QLa8lgeYSZnpPm5r8qlrbY06FExErm+6KhKvO1pw5oDJzt
OCofh4XJkRdz4qdvZpiKU+T0rnK3vrgSEkcSHdMvzZfqybOT7LPa0TIuidsaMzK1
PAJY/BNmZnDG8yx3AN4sjsYB20e73p49J0bUgRRfyjLV023OSFaorkKaHaACj3/u
7FGU9YclSWpicNsmGpdjWuT0uor7dHjNvmzD1z1vQapmTydFti4ANnwmkVqz0Jk=
=fKbq
-----END PGP SIGNATURE-----

--Sig_/BFtTXRmv=f3MkLHQIIjfoqK--
0
h
8/5/2018 8:08:45 AM
Reply: