[Bug dynamic-link/19178] New: ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA conflict
hjl.tools at gmail dot com
sourceware-bugzilla@sourceware.org
Wed Oct 28 10:33:00 GMT 2015
https://sourceware.org/bugzilla/show_bug.cgi?id=19178
Bug ID: 19178
Summary: ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA conflict
Product: glibc
Version: 2.22
Status: NEW
Severity: normal
Priority: P2
Component: dynamic-link
Assignee: unassigned at sourceware dot org
Reporter: hjl.tools at gmail dot com
Target Milestone: ---
sysdeps/generic/ldsodefs.h has
#define ELF_RTYPE_CLASS_PLT 1
#ifndef DL_NO_COPY_RELOCS
# define ELF_RTYPE_CLASS_COPY 2
#else
# define ELF_RTYPE_CLASS_COPY 0
#endif
/* If DL_EXTERN_PROTECTED_DATA is defined, address of protected data
defined in the shared library may be external, i.e., due to copy
relocation. */
#ifdef DL_EXTERN_PROTECTED_DATA
# define ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA 4
#else
# define ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA 0
#endif
and _dl_debug_bindings in elf/dl-lookup.c has
if (value->s)
{
if (__glibc_unlikely (ELFW(ST_TYPE) (value->s->st_info)
== STT_TLS))
type_class = 4;
else if (__glibc_unlikely (ELFW(ST_TYPE) (value->s->st_info)
== STT_GNU_IFUNC))
type_class |= 8;
}
if (conflict
|| GLRO(dl_trace_prelink_map) == undef_map
|| GLRO(dl_trace_prelink_map) == NULL
|| type_class >= 4)
{
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list