Next Perl update, and plans beyo nd…

Chris H bsd-lists at bsdforge.com
Tue Dec 9 17:31:46 UTC 2014


On Tue, 09 Dec 2014 18:02:23 +0100 Mathieu Arnold <mat at FreeBSD.org> wrote

> +--On 9 décembre 2014 08:53:13 -0800 Chris H <bsd-lists at bsdforge.com>
> wrote:
> |> $ readelf -d
> |> /usr/local/lib/perl5/site_perl/mach/5.18/auto/DateTime/DateTime.so|grep
> |> perl $
> |> 
> |> So what the patch[1] does, is force linking with libperl.so.x.yy.  After
> |> the patch, a compiled Perl module will look like this:
> |> 
> |> $ readelf -d
> |> /usr/local/lib/perl5/site_perl/mach/5.18/auto/DateTime/DateTime.so | grep
> |> perl  0x0000000000000001 (NEEDED)             Shared library:
> |> [libperl.so.5.18]  0x000000000000000f (RPATH)              Library rpath:
> |> [/usr/local/lib/perl5/5.18/mach/CORE]  0x000000000000001d (RUNPATH)
> |>  Library runpath: [/usr/local/lib/perl5/5.18/mach/CORE] $
> | Apologies if I seem a bit obtuse. But as I read this, it appears
> | that Perl modules go from being text based (DateTime.pm) to becoming
> | compiled?
> | I *must* be missing something obvious.
> 
> Huhu, yes, DateTime.so is already compiled:
> $ readelf -d
> /usr/local/lib/perl5/site_perl/mach/5.18/auto/DateTime/DateTime.so
> 
> Dynamic section at offset 0x3d70 contains 21 entries:
>   Tag        Type                         Name/Value
>  0x0000000000000001 (NEEDED)             Shared library: [libc.so.7]
>  0x000000000000000c (INIT)               0x958
>  0x000000000000000d (FINI)               0x3878
>  0x0000000000000004 (HASH)               0x158
>  0x000000006ffffef5 (GNU_HASH)           0x218
>  0x0000000000000005 (STRTAB)             0x518
>  0x0000000000000006 (SYMTAB)             0x260
>  0x000000000000000a (STRSZ)              446 (bytes)
>  0x000000000000000b (SYMENT)             24 (bytes)
>  0x0000000000000003 (PLTGOT)             0x203f28
>  0x0000000000000002 (PLTRELSZ)           384 (bytes)
>  0x0000000000000014 (PLTREL)             REAL
>  0x0000000000000017 (JMPREL)             0x7d8
>  0x0000000000000007 (REAL)               0x730
>  0x0000000000000008 (RELASZ)             168 (bytes)
>  0x0000000000000009 (RELAENT)            24 (bytes)
>  0x000000006ffffffe (VERNEED)            0x710
>  0x000000006fffffff (VERNEEDNUM)         1
>  0x000000006ffffff0 (VERSYM)             0x6d6
>  0x000000006ffffff9 (RELACOUNT)          2
>  0x0000000000000000 (NULL)               0x0
> 
> But it's not linked with libperl.so right now.
Ugh. Sorry. I *clearly* didn't think it through. I didn't
examine the paths close enough. Of *course* the libs are
there.
Again, sorry, and thank you very much for taking the time
to reply.

--Chris

> 
> -- 
> Mathieu Arnold




More information about the freebsd-ports mailing list