glibc/sysdeps/generic
H.J. Lu 62da1e3b00 Add ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA to x86
With copy relocation, address of protected data defined in the shared
library may be external.   When there is a relocation against the
protected data symbol within the shared library, we need to check if we
should skip the definition in the executable copied from the protected
data.  This patch adds ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA and defines
it for x86.  If ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA isn't 0, do_lookup_x
will skip the data definition in the executable from copy reloc.

	[BZ #17711]
	* elf/dl-lookup.c (do_lookup_x): When UNDEF_MAP is NULL, which
	indicates it is called from do_lookup_x on relocation against
	protected data, skip the data definion in the executable from
	copy reloc.
	(_dl_lookup_symbol_x): Pass ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA,
	instead of ELF_RTYPE_CLASS_PLT, to do_lookup_x for
	EXTERN_PROTECTED_DATA relocation against STT_OBJECT symbol.
	* sysdeps/generic/ldsodefs.h * (ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA):
	New.  Defined to 4 if DL_EXTERN_PROTECTED_DATA is defined,
	otherwise to 0.
	* sysdeps/i386/dl-lookupcfg.h (DL_EXTERN_PROTECTED_DATA): New.
	* sysdeps/i386/dl-machine.h (elf_machine_type_class): Set class
	to ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA for R_386_GLOB_DAT.
	* sysdeps/x86_64/dl-lookupcfg.h (DL_EXTERN_PROTECTED_DATA): New.
	* sysdeps/x86_64/dl-machine.h (elf_machine_type_class): Set class
	to ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA for R_X86_64_GLOB_DAT.
2015-03-31 05:16:57 -07:00
..
bits Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
net Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
netinet Define ETH_ALEN in generic <netinet/if_ether.h>. 2015-03-04 16:11:31 -08:00
nfs Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sys Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
_G_config.h Remove _G_OPEN64, _G_LSEEK64, _G_MMAP64, _G_FSTAT64 from _G_config.h. 2012-10-18 18:50:43 +00:00
_itoa.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
a.out.h
abort-instr.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
aio_misc.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
allocalim.h
asm-syntax.h
c++-types.data Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
confstr.h
device-nrs.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dirstream.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-cache.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-dtprocnum.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-fptr.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-hash.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-irel.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-librecon.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-lookupcfg.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-machine.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-osinfo.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-procinfo.c
dl-procinfo.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-sysdep.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
dl-tls.h
dwarf2.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
elide.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
eloop-threshold.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
entry.h
errqueue.h
exit-thread.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fd_to_filename.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fips-private.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
fork.h
fpu_control.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
frame.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
framestate.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
gcc-compat.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
gccframe.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
get-rounding-mode.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
gmp-mparam.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
hp-timing-common.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
hp-timing.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ifreq.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ifunc-sel.h Move sysdeps/generic/elf/* to sysdeps/generic 2012-03-19 21:04:21 +01:00
intr-msg.h
inttypes.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ld.abilist Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
ldconfig.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
ldsodefs.h Add ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA to x86 2015-03-31 05:16:57 -07:00
libanl.abilist Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
libBrokenLocale.abilist Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
libc-mmap.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
libc.abilist Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
libcidn.abilist Add missed zero length files in previous abilist commit. 2012-04-28 15:38:24 -04:00
libcrypt.abilist Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
libdl.abilist Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
libm-test-ulps
libm.abilist Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
libnss_compat.abilist Add missed zero length files in previous abilist commit. 2012-04-28 15:38:24 -04:00
libnss_db.abilist Add missed zero length files in previous abilist commit. 2012-04-28 15:38:24 -04:00
libnss_dns.abilist Add missed zero length files in previous abilist commit. 2012-04-28 15:38:24 -04:00
libnss_files.abilist Add missed zero length files in previous abilist commit. 2012-04-28 15:38:24 -04:00
libnss_hesiod.abilist Add missed zero length files in previous abilist commit. 2012-04-28 15:38:24 -04:00
libnss_nis.abilist Add missed zero length files in previous abilist commit. 2012-04-28 15:38:24 -04:00
libnss_nisplus.abilist Add missed zero length files in previous abilist commit. 2012-04-28 15:38:24 -04:00
libpthread.abilist Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
libresolv.abilist Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
librt.abilist Add placeholder c++-types.data and *.abilist files. 2015-02-13 15:41:34 -08:00
local-setxid.h * sysdeps/posix/spawni.c (__spawni): Use local_seteuid and 2006-06-04 22:17:06 +00:00
localplt.data Add hidden __tls_get_addr/___tls_get_addr alias 2014-12-21 09:27:11 -08:00
machine-gmon.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
machine-lock.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
machine-sp.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Makefile Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
malloc-machine.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
malloc-sysdep.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
math_ldbl_opt.h * math/math.h [__NO_LONG_DOUBLE_MATH] (__nldbl_nexttowardf): New 2006-01-14 12:10:44 +00:00
math_ldbl.h
math_private.h Fix libm feupdateenv namespace (bug 17748). 2015-01-07 19:01:20 +00:00
math-tests.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
memcopy.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
memusage.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
not-cancel.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
nscd-types.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
pagecopy.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
paths.h generic paths.h: remove old paths from _PATH_STDPATH 2012-11-04 10:11:39 +01:00
profil-counter.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
pty-private.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
register-dump.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
rtld-lowlevel.h Jakub Jelinek <jakub@redhat.com> 2006-10-10 00:51:29 +00:00
safe-fatal.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sigcontextinfo.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
siglist.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
sigset-cvt-mask.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stackguard-macros.h BZ #15754: Fix test case for ARM. 2013-09-23 01:44:38 -04:00
stackinfo.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
stdint.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
symbol-hacks.h Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
sysdep-cancel.h * elf/dl-sym.c (do_sym): Use RTLD_SINGLE_THREAD_P. 2006-10-29 21:46:32 +00:00
sysdep.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
thread_state.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tininess.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tls-macros.h * elf/tls-macros.h: #include_next <tls-macros.h> to get a sysdeps 2005-03-13 09:09:05 +00:00
tls.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
tst-audit.h Move testsuite audit definitions to sysdeps tst-audit.h files. 2012-07-26 11:29:07 +00:00
tst-stack-align.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
unsecvars.h * malloc/malloc.c (_int_malloc): Remove unused any_larger variable. 2006-10-11 16:29:13 +00:00
unwind-dw2-fde-glibc.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
unwind-dw2-fde.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
unwind-dw2-fde.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
unwind-dw2.c Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
unwind-pe.c Update. 2004-03-10 10:04:19 +00:00
unwind-pe.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
unwind-resume.h ARM: Consolidate with generic unwinder wrapper code 2015-01-05 15:42:16 -08:00
unwind.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
utmp-equal.h Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00