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
bug4.c
bug5.c
bug6.c
bug6.input
bug7.c
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
bug22.c
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
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
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
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
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
vfwprintf.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
vfwscanf-internal.c
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