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/20019] NULL pointer dereference in libc.so.6 IFUNC due to uninitialized GOT


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

--- Comment #9 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Florian Weimer from comment #8)
> I think the assumption in this patch is probably wrong: With BIND_NOW, the
> CPU feature bits are needed before __libc_start_main is called, so deferring
> initialization to this stage of process startup does not work.

The problem is that relocations in libbar.so are processed before
relocations in libc.so.  My change removed:

# define INIT_ARCH() \
  do                                                    \
    if (__cpu_features.kind == arch_kind_unknown)       \
      __init_cpu_features ();                           \
  while (0)

and assumed that relocations in libc.so are processed first.

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