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/19178] ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA conflict


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

Mark Hatle <mark.hatle at windriver dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mark.hatle at windriver dot com

--- Comment #3 from Mark Hatle <mark.hatle at windriver dot com> ---
The interface between glibc's rtld (ld.so) and prelink is determined by the
setting of the LD_TRACE_PRELINKING option.  This option in turn sets:

GLRO_dl_debug_mask |= DL_DEBUG_PRELINK

as well as defines the GLRO(dl_trace_prelink_map).

Since the thing that matters in this case is that both the prelinker and glibc
agree on the common values for the 'type_class' field.  It may be reasonable to
do a conversion if DL_DEBUG_PRELINK is enabled to matching prelink values.

This would permit the same values to be used in both older and newer prelink.


The alternative is to do something like:

#define ELF_RTYPE_CLASS_PLT                    1
#define ELF_RTYPE_CLASS_COPY                   2
#define ELF_RTYPE_CLASS_TLS                    4
#define ELF_RTYPE_CLASS_IFUNC                  8
#define ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA  16 (was 4)

This would preserve previous behavior (glibc 2.21 and before) and add the new
type as '16'.

I do not know though if this is "ok", in that the users of
ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA inside of glibc itself could be affected.
 If this value is used internally -- it shouldn't cause any problems, otherwise
we've got the potential issue of other things not understanding the value was
changed.

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