glibc/scripts
Carlos O'Donell ce035c6e90 abilist.awk: Treat .tdata like .tbss and reject unknown combinations.
Mathieu Desnoyers ran into an issue with his rseq patch where he
was the first person to add weak thread-local data and this
resulted in an ABI list update with entries like this:
"GLIBC_2.29 w ? D .tdata 0000000000000020".

The weakness of the symbol has nothing to do with the DSOs ABI
and so we should not write anything about weak symbols here. The
.tdata entries should be treated exactly like .tbss entries and
the output should have been: "GLIBC_2.29 __rseq_abi T 0x20"

This change makes abilist.awk handle .tdata just like .tbss,
while at the same time adding an error case for the default, and
the unknown line cases.  We never want anyone to be able to add
such entries to any ABI list files and should see an immediate
error and consult with experts.

Tested by Mathieu Desnoyers <mathieu.desnoyers@efficios.com> with
the rseq patch set and 'make update-all-abi'.

Tested myself with 'make update-all-abi' on x86_64 with no
changes.

Signed-off-by: Carlos O'Donell <carlos@redhat.com>
2018-11-26 21:23:50 -05:00
..
abi-versions.awk
abilist.awk abilist.awk: Treat .tdata like .tbss and reject unknown combinations. 2018-11-26 21:23:50 -05:00
backport-support.sh
build-many-glibcs.py Touch more glibc source files in build-many-glibcs.py. 2018-11-26 23:52:43 +00:00
check-c++-types.sh
check-execstack.awk
check-initfini.awk
check-installed-headers.sh
check-local-headers.sh
check-localplt.awk
check-textrel.awk
config-uname.sh
config.guess
config.sub
cpp
cross-test-ssh.sh
documented.sh
evaluate-test.sh
firstversions.awk
gen-as-const.awk
gen-libc-abis
gen-libc-modules.awk
gen-posix-conf-vars.awk
gen-py-const.awk
gen-rrtypes.py
gen-sorted.awk
gen-tunables.awk
haveversions.awk
install-sh
lib-names.awk
list-fixed-bugs.py
list-sources.sh
localplt.awk
merge-test-results.sh
mkinstalldirs
move-if-change
output-format.sed
pylint
pylintrc
rellns-sh
soversions.awk
sysd-rules.awk
test-installation.pl
test_printers_common.py
test_printers_exceptions.py
update-abilist.sh
update-copyrights
versionlist.awk
versions.awk