Skip to content

Instantly share code, notes, and snippets.

@gunyarakun
Last active May 6, 2019 15:51
Show Gist options
  • Save gunyarakun/5089480 to your computer and use it in GitHub Desktop.
Save gunyarakun/5089480 to your computer and use it in GitHub Desktop.
Xslate dump fails
cpanm -L local --installdeps Text::Xslate
objdump --all-headers /home/suenaga.tasuku/sg-gunyasif/local/lib/perl5/x86_64-linux/auto/Data/Dumper/Dumper.so
====
Dumper.so: file format elf64-x86-64
Dumper.so
architecture: i386:x86-64, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x0000000000001f50
Program Header:
LOAD off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**21
filesz 0x00000000000076bc memsz 0x00000000000076bc flags r-x
LOAD off 0x00000000000076c0 vaddr 0x00000000002076c0 paddr 0x00000000002076c0 align 2**21
filesz 0x00000000000004c8 memsz 0x00000000000004d8 flags rw-
DYNAMIC off 0x0000000000007710 vaddr 0x0000000000207710 paddr 0x0000000000207710 align 2**3
filesz 0x0000000000000180 memsz 0x0000000000000180 flags rw-
NOTE off 0x0000000000000190 vaddr 0x0000000000000190 paddr 0x0000000000000190 align 2**2
filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--
EH_FRAME off 0x0000000000007498 vaddr 0x0000000000007498 paddr 0x0000000000007498 align 2**2
filesz 0x000000000000004c memsz 0x000000000000004c flags r--
STACK off 0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
Dynamic Section:
NEEDED libc.so.6
INIT 0x0000000000001ac0
FINI 0x0000000000007138
GNU_HASH 0x00000000000001b8
STRTAB 0x0000000000000b40
SYMTAB 0x00000000000001f8
STRSZ 0x0000000000000588
SYMENT 0x0000000000000018
PLTGOT 0x0000000000207940
PLTRELSZ 0x0000000000000690
PLTREL 0x0000000000000007
JMPREL 0x0000000000001430
RELA 0x00000000000011c0
RELASZ 0x0000000000000270
RELAENT 0x0000000000000018
VERNEED 0x0000000000001190
VERNEEDNUM 0x0000000000000001
VERSYM 0x00000000000010c8
RELACOUNT 0x0000000000000004
Version References:
required from libc.so.6:
0x0d696914 0x00 03 GLIBC_2.4
0x09691a75 0x00 02 GLIBC_2.2.5
Sections:
Idx Name Size VMA LMA File off Algn
0 .note.gnu.build-id 00000024 0000000000000190 0000000000000190 00000190 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
1 .gnu.hash 00000040 00000000000001b8 00000000000001b8 000001b8 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
2 .dynsym 00000948 00000000000001f8 00000000000001f8 000001f8 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
3 .dynstr 00000588 0000000000000b40 0000000000000b40 00000b40 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
4 .gnu.version 000000c6 00000000000010c8 00000000000010c8 000010c8 2**1
CONTENTS, ALLOC, LOAD, READONLY, DATA
5 .gnu.version_r 00000030 0000000000001190 0000000000001190 00001190 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
6 .rela.dyn 00000270 00000000000011c0 00000000000011c0 000011c0 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
7 .rela.plt 00000690 0000000000001430 0000000000001430 00001430 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
8 .init 00000018 0000000000001ac0 0000000000001ac0 00001ac0 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
9 .plt 00000470 0000000000001ad8 0000000000001ad8 00001ad8 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
10 .text 000051e8 0000000000001f50 0000000000001f50 00001f50 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
11 .fini 0000000e 0000000000007138 0000000000007138 00007138 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
12 .rodata 00000348 0000000000007150 0000000000007150 00007150 2**4
CONTENTS, ALLOC, LOAD, READONLY, DATA
13 .eh_frame_hdr 0000004c 0000000000007498 0000000000007498 00007498 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
14 .eh_frame 000001d4 00000000000074e8 00000000000074e8 000074e8 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
15 .ctors 00000010 00000000002076c0 00000000002076c0 000076c0 2**3
CONTENTS, ALLOC, LOAD, DATA
16 .dtors 00000010 00000000002076d0 00000000002076d0 000076d0 2**3
CONTENTS, ALLOC, LOAD, DATA
17 .jcr 00000008 00000000002076e0 00000000002076e0 000076e0 2**3
CONTENTS, ALLOC, LOAD, DATA
18 .data.rel.ro 00000020 00000000002076f0 00000000002076f0 000076f0 2**4
CONTENTS, ALLOC, LOAD, DATA
19 .dynamic 00000180 0000000000207710 0000000000207710 00007710 2**3
CONTENTS, ALLOC, LOAD, DATA
20 .got 000000b0 0000000000207890 0000000000207890 00007890 2**3
CONTENTS, ALLOC, LOAD, DATA
21 .got.plt 00000248 0000000000207940 0000000000207940 00007940 2**3
CONTENTS, ALLOC, LOAD, DATA
22 .bss 00000010 0000000000207b88 0000000000207b88 00007b88 2**3
ALLOC
23 .comment 0000002c 0000000000000000 0000000000000000 00007b88 2**0
CONTENTS, READONLY
SYMBOL TABLE:
0000000000000190 l d .note.gnu.build-id 0000000000000000 .note.gnu.build-id
00000000000001b8 l d .gnu.hash 0000000000000000 .gnu.hash
00000000000001f8 l d .dynsym 0000000000000000 .dynsym
0000000000000b40 l d .dynstr 0000000000000000 .dynstr
00000000000010c8 l d .gnu.version 0000000000000000 .gnu.version
0000000000001190 l d .gnu.version_r 0000000000000000 .gnu.version_r
00000000000011c0 l d .rela.dyn 0000000000000000 .rela.dyn
0000000000001430 l d .rela.plt 0000000000000000 .rela.plt
0000000000001ac0 l d .init 0000000000000000 .init
0000000000001ad8 l d .plt 0000000000000000 .plt
0000000000001f50 l d .text 0000000000000000 .text
0000000000007138 l d .fini 0000000000000000 .fini
0000000000007150 l d .rodata 0000000000000000 .rodata
0000000000007498 l d .eh_frame_hdr 0000000000000000 .eh_frame_hdr
00000000000074e8 l d .eh_frame 0000000000000000 .eh_frame
00000000002076c0 l d .ctors 0000000000000000 .ctors
00000000002076d0 l d .dtors 0000000000000000 .dtors
00000000002076e0 l d .jcr 0000000000000000 .jcr
00000000002076f0 l d .data.rel.ro 0000000000000000 .data.rel.ro
0000000000207710 l d .dynamic 0000000000000000 .dynamic
0000000000207890 l d .got 0000000000000000 .got
0000000000207940 l d .got.plt 0000000000000000 .got.plt
0000000000207b88 l d .bss 0000000000000000 .bss
0000000000000000 l d .comment 0000000000000000 .comment
0000000000001f50 l F .text 0000000000000000 call_gmon_start
0000000000000000 l df *ABS* 0000000000000000 crtstuff.c
00000000002076c0 l O .ctors 0000000000000000 __CTOR_LIST__
00000000002076d0 l O .dtors 0000000000000000 __DTOR_LIST__
00000000002076e0 l O .jcr 0000000000000000 __JCR_LIST__
0000000000001f70 l F .text 0000000000000000 __do_global_dtors_aux
0000000000207b88 l O .bss 0000000000000001 completed.6347
0000000000207b90 l O .bss 0000000000000008 dtor_idx.6349
0000000000001ff0 l F .text 0000000000000000 frame_dummy
0000000000000000 l df *ABS* 0000000000000000 crtstuff.c
00000000002076c8 l O .ctors 0000000000000000 __CTOR_END__
00000000000076b8 l O .eh_frame 0000000000000000 __FRAME_END__
00000000002076e0 l O .jcr 0000000000000000 __JCR_END__
0000000000007100 l F .text 0000000000000000 __do_global_ctors_aux
0000000000000000 l df *ABS* 0000000000000000 Dumper.c
0000000000005a30 l F .text 00000000000016c7 XS_Data__Dumper_Dumpxs
00000000000022f0 l F .text 00000000000000ec XS_Data__Dumper__vstring
00000000000023e0 l F .text 00000000000000fe sv_x
00000000000024e0 l F .text 0000000000000084 needs_quote
0000000000002580 l F .text 00000000000002d8 esc_q_utf8
0000000000002860 l F .text 00000000000031c8 DD_dump
00000000002076f0 l O .data.rel.ro 0000000000000018 entries.13844
0000000000007480 l O .rodata 0000000000000018 sizes.13845
0000000000207940 l O *ABS* 0000000000000000 _GLOBAL_OFFSET_TABLE_
0000000000207708 l O .data.rel.ro 0000000000000000 __dso_handle
00000000002076d8 l O .dtors 0000000000000000 __DTOR_END__
0000000000207710 l O *ABS* 0000000000000000 _DYNAMIC
0000000000000000 *UND* 0000000000000000 Perl_instr
0000000000000000 *UND* 0000000000000000 isWORDCHAR
0000000000000000 *UND* 0000000000000000 Perl_hv_iterinit
0000000000000000 *UND* 0000000000000000 Perl_mg_get
0000000000000000 *UND* 0000000000000000 Perl_gv_fetchmeth
0000000000000000 *UND* 0000000000000000 Perl_sv_setiv
0000000000000000 *UND* 0000000000000000 Perl_sv_free
0000000000000000 *UND* 0000000000000000 Perl_av_len
0000000000000000 F *UND* 0000000000000000 snprintf@@GLIBC_2.2.5
0000000000000000 *UND* 0000000000000000 Perl_warn
0000000000000000 *UND* 0000000000000000 Perl_get_sv
0000000000000000 *UND* 0000000000000000 PL_unitcheckav
0000000000000000 w *UND* 0000000000000000 __gmon_start__
0000000000000000 w *UND* 0000000000000000 _Jv_RegisterClasses
0000000000000000 *UND* 0000000000000000 Perl_hv_iternext_flags
0000000000000000 *UND* 0000000000000000 Perl_save_int
0000000000000000 *UND* 0000000000000000 Perl_utf8_to_uvchr
0000000000000000 *UND* 0000000000000000 Perl_scan_vstring
0000000000007138 g F .fini 0000000000000000 _fini
0000000000000000 *UND* 0000000000000000 Perl_sv_insert_flags
0000000000000000 *UND* 0000000000000000 Perl_av_clear
0000000000000000 *UND* 0000000000000000 Perl_sv_catpvf
0000000000000000 *UND* 0000000000000000 Perl_call_list
0000000000000000 *UND* 0000000000000000 Perl_sv_catpvn_flags
0000000000000000 *UND* 0000000000000000 Perl_sv_2mortal
0000000000000000 *UND* 0000000000000000 PL_compiling
0000000000000000 *UND* 0000000000000000 Perl_vstringify
0000000000000000 *UND* 0000000000000000 Perl_form
0000000000000000 *UND* 0000000000000000 Perl_free_tmps
0000000000000000 *UND* 0000000000000000 PL_stack_sp
0000000000000000 *UND* 0000000000000000 Perl_newSVsv
0000000000000000 *UND* 0000000000000000 Perl_sv_cmp
0000000000000000 *UND* 0000000000000000 PL_op
0000000000000000 *UND* 0000000000000000 Perl_vcmp
0000000000000000 F *UND* 0000000000000000 strlen@@GLIBC_2.2.5
0000000000000000 *UND* 0000000000000000 PL_markstack_max
0000000000000000 w F *UND* 0000000000000000 __cxa_finalize@@GLIBC_2.2.5
0000000000000000 F *UND* 0000000000000000 sprintf@@GLIBC_2.2.5
0000000000000000 *UND* 0000000000000000 PL_markstack_ptr
0000000000000000 *UND* 0000000000000000 Perl_newXS_flags
0000000000002570 g F .text 0000000000000008 Perl_utf8_to_uvchr_buf
0000000000000000 *UND* 0000000000000000 Perl_pop_scope
0000000000000000 *UND* 0000000000000000 PL_errgv
0000000000000000 *UND* 0000000000000000 PL_sv_yes
0000000000000000 *UND* 0000000000000000 Perl_call_sv
0000000000000000 *UND* 0000000000000000 Perl_sv_setsv_flags
0000000000000000 *UND* 0000000000000000 Perl_sv_setpvn
0000000000000000 *UND* 0000000000000000 Perl_sv_free2
0000000000000000 *UND* 0000000000000000 PL_sv_undef
0000000000000000 *UND* 0000000000000000 Perl_stack_grow
0000000000000000 *UND* 0000000000000000 Perl_sv_newmortal
0000000000000000 *UND* 0000000000000000 Perl_av_fetch
0000000000000000 *UND* 0000000000000000 PL_curcop
0000000000000000 F *UND* 0000000000000000 memcpy@@GLIBC_2.2.5
0000000000000000 *UND* 0000000000000000 Perl_sv_eq
0000000000000000 *UND* 0000000000000000 Perl_sv_catsv_flags
0000000000000000 *UND* 0000000000000000 Perl_call_method
0000000000000000 *UND* 0000000000000000 PL_tmps_floor
0000000000000000 *UND* 0000000000000000 Perl_hv_iterkeysv
0000000000207b88 g *ABS* 0000000000000000 __bss_start
0000000000000000 F *UND* 0000000000000000 __stack_chk_fail@@GLIBC_2.4
0000000000000000 *UND* 0000000000000000 Perl_newSViv
0000000000000000 *UND* 0000000000000000 Perl_hv_common_key_len
0000000000000000 *UND* 0000000000000000 Perl_hv_iterval
0000000000000000 F *UND* 0000000000000000 strcpy@@GLIBC_2.2.5
0000000000000000 *UND* 0000000000000000 Perl_sv_cmp_locale
0000000000000000 *UND* 0000000000000000 Perl_mg_find
0000000000002020 g F .text 00000000000002cb boot_Data__Dumper
0000000000000000 *UND* 0000000000000000 Perl_sv_grow
0000000000207b98 g *ABS* 0000000000000000 _end
0000000000000000 *UND* 0000000000000000 Perl_safesysmalloc
0000000000000000 *UND* 0000000000000000 Perl_newSVpv
0000000000000000 *UND* 0000000000000000 PL_scopestack_ix
0000000000000000 *UND* 0000000000000000 Perl_av_push
0000000000000000 *UND* 0000000000000000 Perl_sv_2iv_flags
0000000000000000 *UND* 0000000000000000 PL_tmps_ix
0000000000000000 *UND* 0000000000000000 PL_stack_max
0000000000000000 *UND* 0000000000000000 Perl_croak_xs_usage
0000000000000000 *UND* 0000000000000000 Perl_new_version
0000000000000000 *UND* 0000000000000000 Perl_croak
0000000000000000 *UND* 0000000000000000 Perl_safesysfree
0000000000000000 *UND* 0000000000000000 Perl_push_scope
0000000000000000 *UND* 0000000000000000 PL_hints
0000000000207b88 g *ABS* 0000000000000000 _edata
0000000000000000 *UND* 0000000000000000 Perl_newSV_type
0000000000000000 *UND* 0000000000000000 Perl_sortsv
0000000000000000 *UND* 0000000000000000 Perl_sv_2bool
0000000000000000 *UND* 0000000000000000 Perl_sv_derived_from
0000000000000000 *UND* 0000000000000000 Perl_newSVpvn
0000000000000000 *UND* 0000000000000000 Perl_markstack_grow
0000000000000000 *UND* 0000000000000000 PL_stack_base
0000000000000000 *UND* 0000000000000000 Perl_newRV
0000000000001ac0 g F .init 0000000000000000 _init
0000000000000000 *UND* 0000000000000000 Perl_sv_backoff
0000000000000000 *UND* 0000000000000000 Perl_dowantarray
0000000000000000 *UND* 0000000000000000 Perl_sv_2pv_flags
0000000000000000 *UND* 0000000000000000 PL_utf8skip
Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
Platform:
osname=linux, osvers=2.6.32-220.17.1.el6.x86_64, archname=x86_64-linux
uname='linux gwdev5722 2.6.32-220.17.1.el6.x86_64 #1 smp wed may 16 00:01:37 bst 2012 x86_64 x86_64 x86_64 gnulinux '
config_args='-de -Dprefix=/home/suenaga.tasuku/perl5/perlbrew/perls/perl-5.10.1 -Aeval:scriptdir=/home/suenaga.tasuku/perl5/perlbrew/perls/perl-5.10.1/bin'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.4.6 20110731 (Red Hat 4.4.6-3)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /lib/../lib64 /usr/lib/../lib64 /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
libs=-lnsl -lgdbm -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.12.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.12'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_ALL
USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO
Built under linux
Compiled at Mar 5 2013 19:01:38
%ENV:
PERLBREW_BASHRC_VERSION="0.59"
PERLBREW_HOME="/home/suenaga.tasuku/.perlbrew"
PERLBREW_MANPATH="/home/suenaga.tasuku/perl5/perlbrew/perls/perl-5.10.1/man"
PERLBREW_PATH="/home/suenaga.tasuku/perl5/perlbrew/bin:/home/suenaga.tasuku/perl5/perlbrew/perls/perl-5.10.1/bin"
PERLBREW_PERL="perl-5.10.1"
PERLBREW_ROOT="/home/suenaga.tasuku/perl5/perlbrew"
PERLBREW_VERSION="0.59"
@INC:
/home/suenaga.tasuku/perl5/perlbrew/perls/perl-5.10.1/lib/5.10.1/x86_64-linux
/home/suenaga.tasuku/perl5/perlbrew/perls/perl-5.10.1/lib/5.10.1
/home/suenaga.tasuku/perl5/perlbrew/perls/perl-5.10.1/lib/site_perl/5.10.1/x86_64-linux
/home/suenaga.tasuku/perl5/perlbrew/perls/perl-5.10.1/lib/site_perl/5.10.1
.
$VAR1 = {
'ab' => 'c'
};
perl: symbol lookup error: /home/suenaga.tasuku/sg-gunyasif/local/lib/perl5/x86_64-linux/auto/Data/Dumper/Dumper.so: undefined symbol: isWORDCHAR
use strict;
use warnings;
use Data::Dumper;
use Text::Xslate;
my $tx = Text::Xslate->new({
syntax => 'TTerse'
});
my $template = <<TMPL;
[% value | dump %]
TMPL
my $value = +{
'ab' => 'c',
};
print Dumper($value);
my $ret = $tx->render_string($template, +{
value => $value,
});
print $ret;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment