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/23734] New: la_symbind*() doesn't get called when LD_BIND_NOW is set


https://sourceware.org/bugzilla/show_bug.cgi?id=23734

            Bug ID: 23734
           Summary: la_symbind*() doesn't get called when LD_BIND_NOW is
                    set
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: critical
          Priority: P2
         Component: dynamic-link
          Assignee: unassigned at sourceware dot org
          Reporter: woodard at redhat dot com
  Target Milestone: ---

If you tell the linker to bind now and you have an audit library la_symbind()
isn't called.

The problem appears to be that while there is a hook for calling the audit libs
when lazy binding is on, there is no hook for la_symbind when the symbols are
bound at the time of module loading.

1. construct a simple audit library that prints something out when
la_symbind*() is called. Example source code for this can be found in the ld.so
man page and in the glibc test cases.
2. $ LD_BIND_NOW=1 LD_AUDIT=audit.so ./foo

This problem seems to exist in all versions of glibc.

Actual results:
la_symbind isn't called

Expected results:
la_symbind is called.

I suspect that one of the audit failures noted in
https://sourceware.org/bugzilla/show_bug.cgi?id=20708 may already have
unconvered this problem.

This is preventing the most straightforward workaround to
https://sourceware.org/bugzilla/show_bug.cgi?id=23690 If this can be fixed,
then fixing this new problem becomes less urgent.

-- 
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]