glibc/scripts
Szabolcs Nagy bfe04789a8 elf: Avoid RELATIVE relocs in __tunables_init
With static pie linking pointers in the tunables list need
RELATIVE relocs since the absolute address is not known at link
time. We want to avoid relocations so the static pie self
relocation can be done after tunables are initialized.

This is a simple fix that embeds the tunable strings into the
tunable list instead of using pointers.  It is possible to have
a more compact representation of tunables with some additional
complexity in the generator and tunable parser logic.  Such
optimization will be useful if the list of tunables grows.

There is still an issue that tunables_strdup allocates and the
failure handling code path is sufficiently complex that it can
easily have RELATIVE relocations.  It is possible to avoid the
early allocation and only change environment variables in a
setuid exe after relocations are processed.  But that is a
bigger change and early failure is fatal anyway so it is not
as critical to fix right away. This is bug 27181.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2021-01-21 14:05:15 +00:00
..
abi-versions.awk Remove bitrotten --enable-oldest-abi (bug 6652). 2014-09-16 17:45:03 +00:00
abilist.awk scripts/abilist.awk: Handle special _end symbol for Hurd 2018-11-30 22:22:57 +01:00
backport-support.sh Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
build-many-glibcs.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check-c++-types.sh Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check-execstack.awk check-execstack: Permit sysdeps to xfail some libs 2018-07-20 03:28:14 +02:00
check-initfini.awk Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check-installed-headers.sh Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check-local-headers.sh Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check-localplt.awk Extend local PLT reference check 2015-07-29 11:58:06 -07:00
check-obsolete-constructs.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check-textrel.awk
check-wrapper-headers.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
check-wx-segment.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
config-uname.sh
config.guess Update miscellaneous files from upstream sources. 2019-01-01 00:52:59 +00:00
config.sub Update miscellaneous files from upstream sources. 2019-01-01 00:52:59 +00:00
cpp Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
cross-test-ssh.sh Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
documented.sh Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
evaluate-test.sh Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
firstversions.awk
gen-as-const.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
gen-libc-abis Make shebang interpreter directives consistent 2016-01-07 04:03:21 -05:00
gen-libc-modules.awk Auto-generate libc-modules.h 2014-11-19 12:16:00 +05:30
gen-posix-conf-vars.awk Remove uses of sprintf in gen-posix-conf-vars.awk 2015-01-02 11:16:35 +05:30
gen-rrtypes.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
gen-sorted.awk Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
gen-tunables.awk elf: Avoid RELATIVE relocs in __tunables_init 2021-01-21 14:05:15 +00:00
glibcextract.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
haveversions.awk Don't build libnsl for new ABIs 2018-09-24 10:23:10 +02:00
install-sh Update miscellaneous files from upstream sources. 2018-12-06 17:21:47 +00:00
lib-names.awk Clean up gnu/lib-names.h generation (bug 14171). 2014-09-26 17:33:04 +00:00
list-fixed-bugs.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
list-sources.sh Update scripts/list-sources.sh for ports repository merge. 2014-06-26 21:30:07 +00:00
localplt.awk Support PLT and GOT references in local PIC check 2015-10-14 06:00:02 -07:00
merge-test-results.sh Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mkinstalldirs Update miscellaneous files from upstream sources. 2018-12-06 17:21:47 +00:00
move-if-change Sync move-if-change from Gnulib 2021-01-02 12:43:58 -08:00
move-symbol-to-libc.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
pylint Implement benchmarking script in python 2014-03-21 17:32:50 +05:30
pylintrc pylintrc: disable reports 2015-11-11 13:41:57 -05:00
rellns-sh Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
soversions.awk Remove bitrotten --enable-oldest-abi (bug 6652). 2014-09-16 17:45:03 +00:00
sysd-rules.awk sysd-rules: Cut down the number of rtld-% pattern rules 2016-09-20 10:41:05 +02:00
test_printers_common.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test_printers_exceptions.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
test-installation.pl Update copyright dates not handled by scripts/update-copyrights. 2021-01-02 12:17:34 -08:00
update-abilist.sh Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
update-copyrights Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
vcstocl_quirks.py Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
versionlist.awk Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
versions.awk Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00