diff options
| author | H.J. Lu <hjl.tools@gmail.com> | 2024-09-07 08:32:32 -0700 |
|---|---|---|
| committer | H.J. Lu <hjl.tools@gmail.com> | 2024-10-01 07:31:25 +0800 |
| commit | 9dfea3de7f690bff70e3c6eb346b9ad082bb2e35 (patch) | |
| tree | a49afb7e040976036fcde8ee50c76703b504a554 /libio/Makefile | |
| parent | 97aa92263a151d12286d27d327edc35475fe521c (diff) | |
| download | glibc-9dfea3de7f690bff70e3c6eb346b9ad082bb2e35.tar.xz glibc-9dfea3de7f690bff70e3c6eb346b9ad082bb2e35.zip | |
libio: Set _vtable_offset before calling _IO_link_in [BZ #32148]
Since _IO_vtable_offset is used to detect the old binaries, set it
in _IO_old_file_init_internal before calling _IO_link_in which checks
_IO_vtable_offset. Add a glibc 2.0 test with copy relocation on
_IO_stderr_@GLIBC_2.0 to verify that fopen won't cause memory corruption.
This fixes BZ #32148.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
Diffstat (limited to 'libio/Makefile')
| -rw-r--r-- | libio/Makefile | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libio/Makefile b/libio/Makefile index ae90e343ad..ae704d8767 100644 --- a/libio/Makefile +++ b/libio/Makefile @@ -293,11 +293,18 @@ endif ifeq ($(build-shared),yes) aux += oldfileops oldstdfiles tests += \ + tst-fopen-compat \ tst-stderr-compat \ # tests tests-2.0 += \ + tst-fopen-compat \ tst-stderr-compat \ # tests-2.0 + +tst-fopen-compat-ARGS = tst-fopen-compat.c +# Disable PIE to trigger copy relocation. +CFLAGS-tst-fopen-compat.c += -fno-pie +tst-fopen-compat-no-pie = yes endif shared-only-routines = oldiofopen oldiofdopen oldiofclose oldfileops \ |
