1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-11-25 07:49:18 +00:00
freebsd/libexec
Fangrui Song e6c7696203 rtld: Fix i386/amd64 TP offset when p_vaddr % p_align != 0
For a Variant II architecture, the TP offset of a TLS symbol is st_value -
tlsoffset + r_addend. tlsoffset is computed by either calculate_tls_offset
or calculate_first_tls_offset.

The return value of calculate_first_tls_offset is the smallest integer
satisfying res >= size and (-res) % p_align = p_vaddr % p_align
(= p_offset % p_align).  (The formula is a bit contrived. The basic idea
is to subtract the minimum integer from size + align - 1 so that the result
ihas the expected remainder.)

Reviewed by:	kib
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D31538
Differential revision:	https://reviews.freebsd.org/D31541
2021-08-16 13:55:34 +03:00
..
atf
atrun
blacklistd-helper
bootpd
comsat
dma
fingerd
flua
ftpd ftpd: delete dead code 2021-07-27 12:18:08 -06:00
getty
hyperv
mail.local
makewhatis.local
mknetid
phttpget
pppoed
rbootd
rc Add zfskeys rc.d script for auto-loading encryption keys 2021-07-28 16:26:45 +00:00
revnetgroup
rpc.rquotad
rpc.rstatd
rpc.rusersd
rpc.rwalld
rpc.sprayd
rtld-elf rtld: Fix i386/amd64 TP offset when p_vaddr % p_align != 0 2021-08-16 13:55:34 +03:00
rtld-elf32
save-entropy
smrsh
talkd
tcpd
telnetd
tests
tftp-proxy
tftpd
ulog-helper
ypxfr
Makefile
Makefile.amd64
Makefile.i386
Makefile.inc