diff options
author | Adhemerval Zanella Netto <adhemerval.zanella@linaro.org> | 2022-12-27 18:11:43 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2023-03-27 13:57:55 -0300 |
commit | 3020f72618e4f1d7338cd42b8bc7b2813e961b5a (patch) | |
tree | d61cc39cb5aa140de5331cd1a2ba6ab796db0c81 /libio/libio-macros.sym | |
parent | f65ca70deaf38db4ca12458e74cefd8ad9063956 (diff) | |
download | glibc-3020f72618e4f1d7338cd42b8bc7b2813e961b5a.tar.gz glibc-3020f72618e4f1d7338cd42b8bc7b2813e961b5a.tar.xz glibc-3020f72618e4f1d7338cd42b8bc7b2813e961b5a.zip |
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>
Diffstat (limited to 'libio/libio-macros.sym')
-rw-r--r-- | libio/libio-macros.sym | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libio/libio-macros.sym b/libio/libio-macros.sym new file mode 100644 index 0000000000..cfb5cf2841 --- /dev/null +++ b/libio/libio-macros.sym @@ -0,0 +1,7 @@ +#include <libioP.h> + +-- + +IO_JUMP_T_SIZE sizeof (struct _IO_jump_t) +IO_FILE_JUMPS_OFFSET sizeof (struct _IO_jump_t) * IO_FILE_JUMPS +IO_WFILE_JUMPS_OFFSET sizeof (struct _IO_jump_t) * IO_WFILE_JUMPS |