This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH 1/2] Fix several mix up between octets and bytes in ELF program headers
- From: Nick Clifton <nickc at redhat dot com>
- To: Christian Eggers <ceggers at gmx dot de>, binutils at sourceware dot org
- Cc: amodra at gmail dot com
- Date: Mon, 2 Mar 2020 14:17:46 +0000
- Subject: Re: [PATCH 1/2] Fix several mix up between octets and bytes in ELF program headers
- References: <20200215193050.22717-1-ceggers@gmx.de> <20200215193050.22717-2-ceggers@gmx.de>
Hi Christian,
> include/
> * elf/internal.h (struct elf_internal_phdr): Add unit (octets)
> to several member field comments.
> (Elf_Internal_Shdr): likewise.
>
> bfd/
> * elf.c (_bfd_elf_make_section_from_shdr): Introduce new temp
> opb. Divide Elf_Internal_Shdr::sh_addr by opb when setting
> section LMA/VMA.
> (_bfd_elf_make_section_from_phdr): Similarly.
> (elf_fake_sections): Fix calculation of
> Elf_Internal_shdr::sh_addr from section VMA.
> (_bfd_elf_map_sections_to_segments): Fix mixup between octets
> and bytes.
> (assign_file_positions_for_load_sections): Fix calculations of
> Elf_Internal_shdr::p_vaddr and p_paddr from section LMA/VMA. Fix
> comparison between program header address and section LMA.
> (assign_file_positions_for_non_load_sections): Likewise.
> (rewrite_elf_program_header): Likewise. Introduce new temp opb.
> (IS_CONTAINED_BY_VMA): Add parameter opb.
> (IS_CONTAINED_BY_LMA,IS_SECTION_IN_INPUT_SEGMENT,
> INCLUDE_SECTION_IN_SEGMENT): Likewise.
> (copy_elf_program_header): Update call to
> ELF_SECTION_IN_SEGMENT(). Fix calculations of p_addr_valid and
> p_vaddr_offset.
> * elflink.c (elf_link_add_object_symbols): Multiply section VMA
> with octets per byte when comparing against p_vaddr.
>
> ld/
> * ldexp.c (fold_name): Return SIZEOF_HEADERS in bytes.
Approved - please apply - but with one change:
> + bfd_vma p_start = p->p_paddr; /* octets */
Please could yoy change the format of these comments so that they follow
the GNU Coding Standard guidelines ? Ie, please start with a capital
letter and end with a period:
/* Octets. */
And similarly for you /* bytes */ comments - they should be /* Bytes. */
Thanks.