Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jul 2013 00:56:04 -0700
From:      Shrikanth Kamath <shrikanth07@gmail.com>
To:        freebsd-hackers@freebsd.org
Subject:   Symbols in symtab reordered between module.kld and module.ko?
Message-ID:  <CAEOAkMUbRW_1SHZ4L66%2BRec%2B%2BRx=Eq%2BZ27_=ZANO7q_LcXXXOg@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
I am comparing the readelf -s snapshot from module.kld and module.ko
for a module build  in a cross compiler FreeBSD 10 environment,

Do the symbols in symtab get reordered between module.kld and
module.ko, as an example

readelf -s module.kld we pick 2 symbols
  2651: 000b8230    74 FUNC    GLOBAL DEFAULT    1 prison_equal_ip6
  2652: 00030140  3318 FUNC    GLOBAL DEFAULT    1 ip_output

Compare them with readelf -s from module.ko
  2558: 0007a6d0  3318 FUNC    GLOBAL DEFAULT    5 ip_output
  2559: 001027c0    74 FUNC    GLOBAL DEFAULT    5 prison_equal_ip6

So the symbol ip_output appears after prison_equal_ip6 in module.kld
but appears before it in module.ko. The problem is this is affecting
the DTrace FBT probing, running FBT probe of ip_output shows as having
arguments of prison_equal_ip6.

The way module.ko is being derived from module.kld is
ld -m elf_i386 -Bshareable --verbose  -o module.ko.debug module.kld

How can I suppress this re-ordering?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAEOAkMUbRW_1SHZ4L66%2BRec%2B%2BRx=Eq%2BZ27_=ZANO7q_LcXXXOg>