Differences between revisions 1 and 2
Revision 1 as of 2008-03-05 23:13:31
Size: 229
Comment:
Revision 2 as of 2008-03-06 04:12:52
Size: 808
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
'''If a shared library is built using a GCC that had an overridden rpath you'll see something like the following''' ''If a shared library or application is built:''
 * ''
using a GCC that had an overridden rpath and dynamic-linker hardcoded''
 * ''and passed the -rpath flag and -dynamic-linker flags''
''
you'll see the following information (64-bit example):''
Line 6: Line 9:
  INTERP 0x0000000000000238 0x0000000010000238 0x0000000010000238
                 0x0000000000000045 0x0000000000000045 R 1
      [Requesting program interpreter: /lib64/ld64]
Line 7: Line 13:

''you'll see the following information (32-bit example):''
{{{
 > readelf -l <application> | grep INTERP -A 1
  INTERP 0x113240 0x00113240 0x00113240 0x00013 0x00013 R 0x1
      [Requesting program interpreter: /lib/ld-linux.so.2]
}}}

What loader is this library configured to use?

If a shared library or application is built:

  • using a GCC that had an overridden rpath and dynamic-linker hardcoded

  • and passed the -rpath flag and -dynamic-linker flags

you'll see the following information (64-bit example):

 > readelf -l <application> | grep INTERP -A 2
  INTERP         0x0000000000000238 0x0000000010000238 0x0000000010000238
                 0x0000000000000045 0x0000000000000045  R      1
      [Requesting program interpreter: /lib64/ld64]

you'll see the following information (32-bit example):

 > readelf -l <application> | grep INTERP -A 1
  INTERP         0x113240 0x00113240 0x00113240 0x00013 0x00013 R   0x1
      [Requesting program interpreter: /lib/ld-linux.so.2]

None: Tips_and_Tricks/Loader_Tips_and_Tricks (last edited 2008-03-06 04:12:52 by RyanScottArnold)