This page was produced by an automated import process, and may have formatting errors; feel free to fix.

shared libraries

AIX Shared Library Support

Shared library support on AIX is based on reading some data provided by the loader. With a live process, this information is accessed via a ptrace call (PT_LDINFO), while it is obtained by reading the ‘.ldinfo’ section when debugging from a core file. In both cases, the data has the same format, provided by the sys/ldr.h system header file.

Internally, the relevant portions of the loader information is transformed into an XML representation, which lists all objects currently mapped in memory. The associated DTD can be found in gdb/features/library-list-aix.dtd. For each library element, the following parameters are reported:

By convention, the library list always has at least one element, and the first entry always refers to the main executable.

Below is an example of such XML representation for a small program:

<library-list-aix version="1.0">
  <library name="simple"
           text_addr="0x0000000010000000"
           text_size="128720"
           data_addr="0x0000000020000f00"
           data_size="31148">
  </library>
  <library name="/lib/libc.a"
           member="shr.o"
           text_addr="0x00000000d0100700"
           text_size="4152684"
           data_addr="0x00000000f0633e50"
           data_size="875944">
  </library>
</library-list-aix>

In that example, the list shows that the main executable is named simple, and its text section was loaded at 0x10000000. This program depends on member shr.o from the /lib/libc.a archive, whose text and data sections were loaded at (resp.) 0xd0100700 and 0xf0633e50.

None: Internals shared-libraries (last edited 2013-08-20 23:42:03 by StanShebs)

All content (C) 2008 Free Software Foundation. For terms of use, redistribution, and modification, please see the WikiLicense page.