glibc/stdio-common
Adhemerval Zanella Netto 3020f72618 libio: Remove the usage of __libc_IO_vtables
Instead of using a special ELF section along with a linker script
directive to put the IO vtables within the RELRO section, the libio
vtables are all moved to an array marked as data.relro (so linker
will place in the RELRO segment without the need of extra directives).

To avoid static linking namespace issues and including all vtable
referenced objects, all required function pointers are set to weak alias.

Checked on x86_64-linux-gnu, i686-linux-gnu, and aarch64-linux-gnu.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2023-03-27 13:57:55 -03:00
..
bits Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
_i18n_number.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
_itoa.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
_itowa.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
_itowa.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
asprintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
bug1.c
bug1.input
bug2.c
bug3.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
bug4.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
bug5.c Fix hardcoded /tmp paths in testing (bug 13888). 2018-06-26 21:48:48 +00:00
bug6.c
bug6.input
bug7.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
bug8.c
bug9.c
bug10.c
bug11.c
bug12.c
bug13.c
bug14.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
bug16.c
bug17.c
bug18.c
bug18a.c
bug19.c
bug19a.c
bug20.c
bug21.c Use C99-compliant scanf under _GNU_SOURCE with modern compilers. 2019-01-03 11:12:39 -05:00
bug22.c Remove most vfprintf width/precision-dependent allocations (bug 14231, bug 26211). 2020-07-07 14:54:12 +00:00
bug23-2.c
bug23-3.c
bug23-4.c
bug23.c
bug24.c
bug25.c
bug26.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
bug-vfprintf-nargs.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ctermid.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
cuserid.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Depend
dprintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
err_map.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
errlist-compat-data.h stdio: Remove the usage of $(fno-unit-at-a-time) for errlist.c 2022-05-13 10:54:41 -03:00
errlist-data-gen.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
errlist-data.S stdio: Remove the usage of $(fno-unit-at-a-time) for errlist.c 2022-05-13 10:54:41 -03:00
errlist.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
errname.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
errnobug.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
flockfile.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fprintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
ftrylockfile.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
funlockfile.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
fxprintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
gentempfd.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
getline.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
getw.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
grouping_iterator.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
grouping_iterator.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
iovfscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
isoc23_fscanf.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
isoc23_scanf.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
isoc23_sscanf.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
isoc23_vfscanf.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
isoc23_vscanf.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
isoc23_vsscanf.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
isoc99_fscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
isoc99_scanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
isoc99_sscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
isoc99_vfscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
isoc99_vscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
isoc99_vsscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
itoa-digits.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
itoa-udigits.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
itowa-digits.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Makefile stdio-common: tests: don't double-define _FORTIFY_SOURCE 2023-03-27 09:12:45 -04:00
perror.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_buffer_as_file.c libio: Remove the usage of __libc_IO_vtables 2023-03-27 13:57:55 -03:00
printf_buffer_as_file.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_buffer_done.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_buffer_flush.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_buffer_pad_1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_buffer_putc_1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_buffer_puts_1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_buffer_to_file.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_buffer_to_file.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_buffer_write.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_buffer-char.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_buffer-wchar_t.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_fp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_fphex.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_function_invoke.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf_size.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf-parse.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf-parsemb.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf-parsewc.c
printf-prs.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
printf.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
psiginfo-data.h
psiginfo-define.h
psiginfo.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
psignal.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
putw.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
reg-modifier.c Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions 2023-03-27 13:57:55 -03:00
reg-printf.c Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions 2023-03-27 13:57:55 -03:00
reg-type.c Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions 2023-03-27 13:57:55 -03:00
remove.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
rename.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
renameat2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
renameat.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
scanf1.c
scanf2.c
scanf3.c
scanf4.c
scanf5.c
scanf7.c
scanf8.c
scanf9.c
scanf10.c
scanf11.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
scanf12.c
scanf12.input
scanf13.c Fix missing NUL terminator in stdio-common/scanf13 test 2022-10-28 11:16:51 +01:00
scanf14.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
scanf14a.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
scanf15.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
scanf16.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
scanf16a.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
scanf17.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
scanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
siglist-gen.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
siglist.S stdio: Remove the usage of $(fno-unit-at-a-time) for siglist.c 2022-05-13 10:54:41 -03:00
snprintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sprintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
sscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
stdio_ext.h Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tempnam.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tempname.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
temptest.c
test_rdwr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-fseek.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-fwrite.c
test-popen.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-strerr.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
test-vfprintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tfformat.c stdio-common: Add a few double formatting tests [BZ #27245] 2021-02-03 16:47:47 -03:00
tiformat.c
tllformat.c
tmpfile64.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tmpfile.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tmpnam_r.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tmpnam.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
translated_number_width.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-bz11319-fortify2.c Use PRINTF_FORTIFY instead of _IO_FLAGS2_FORTIFY (bug 11319) 2018-12-05 18:15:43 -02:00
tst-bz11319.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-cookie.c
tst-dprintf-length.c libio: Update number of written bytes in dprintf implementation 2023-01-31 22:22:02 +01:00
tst-errno-manual.py Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-fdopen.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
tst-ferror.c
tst-ferror.input
tst-fgets.c
tst-fileno.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-fmemopen2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-fmemopen3.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-fmemopen4.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-fmemopen.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-fphex-wide.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-fphex.c
tst-fseek.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-fwrite.c
tst-gets.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-gets.input
tst-grouping2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-grouping3.c Account for grouping in printf width (bug 30068) 2023-02-06 10:20:39 -05:00
tst-grouping_iterator.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-grouping.c
tst-long-dbl-fphex.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-memstream-string.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-obprintf.c
tst-perror.c Remove "Contributed by" lines 2021-09-03 22:06:44 +05:30
tst-popen2.c
tst-popen3.c stdio: Do not ignore posix_spawn error on popen (BZ #29016) 2023-02-14 15:30:35 -03:00
tst-popen.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-printf-binary-main.c Update printf %b/%B C2x support 2023-03-14 16:58:35 +00:00
tst-printf-binary.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-printf-bz18872.sh Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-printf-bz25691.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-printf-fp-free.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-printf-fp-leak.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-printf-oct.c Account for octal marker in %#o format 2023-01-30 16:56:07 +01:00
tst-printf-round.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-printf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-printf.sh Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-printfsz-islongdouble.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-printfsz-islongdouble.sh Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-printfsz.c
tst-put-error.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-renameat2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-rndseek.c Don't reduce test timeout to less than default 2018-10-17 09:34:13 +02:00
tst-scanf-binary-c2x.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
tst-scanf-binary-c11.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
tst-scanf-binary-gnu11.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
tst-scanf-binary-gnu89.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
tst-scanf-binary-main.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
tst-scanf-round.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-setvbuf1.c
tst-setvbuf1.expect
tst-sprintf2.c
tst-sprintf3.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-sprintf-errno.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-sprintf.c
tst-sscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-swprintf.c
tst-swscanf.c
tst-tmpnam.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-unbputc.c
tst-unbputc.sh Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-ungetc.c Avoid insecure usage of tmpnam in tests. 2018-07-18 21:04:12 +00:00
tst-unlockedio.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-vfprintf-mbs-prec.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-vfprintf-user-type.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-vfprintf-width-i18n.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-vfprintf-width-prec-alloc.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-vfprintf-width-prec.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-wc-printf.c
tstdiomisc.c
tstgetln.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tstgetln.input
tstscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tstscanf.input
Versions C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
vfprintf-internal.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vfprintf-process-arg.c Account for grouping in printf width (bug 30068) 2023-02-06 10:20:39 -05:00
vfprintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vfscanf-internal.c C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
vfscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vfwprintf-internal.c Add __v*printf_internal with flags arguments 2018-12-05 18:15:42 -02:00
vfwprintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vfwscanf-internal.c Add __vfscanf_internal and __vfwscanf_internal with flags arguments. 2018-12-05 18:15:42 -02:00
vfwscanf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vprintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wprintf_buffer_as_file.c libio: Remove the usage of __libc_IO_vtables 2023-03-27 13:57:55 -03:00
wprintf_buffer_done.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wprintf_buffer_flush.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wprintf_buffer_pad_1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wprintf_buffer_putc_1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wprintf_buffer_puts_1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wprintf_buffer_to_file.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wprintf_buffer_write.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wprintf_function_invoke.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
xbug.c
Xprintf_buffer_done.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Xprintf_buffer_flush.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Xprintf_buffer_pad_1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Xprintf_buffer_putc_1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Xprintf_buffer_puts_1.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Xprintf_buffer_write.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Xprintf_function_invoke.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00