This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug dynamic-link/19178] ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA conflict
- From: "mark.hatle at windriver dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 28 Oct 2015 14:37:33 +0000
- Subject: [Bug dynamic-link/19178] ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA conflict
- Auto-submitted: auto-generated
- References: <bug-19178-131 at http dot sourceware dot org/bugzilla/>
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.