This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug dynamic-link/14831] [Regression] Segfault in _dl_profile_fixup with IRELATIVE and LD_AUDIT


http://sourceware.org/bugzilla/show_bug.cgi?id=14831

Alexander Monakov <amonakov at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Attachment #6728|0                           |1
        is obsolete|                            |

--- Comment #2 from Alexander Monakov <amonakov at gmail dot com> 2012-11-13 19:10:13 UTC ---
Created attachment 6732
  --> http://sourceware.org/bugzilla/attachment.cgi?id=6732
standalone testcase

Attached a standalone testcase that demonstrates the issue.

This bug is a regression that prevents using LD_AUDIT with any executables that
link against libm.so on some of the recent Linux distributions (and most of
g++-compiled applications link with libm).

I'm not familiar with the rtld guts at all, but here's my understanding of what
happens:

1. elf_machine_lazy_rel calls the ifunc resolver
2. the resolver calls another function in the dso
3. the plt entry(?) has been instrumented for dso profiling, and calls
_dl_profile_fixup.
4. _dl_profile_fixup accesses l->l_reloc_result, which is NULL and will be
allocated later in _dl_relocate_object

It seems to me that instrumenting for profiling is not necessary if the audit
library does not export la_plt* routines. Thus, I think there are two separate
issues here.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]