[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/20995] Read-only data in ELF libraries may be remapped writable
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime |
Date: |
Tue, 28 Feb 2017 20:53:50 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=20995
--- Comment #31 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot
gnu.org> ---
The binutils-2_28-branch branch has been updated by Alan Modra
<address@hidden>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=cc6b110b92572318bd32acf914b0fce9c4bb0a6f
commit cc6b110b92572318bd32acf914b0fce9c4bb0a6f
Author: Alan Modra <address@hidden>
Date: Tue Feb 28 10:38:51 2017 +1030
Nios2 dynobj handling fixes
A number of places in elf32-nios.c created dynamic sections but didn't
set the hash table dynobj. That meant we could have duplicate dynamic
sections connected to a number of bfds, so size_dynamic_sections
didn't properly discard or allocate contents.
Also, the entire set of dynamic sections was created in check_relocs
on seeing GOT relocs, when only .got related sections are needed,
probably done to hide segfaults later in finish_dynamic_sections.
The patch fixes these issues and makes the assembler emit errors when
nios2 lacks the necessary pc-relative relocs for subtraction
expressions, rather than silently generating bad code.
eg. ld-elf/merge. I've also tidied uses of elf32_nios2_hash_table and
elf_hash_table.
bfd/
PR 20995
* elf32-nios2.c (nios2_elf32_relocate_section): Use htab
rather than elf32_nios2_hash_table or elf_hash_table.
(create_got_section): Likewise.
(nios2_elf32_finish_dynamic_symbol): Likewise.
(nios2_elf32_adjust_dynamic_symbol): Likewise.
(nios2_elf32_size_dynamic_sections): Likewise.
(nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot
vars. Use htab equivalents directly instead. Don't create
all dynamic sections on needing just the GOT. Use a goto
rather than a fall-through with reloc test. Ensure
htab->dynobj is set when making dynamic sreloc section.
(nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab
equivalent directly instead. Don't segfault on looking for
.dynamic when dynamic sections have not been created. Don't
segfault on .got.plt being discarded.
(nios2_elf32_size_dynamic_sections): Delete plt and got vars.
Don't set "relocs" on .rela.plt. Do handle .sbss. Delete
fixme and another not so relevant comment.
(nios2_elf_add_symbol_hook): Delete dynobj var. If not
already set, set hash table dynobj on creating .sbss.
gas/
* config/tc-nios2.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define.
ld/
* testsuite/ld-elf/merge.d: xfail for nios.
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime, (continued)
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime, sandra at codesourcery dot com, 2017/02/25
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime, amodra at gmail dot com, 2017/02/25
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime, sandra at codesourcery dot com, 2017/02/26
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime, amodra at gmail dot com, 2017/02/26
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime, amodra at gmail dot com, 2017/02/26
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime, amodra at gmail dot com, 2017/02/26
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime, amodra at gmail dot com, 2017/02/26
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime, sandra at codesourcery dot com, 2017/02/26
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime, amodra at gmail dot com, 2017/02/26
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime, cvs-commit at gcc dot gnu.org, 2017/02/27
- [Bug ld/20995] Read-only data in ELF libraries may be remapped writable at runtime,
cvs-commit at gcc dot gnu.org <=