Re: Stripped v Debug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Fri, Sep 11, 2009 at 7:39 AM, Adrian Cornish <adrianc@xxxxxxx> wrote:
Hi All,

Please excuse me if this is incorrect list.

How/where should I look in kernel source to see how Linux loads binaries
and whether debug symbols are using physical RAM if they are included in
executable.

Or is kernel smart enough to skip all debug symbols and only load needed
Text page into ram.




I dont think theres "smarts" in there, so much as the kernel
just doing what the ELF contents tell it.

heres some sections from my local perl binary,
which I built with -DDEBUGGING

While not actually knowing, Id expect the usual dynamic linking mechanics would also pull in the debugging symbols

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .interp           PROGBITS        08048134 000134 000013 00   A  0   0  1
  [ 2] .note.ABI-tag     NOTE            08048148 000148 000020 00   A  0   0  4
  [ 3] .note.gnu.build-i NOTE            08048168 000168 000024 00   A  0   0  4
  [ 4] .gnu.hash         GNU_HASH        0804818c 00018c 003800 04   A  5   0  4
  [ 9] .rel.dyn          REL             0805e870 016870 000028 08   A  5   0  4
  [10] .rel.plt          REL             0805e898 016898 000768 08   A  5  12  4
  [11] .init             PROGBITS        0805f000 017000 000030 00  AX  0   0  4
  [12] .plt              PROGBITS        0805f030 017030 000ee0 04  AX  0   0  4
  [13] .text             PROGBITS        0805ff10 017f10 1a8afc 00  AX  0   0 16
  [14] .fini             PROGBITS        08208a0c 1c0a0c 00001c 00  AX  0   0  4
  [15] .rodata           PROGBITS        08208a40 1c0a40 08f070 00   A  0     [21] .dynamic          DYNAMIC         082ac018 264018 0000f8 08  WA  6   0  4
  [22] .got              PROGBITS        082ac110 264110 000004 04  WA  0   0  4
  [23] .got.plt          PROGBITS        082ac114 264114 0003c0 04  WA  0   0  4
  [24] .data             PROGBITS        082ac4e0 2644e0 001594 00  WA  0   0 32
  [25] .bss              NOBITS          082ada80 265a74 00013c 00  WA  0   0 32
  [26] .comment          PROGBITS        00000000 265a74 0007e9 00      0   0  1
  [27] .debug_aranges    PROGBITS        00000000 26625d 0004c0 00      0   0  1
  [28] .debug_pubnames   PROGBITS        00000000 26671d 00a93f 00      0   0  1
  [29] .debug_info       PROGBITS        00000000 27105c 159666 00      0   0  1
  [30] .debug_abbrev     PROGBITS        00000000 3ca6c2 00a4ac 00      0   0  1
  [31] .debug_line       PROGBITS        00000000 3d4b6e 031374 00      0   0  1
  [32] .debug_str        PROGBITS        00000000 405ee2 014e54 01  MS  0   0  1
  [33] .debug_loc        PROGBITS        00000000 41ad36 0d3aca 00      0   0  1
  [34] .debug_ranges     PROGBITS        00000000 4ee800 0393a8 00      0   0  1

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux